A software design practice for determining Software Fault and Software Failure
Criteria
Reachability
The location or locations in the program that contain the fault must be reached
Infection
The state of the program must be incorrect
Propagation
The infected state must cause some output or final state to be incorrect
Reveal
The tester must observe part of the incorrect portion of the program state