Perturbation Testing

This testing method focuses upon faults in the arithmetic expressions appearing throughout a program. By monitoring the program states that arise at each of the target expressions during testing, it is possible to solve automatically for alternate expressions that would have yielded the same output on all tests run so far.

Each such alternate expression, or perturbation, may be viewed as possibly the correct code that should have been written at that location. The goal of the tester must be to choose additional test inputs that distinguish between each such perturbation and the actual code, to determine which one is really correct.