Exploratory Testing
- In Turkish
- Keşif Testi
- Pronunciation
- ik-SPLOR-uh-tor-ee TEST-ing
In short
Exploratory testing is a hands-on approach in which a tester learns about the software, designs tests, and runs them at once, guided by what they discover.
What is exploratory testing?
Exploratory testing is a style of manual testing in which learning, test design, and test execution happen together. Instead of following a script written in advance, the tester investigates the software like a detective, using what each step reveals to decide what to try next. The term was coined by Cem Kaner in the 1980s and later developed by testers such as James Bach.
Exploratory testing is usually organized into timeboxed sessions of about 60 to 90 minutes, each guided by a charter: a short mission such as exploring the checkout with expired and foreign credit cards to discover payment errors. During the session the tester notes what they tried, the bugs they found, open questions, and risks, then reviews the results with the team afterward. Testing heuristics, rules of thumb for generating ideas, help cover ground: boundary values, interruptions like losing the network mid-upload, unusual sequences like double-clicking a submit button, different user roles, and accessibility.
It's like exploring a new city on foot instead of riding the tour bus: you notice odd side streets that the fixed route never visits. Teams use exploratory testing on new features before automation exists, on risky or complex areas, and to find usability problems and bugs that no one thought to write an automated check for. Important findings are often turned into new automated regression tests.
Exploratory testing is often confused with ad hoc testing, which means poking at the software at random without a goal or notes; exploratory testing is structured by charters, timeboxes, and written findings. It also differs from scripted manual testing, which fixes every step and expected result in advance to confirm known behavior, while exploration looks for unknown problems. Automated tests check what you already know should work, and exploratory testing finds what you didn't know to check.
Key takeaways
- The tester designs and runs tests at the same time, adapting as they learn.
- Sessions are timeboxed and guided by a written charter.
- Notes on bugs, questions, and risks are shared in a short debrief.
- It finds unknown problems that scripted and automated tests miss.
- It is structured, which distinguishes it from random ad hoc testing.
Example
Charter: Explore the checkout with unusual payment situations
to discover errors, confusing messages, and double charges.
Timebox: 60 minutes Tester: Priya Build: 2026.09.28-rc1
Ideas to try:
- Expired card, card from another country, card with a zero balance
- Lose the network connection right after pressing "Pay"
- Press "Pay" twice quickly; use the browser's back button mid-payment
Notes:
- BUG: Double-clicking "Pay" creates two orders (logged as #4812)
- QUESTION: Expired cards show "Unknown error". Is that intended?Readers ask
Is exploratory testing the same as manual testing?
Exploratory testing is one kind of manual testing. Manual testing also includes scripted testing, where a person follows predefined steps and compares the results with expected outcomes.
What is a test charter?
A test charter is a short statement of what an exploratory session should investigate and why, for example which feature to explore, with which resources, to discover which kind of problem. It gives the session focus without dictating each step.
See also
- Acceptance TestingTesting & Quality, p. 2Acceptance testing checks whether software meets the requirements agreed with its users or customers, so the team can decide if it is ready to release.
- Regression TestingTesting & Quality, p. 22Regression testing is the practice of re-running existing tests after a code change to make sure that features which used to work have not broken.
- End-to-End TestTesting & Quality, p. 8An end-to-end test is an automated test that runs a complete user journey through the whole application, from the user interface to the database and back.
- Smoke TestTesting & Quality, p. 24A smoke test is a quick, shallow check that the most important features of a build work at all, run before any time is spent on deeper testing.
- Test PyramidTesting & Quality, p. 32The test pyramid is a model for balancing automated tests: many fast unit tests, fewer integration tests, and only a few slow end-to-end tests at the top.
- Web AccessibilityWeb Development, p. 56Web accessibility is the practice of building websites that everyone can use, including people who rely on screen readers, keyboards, captions, or zoom.
- Quality AssuranceTesting & Quality, p. 21Quality assurance (QA) is the set of practices that ensure software meets its requirements and works reliably, aiming to prevent defects, not just find them.
Spotted a mistake or something missing on this page?Suggest an edit