Test Case

A test case tests the response of a single method to a particular set of inputs.

A good test case should:

  1. Reach the fault during execution (reachability)
  2. Cause the program state to be incorrect (infection)
  3. Cause the program output to be incorrect (propagation)