Test Analysis and Design.

Chapter 4 is the largest chapter in the syllabus. It covers test techniques and collaboration approaches that help turn test conditions into useful test cases.

Technique overview

This chapter covers black-box techniques, white-box techniques, experience-based techniques, and collaboration-based approaches. Beginners should spend extra time here because several topics require applying a technique, not just recalling a definition.

Technique overview

Technique typeMain purposeSyllabus topicsWhat beginners should notice
Black-boxDesign tests from specifications or externally visible behaviorEquivalence partitioning, boundary value analysis, decision table testing, state transition testingYou do not need code structure; you use inputs, outputs, rules, and states
White-boxDesign tests from internal structureStatement testing, branch testing, coverageCoverage measures what has been exercised, not whether the tests are sufficient by themselves
Experience-basedUse tester knowledge and experienceError guessing, exploratory testing, checklist-based testingThese techniques can complement more systematic techniques
Collaboration-basedUse shared examples and agreement with stakeholdersUser stories, acceptance criteria, acceptance test-driven developmentThe goal is common understanding of expected behavior

Black-box techniques

Equivalence partitioning groups values expected to be treated the same. Boundary value analysis focuses on values at and near boundaries. Decision table testing is useful when combinations of conditions produce different actions. State transition testing is useful when behavior depends on state and events.

White-box techniques

Statement testing considers whether executable statements have been exercised. Branch testing considers whether branches in control flow have been exercised. Coverage can show what has been run, but it does not prove that no defects remain.

Experience-based and collaboration-based approaches

Error guessing uses knowledge of likely mistakes or failures. Exploratory testing combines learning, test design, and execution. Checklist-based testing uses prepared lists of conditions. User stories, acceptance criteria, and ATDD help teams describe expected behavior in shared terms.