Test design techniques are procedures used to define test conditions, design test cases, and specify test data in order to improve testing efficiency. There are three main categories of test design techniques: specification-based techniques derive test cases from requirements or models, structure-based techniques derive test cases from code, and experience-based techniques use the tester's experience. Equivalence partitioning and boundary value analysis are two important specification-based techniques. Equivalence partitioning divides test conditions into valid and invalid equivalence classes, while boundary value analysis tests values at the boundaries between partitions. Together these techniques help identify effective test cases.
Related topics: