- Use the requirements of the program
- Devise a set of inputs, where each input tackles one part of the program
- Also called Black Box Testing
Partitioning the input space
Equivalence Partitioning
- Any input we select should give us the same result for all inputs from that class.
- Thus, it does not matter which precise input we select and one test case per partition will be enough
Category-Partition Method
- Identify the parameters, or the input of the program. For example, the parameters your classes and methods receive
- Derive characteristics of each parameter.
- Some of these characteristics can be found directly in the specification of the program.
- Others might not be found from specifications. For example, an input cannot be null if the method does not handle that well
- Add constraints in order to minimise the test suit
- Identify invalid combinations. For some characteristics it might not be possible to combine them with other characteristics.
- Exceptional behaviour does not always have to be combined with all the different values of the other inputs.
- Generate combinations of input values. These are the test cases
- Working example : Chocolate Bard
Random Testing vs Specification-based Testing
- This is a black box testing technique