Recall that specification based (Blackbox) testing had three assumptions. Whitebox testing also has similar assumptions if we are to rely on test coverage as a metric.

Assumption 0: All statements in the program is reachable with some input.

This assumption is rarely true for large programs with several KLOC. However, based on practice, we assume that such code (called dead code) is only a small percentage of the statements in complete program.

Assumption 1: Faults in code rarely interact

This is the basic assumption behind statement coverage family and basic block coverage. We assume that most bugs are isolated, a bug in one statement won’t hide or be affected by bugs in others.


Back to parent page: Software Testing

Web_and_App_Development Software_Testing Software_Validation SOFT3202 Whitebox_Testing