Skip to main content

Test Design Techniques

  • In ISTQB, Test Design Techniques refer to systematic methods for designing effective test cases to ensure thorough coverage of the software under test. These techniques help testers derive test cases that reveal defects, validate functionality, and evaluate non-functional requirements. Test design techniques are categorized based on whether they rely on the external behavior of the system (black-box), the internal structure (white-box), or the tester's experience (experience-based).

Black-Box Test Design Techniques

  • Black-box test design techniques focus on testing the software without knowledge of its internal code or structure. Test cases are derived from the functional or non-functional specifications of the software.
black-box

Equivalence Partitioning (EP)

  • Divides input data into different partitions, or classes, where the system is expected to behave similarly. The idea is to test just one representative value from each partition.

Boundary Value Analysis (BVA)

  • Focuses on testing at the boundaries between equivalence partitions, where defects are more likely to occur.

Decision Table Testing

  • A technique that uses a decision table to represent combinations of inputs and the resulting actions. Each row in the decision table corresponds to a unique combination of inputs and the expected output.

State Transition Testing

  • Tests how the system transitions from one state to another based on different events or inputs. It’s especially useful for systems that have distinct states. ie: User Login States.

Use Case Testing

  • Tests the system’s behavior based on use cases, which describe user interactions with the system. Each use case is a sequence of actions or events.

White-Box Test Design Techniques

  • White-box test design techniques or tructural techniques rely on knowledge of the internal code and logic of the system. These techniques ensure that the internal paths, conditions, and logic of the system are adequately tested.
white-box

Statement Coverage

  • Measures whether each line of code (statement) has been executed at least once.

Decision Coverage (Branch Coverage)

  • Ensures that all branches have been executed. ie: The true and false outcomes of if else conditions.

Condition Coverage

  • Ensures that each individual condition within a decision has been tested for true and false values. ie: Each clause in a compound logical condition.

Multiple Condition Coverage

  • Extends condition coverage by testing all possible combinations of conditions.

Path Coverage

  • Ensures that all possible paths through the code are tested.

Experience-Based Test Design Techniques

  • Experience-based techniques leverage the tester’s experience, intuition, and knowledge of the software to design test cases. These techniques are less structured but valuable for finding defects that formal techniques may miss.
experience-based

Error Guessing

  • A technique where the tester uses their knowledge and experience to guess the kinds of defects that are likely to be present.

Exploratory Testing

  • An approach where testers explore the software without predefined test cases, learning about the system as they test and creating new tests dynamically.

Checklist-Based Testing

  • Testers use a checklist of items to guide their testing. ie: Key Features, Functionality, and Common Defect Types.

Fault Attack

  • Based on knowledge of typical defects, testers create test cases targeting specific types of defects.

Module Review

Click to start the definition to term matching quiz
Drag the defintion to the correct term.
Test type item not available at this time.
Click to start the multiple choice quiz
Choose from the listed options below.
Test type item not available at this time.