Exploratory Testing
Exploratory testing (ET) is simultaneous learning, test design, and test execution [1]. Unlike ad-hoc testing, ET operates within predefined testing parameters — it uses structured heuristics, charters, and sessions to guide the tester’s investigation [2].
ET is not the absence of structure but a different relationship between test design and execution: the tester’s cognitive engagement during testing replaces upfront test case documentation.
ET vs. Ad-Hoc Testing
“Don’t mix ET with Session Based Testing. The plainest definition of exploratory testing is test design and test execution at the same time. ET is an approach, not another testing technique.” — Industry practitioner [3]
| Aspect | Ad-Hoc Testing | Exploratory Testing |
|---|---|---|
| Planning | None | Charter, goals, heuristics |
| Structure | Random, unguided | Structured by techniques and sessions |
| Documentation | None | Session notes, defect logs |
| Reproducibility | Low | Medium (via session reports) |
| Skill dependency | Low | High (domain knowledge, test design intuition) |
What Does ET Look Like in Practice?
Imagine you are testing a coupon system for an e-commerce site. A scripted tester would receive pre-written test cases: “Apply valid coupon → verify 10% discount,” “Apply expired coupon → verify error message,” and so on.
An exploratory tester receives a charter instead:
Explore the coupon system using unusual input combinations to discover pricing errors.
During a 90-minute session, the tester might:
- Apply a valid coupon — it works. But what if the tester applies it twice? The discount doubles. Bug #1.
- Try a coupon on a sale item — the coupon stacks with the sale, creating a negative price. Bug #2.
- Add items to cart, apply coupon, then remove items — the discount stays but the subtotal drops below zero. Bug #3.
- Open two browser tabs, apply different coupons in each — both apply. Bug #4.
None of these scenarios were in any test plan. The tester discovered them by observing the system’s behavior, forming hypotheses (“What if coupons stack?”), and testing those hypotheses immediately. This is the core of ET: learning drives test design in real time.
After the session, the tester writes up the four bugs with reproduction steps and notes which areas were explored — creating accountability without requiring upfront test case documentation.
The Exploration Spectrum
ET and scripted testing are not binary alternatives but endpoints of a continuum [4]:
flowchart LR
L1["Freestyle<br>Tester gets only<br>the test object"]
L2["High Exploration<br>Charter with<br>high-level goals"]
L3["Medium Exploration<br>Charter adds starting<br>points and info"]
L4["Low Exploration<br>Charter contains<br>detailed activities"]
L5["Fully Scripted<br>Steps and test<br>data specified"]
L1 --> L2 --> L3 --> L4 --> L5
style L1 fill:#c8e6c9,stroke:#388e3c
style L2 fill:#dcedc8,stroke:#689f38
style L3 fill:#fff9c4,stroke:#f9a825
style L4 fill:#ffe0b2,stroke:#ef6c00
style L5 fill:#ffccbc,stroke:#e64a19
Each level has distinct strengths [4]:
| Factor | Higher Exploration | Lower Exploration |
|---|---|---|
| Defect detection | Better | — |
| Time efficiency | Better | — |
| Tester motivation | Higher | Lower |
| Adaptability to change | Better | — |
| Traceability | — | Better |
| Conformance verification | — | Better |
| Novice-friendly | — | Better |
Why Exploratory Testing?
The empirical evidence across five controlled experiments consistently shows [5], [6], [7]:
| Finding | Evidence |
|---|---|
| Matches scripted testing in defect detection | No significant difference in 4 of 5 experiments |
| 4-6x more efficient when total effort counted | ET: 4.58h vs. TCT: 19.47h for equivalent results [6] |
| Fewer false positives | TCT produces 2x more false defect reports [5] |
| 88% industry adoption | Mainstream practice, not academic theory [3] |
However, ET consistently achieves lower systematic coverage than scripted testing [8], creating a fundamental trade-off between efficiency and coverage assurance.
Key Topics
Techniques and Heuristics
Structured approaches to guide exploration:
- Whittaker’s Tourist Metaphor (18+ tours across 5 districts)
- Hendrickson’s heuristics (CRUD, Goldilocks, Follow the Data)
- Dynamic application of test design techniques
Session-Based Test Management
Managing ET with accountability:
- Charter + time box + reviewable result + debriefing
- Metrics and reporting
- Degrees of exploration decision framework
Empirical Evidence
Comprehensive effectiveness data:
- Five controlled experiments comparing ET vs. scripted testing
- Industrial case studies and defect detection rates
- The role of tester knowledge and experience
ET in Agile Context
ET fits naturally into agile testing cycles, supplementing scripted regression and progression tests at every level [9]. Agile values rapid feedback and adaptation — exactly the strengths of ET.
| Agile Practice | ET Role |
|---|---|
| Sprint testing | Quick exploration of new features |
| Regression | Supplement automated regression with exploratory sessions |
| User stories | Explore edge cases beyond acceptance criteria |
| Bug hunting | Focused sessions on risk areas |
Quick Reference
| Parameter | Value | Source |
|---|---|---|
| ET session length | 1-2 hours | [10] |
| Industrial defect rate | 4.8-8.7 defects/hour | [1] |
| Industry adoption | 88% of professionals | [3] |
| Efficiency advantage | 4-6x over scripted | [6], [7] |
| Tool support | 75% have none | [3] |
References
- J. Itkonen and K. Rautiainen, “Exploratory testing: a multiple case study,” in International Symposium on Empirical Software Engineering (ISESE), 2005. doi: 10.1109/ISESE.2005.1541817.
- C. Kaner, J. Bach, and B. Pettichord, Lessons Learned in Software Testing. Wiley, 2002.
- D. Pfahl, H. Yin, M. V. Mäntylä, and J. Münch, “How is exploratory testing used? A state-of-the-practice survey,” in ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2014, pp. 1–10. doi: 10.1145/2652524.2652531.
- A. N. Ghazi, K. Petersen, E. Bjarnason, and P. Runeson, “Exploratory Testing: One Size Doesn’t Fit All,” 2017.
- J. Itkonen, M. V. Mäntylä, and C. Lassenius, “Defect Detection Efficiency: Test Case Based vs. Exploratory Testing,” in International Symposium on Empirical Software Engineering and Measurement (ESEM), 2007, pp. 61–70. doi: 10.1109/ESEM.2007.56.
- J. Itkonen and M. V. Mäntylä, “Are test cases needed? Replicated comparison between exploratory and test-case-based software testing,” Empirical Software Engineering, vol. 19, no. 2, pp. 303–342, 2014, doi: 10.1007/s10664-013-9266-8.
- W. Afzal, A. N. Ghazi, J. Itkonen, R. Torkar, A. Andrews, and K. Bhatti, “An experiment on the effectiveness and efficiency of exploratory testing,” Empirical Software Engineering, vol. 20, no. 3, pp. 844–878, 2015, doi: 10.1007/s10664-014-9301-4.
- S. M. A. Shah, U. Alvi, Ç. Gencel, and K. Petersen, “Comparing a Hybrid Testing Process with Scripted and Exploratory Testing: An Experimental Study with Practitioners,” in International Conference on Product-Focused Software Process Improvement (PROFES), 2014. doi: 10.1007/978-3-319-06862-6_13.
- L. Crispin and J. Gregory, Agile Testing: A Practical Guide for Testers and Agile Teams. Addison-Wesley, 2009.
- J. Bach, “Session-Based Test Management,” Software Testing and Quality Engineering, vol. 2, no. 6, pp. 32–37, 2000.
Disclaimer: AI is used for text summarization, polishing and explaining. Authors have verified all facts and claims. In case of an error, feel free to file an issue.