Exploratory Testing
What Exploratory Testing Actually Means
What Exploratory Testing Actually Means
Exploratory testing is one of the most misunderstood practices in software testing. It is often dismissed as "just clicking around" or reserved for situations where there is no time to write test cases. Neither characterisation is accurate.
The Definition
Cem Kaner, who coined the term, defines exploratory testing as:
"A style of software testing that emphasises the personal freedom and responsibility of the individual tester to continually optimise the quality of their work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project."
In plain terms: learning about the system and testing it happen simultaneously. You design tests as you go, guided by what you observe.
Exploratory Testing vs Scripted Testing
| Scripted Testing | Exploratory Testing |
|---|---|
| Test cases defined in advance | Test design happens during execution |
| Good for known requirements | Good for finding unknown unknowns |
| Deterministic and repeatable | Creative and adaptive |
| Audit trail built-in | Requires session notes for documentation |
| Efficient for regression | Efficient for new features and complex flows |
Both have a place. Scripted tests ensure regression coverage. Exploratory testing finds the bugs that scripts miss.
Why Exploratory Testing Finds More Bugs
Scripted tests verify what developers expected users to do. Exploratory testing finds what happens when they do something unexpected.
Real users:
- Double-click submit buttons
- Paste content from unexpected sources
- Navigate backward mid-flow
- Use mobile keyboards that auto-correct values
- Apply discount codes that have expired
A skilled exploratory tester simulates this unpredictability systematically.
The Tester's Mindset for Exploration
Good exploratory testers are:
- Curious — they ask "what happens if...?" constantly
- Sceptical — they assume edge cases were not considered
- Analytical — they form hypotheses and test them
- Disciplined — they take notes, not just find bugs
The output of exploratory testing is not just bug reports — it is also knowledge about how the system actually behaves, which feeds back into better scripted tests.
💬 Discussion
When was the last time you found a significant bug through exploration that a scripted test would not have found? What made you look there?
Which of the following best describes exploratory testing?
Next Lesson
Session-Based Test Management