Test-Suite Minimization

The goal is to reduce the number of test cases in a test suite while ensuring adequate coverage of the test requirements.

Essential test case: a test requirement r_i is satisfied by one and only one test case — that test case is essential.

Redundant test case: if a test case satisfies only a subset of the test requirements satisfied by another test case, it is redundant.

GE heuristic

  1. First select all essential test cases in the test suite.
  2. For the remaining test requirements, use the additional-greedy algorithm: select the test case that satisfies the maximum number of unsatisfied test requirements.

GRE heuristic

  1. First remove all redundant test cases (this may promote some remaining test cases to “essential”).
  2. Then perform the GE heuristic on the reduced test suite.