You are previewing Explore It!.
O'Reilly logo
Explore It!

Book Description

Uncover surprises, risks, and potentially serious bugs with exploratory testing. Rather than designing all tests in advance, explorers design and execute small, rapid experiments, using what they learned from the last little experiment to inform the next. Learn essential skills of a master explorer, including how to analyze software to discover key points of vulnerability, how to design experiments on the fly, how to hone your observation skills, and how to focus your efforts.

Table of Contents

  1. Explore It!
  2. For the Best Reading Experience...
  3. Table of Contents
  4. Early Praise for Explore It!
  5. Foreword
  6. Acknowledgments
  7. Preface
    1. Who Is This Book For?
    2. How This Book Is Organized
    3. Online Resources
  8. Part 1: Establishing Foundations
  9. Chapter 1: On Testing and Exploration
    1. Two Sides of Testing
    2. Essential Elements of Exploratory Testing
    3. Working in Time-Boxed Sessions
    4. Practice Sessions
  10. Chapter 2: Charter Your Explorations
    1. Chartering the Expedition
    2. A Simple Charter Template
    3. Good Charters
    4. Generating Charters
    5. The Nightmare Headline Game
    6. Planning Charters
    7. Practice Sessions
  11. Chapter 3: Observe the Details
    1. But Did You See the Moonwalking Bear?
    2. Digging Deeper
    3. Testability and Making the Invisible Visible
    4. Consoles and Logs
    5. Practice Sessions
  12. Chapter 4: Find Interesting Variations
    1. Variables Are Things That Vary
    2. Subtle Variables, Big Disasters
    3. Identifying Variables
    4. Variables! They’re Everywhere!
    5. Practice Sessions
  13. Chapter 5: Evaluate Results
    1. Never and Always
    2. Alternative Resources
    3. Approximations
    4. Practice Sessions
  14. Part 2: Adding Dimensions
  15. Chapter 6: Vary Sequences and Interactions
    1. Nouns and Verbs
    2. Random Navigation
    3. Personas
    4. Practice Sessions
  16. Chapter 7: Explore Entities and Their Relationships
    1. Recognizing Entities, Attributes, and Dependencies
    2. CRUD: Create, Read, Update, Delete
    3. Following the Data
    4. Practice Sessions
  17. Chapter 8: Discover States and Transitions
    1. Recognizing States and Events
    2. Diagramming a State Model
    3. Exploring with State Models
    4. Changing the Representation: State Tables
    5. Practice Sessions
  18. Chapter 9: Explore the Ecosystem
    1. Diagramming the Ecosystem
    2. Trust Boundaries
    3. What If?
    4. Follow the Data
    5. Practice Sessions
  19. Part 3: Putting It in Context
  20. Chapter 10: Explore When There Is No User Interface
    1. Exploring an API
    2. Exploring a Programming Language
    3. Exploring a Web Service
    4. Characterizing Bugs
    5. Practice Sessions
  21. Chapter 11: Explore an Existing System
    1. Starting with a Recon Session
    2. Sharing Observations
    3. Interviewing Stakeholders to Gather Questions
    4. Selecting Techniques
    5. Recording Your Findings
    6. What About the Dreaded Unreproducible Bugs?
    7. Practice Sessions
  22. Chapter 12: Explore Requirements
    1. Getting Into the Requirements Meeting
    2. In the Requirements Meeting
    3. Charter During Requirements Discussions
    4. Active Reading
    5. Practice Sessions
  23. Chapter 13: Integrate Exploration Throughout
    1. Exploring as Part of Your Test Strategy
    2. Paired Exploration
    3. Discovering Systemic Sources of Problems
    4. Estimating Exploration
    5. How to Tell When You Have Explored Enough
    6. Debriefing Stakeholders
    7. Capturing Useful Nuggets of Wisdom
    8. Practice Sessions
  24. Appendix 1: Interviewing for Exploratory Testing Skills
    1. Paired Exploratory Testing as Part of an Interview
    2. Assessing the Candidates
  25. Appendix 2: Test Heuristics Cheat Sheet
    1. General Heuristics
    2. Web Heuristics
  26. Bibliography
    1. You May Be Interested In…