Test Case
A test case tests the response of a single method to a particular set of inputs.
A good test case should:
- Reach the fault during execution (reachability)
- Cause the program state to be incorrect (infection)
- Cause the program output to be incorrect (propagation)