Exhaustive Testing
Exhaustive testing is a testing approach in which every possible input, condition, and execution path is tested.
“A test approach in which the test suite comprises all combinations of input values and preconditions.”
(Definition reproduced from the ISTQB Glossary. Copyright belongs to ISTQB.)
View the complete ISTQB GlossaryWhat is Exhaustive Testing?
Although theoretically capable of proving correctness, exhaustive testing is usually impractical because the number of possible combinations is too large for most software systems.
Theoretical concept: Complete coverage of all possibilities is rarely achievable.
Practical limitations: Time and cost make exhaustive testing unrealistic.
Testing strategy: Testers use risk-based and systematic techniques instead.
Real World Example
A junior tester is asked to fully test a simple form with 5 independent fields, each accepting one of 10 possible values, and proposes writing a test case for every possible combination to be "100% sure."
Five fields with 10 values each means 100,000 combinations — even at one test case per second, running them all once would take over a day, and that's for a genuinely simple form; anything more realistic makes Exhaustive testing completely impractical.
Instead of attempting Exhaustive testing, the tester applies equivalence partitioning and boundary value analysis to select a small, well-justified subset of those combinations that still targets the highest-risk areas, accepting by design that most combinations go untested.
The tester delivers meaningful coverage in a few hours with a handful of well-chosen cases instead of days attempting all 100,000 combinations — the reason Exhaustive testing shows up on the exam as the theoretical benchmark for "testing everything," and exactly why systematic techniques exist instead.
Practice Questions
Question 1
A form has 5 independent fields, each accepting one of 10 possible values. A tester proposes writing a test case for every possible combination to be "100% sure" nothing is missed. What concept does this proposal illustrate, and why is it usually impractical?
Question 2
Why do testers rely on techniques like equivalence partitioning and boundary value analysis instead of exhaustive testing in most real projects?
Test your knowledge with real ISTQB-style questions
You’ve learned Exhaustive Testing. Test your understanding with topic-specific questions in our Mock Exams.