Skip to main content
QATraining
Back to curriculum
Chapter 4 of 6

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.

20 min guide5 reference questions folded into the guide material
Guided briefing

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

  1. 1Three families of test-design techniques
  2. 2Black-box: Equivalence Partitioning (EP)
  3. 3Black-box: Boundary Value Analysis (BVA)
  4. 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).

Child (0–15)Adult (16–64)Senior (65+)015166465120Red dots = 2-value BVA test values at each boundary (15, 16 and 64, 65)
Visualising the age-fare example: 2-value BVA tests {15, 16, 64, 65}. 3-value BVA adds {14, 17, 63, 66}.

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.

RuleLogged in?Basket > £50?Has voucher?Action
R1YesYesYesApply voucher + free delivery
R2YesYesNoFree delivery
R3YesNoYesApply voucher
R4YesNoNoStandard checkout
R5NoPrompt 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.
Example — achieving 100% branch coverage requires 2 tests

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.