Test Analysis and Design
Learn the black-box, white-box and experience-based techniques that turn fuzzy requirements into a focused, risk-driven test suite.
Test Analysis and Design video walkthrough
A guided overview of chapter 4, connecting the exam language to practical testing decisions.
Briefing focus
Three families of test-design techniques
This is a structured lesson briefing. Real video/audio can be added later as a media source.
Estimated time
8 min
- 1Three families of test-design techniques
- 2Black-box: Equivalence Partitioning (EP)
- 3Black-box: Boundary Value Analysis (BVA)
- 4Black-box: Decision Tables
Transcript brief
Learn the black-box, white-box and experience-based techniques that turn fuzzy requirements into a focused, risk-driven test suite. The walkthrough introduces the core concept, works through a realistic project example, and closes with the mistakes learners most often make in quiz and exam questions.
Key takeaways
- Recognise the exam wording for this chapter.
- Apply the concept to a real software delivery situation.
- Know which detail to check first when a scenario question feels ambiguous.
Three families of test-design techniques
- Black-box — derive tests from the specification, treating the code as opaque.
- White-box (structural) — derive tests from code structure; measure coverage.
- Experience-based — leverage tester intuition, defect taxonomies and exploratory sessions.
Black-box: Equivalence Partitioning (EP)
Divide each input domain into partitions where the system is expected to behave identically. Choose one representative value per partition.
Real-life scenario · Travel booking
Age-based fare rules
Situation. A rail website charges different fares: child (0–15), adult (16–64), senior (65+). With EP, you test exactly three values — say 8, 30, 72 — plus the invalid partition (-1, 150). Five tests cover the entire age domain.
Lesson. EP reduces input space from ‘infinite’ to a handful of representative values without losing coverage.
Black-box: Boundary Value Analysis (BVA)
Defects cluster at edges. BVA tests values at — and just outside — each partition boundary. ISTQB defines 2-value BVA (boundary + just outside) and 3-value BVA (just below, on, just above).
The £1 million off-by-one
In 2012, a UK insurance provider mis-quoted premiums to customers aged exactly 65 because the code used `age < 65` instead of `age <= 65`. BVA at 64, 65, 66 would have caught it in one test case.
Black-box: Decision Tables
Decision tables model combinations of conditions and their actions. They force testers to enumerate every logical rule — ideal for policy-rich domains like insurance, eligibility or discount engines.
| Rule | Logged in? | Basket > £50? | Has voucher? | Action |
|---|---|---|---|---|
| R1 | Yes | Yes | Yes | Apply voucher + free delivery |
| R2 | Yes | Yes | No | Free delivery |
| R3 | Yes | No | Yes | Apply voucher |
| R4 | Yes | No | No | Standard checkout |
| R5 | No | — | — | Prompt to sign in |
Black-box: State Transition Testing
Model systems as finite state machines. Perfect for workflows like authentication, order status, or vending-machine logic. Test valid transitions, invalid transitions and guard conditions.
White-box techniques
- Statement coverage
- % of executable statements run by the test suite. Weakest criterion — useful as a minimum baseline.
- Branch (decision) coverage
- % of branches (True/False outcomes of each decision) executed. 100% branch coverage subsumes 100% statement coverage.
function fareForAge(age: number): number {
if (age < 16) return 5; // branch A
if (age >= 65) return 8; // branch B
return 12; // branch C
}
// tests: fareForAge(10) covers A, fareForAge(30) covers C,
// fareForAge(70) covers B → 100% branch coverage with 3 cases.Experience-based techniques
- Error guessing — anticipate defects using past experience and defect taxonomies.
- Exploratory testing — simultaneous learning, design and execution, time-boxed and scoped via test charters.
- Checklist-based testing — use curated heuristics (e.g., HICCUPPSF-F, OWASP Top-10) to drive coverage.
Charter example
‘Explore the password-reset flow, using expired reset links and mixed-case emails, to discover security or usability issues, in 60 minutes.’ That is a charter — the unit of planning for exploratory sessions.