Error Guessing
Fault attacks are a methodical approach to the
implementation of error guessing. This technique requires the
tester to create or acquire a list of possible errors, defects
and failures, and to design tests that will identify defects
associated with the errors, expose the defects, or cause the
failures. These lists can be built based on experience, defect
and failure data, or from common knowledge about why
software fails.
In general, errors, defects and failures may be related to: input (e.g., correct input not accepted, parameters wrong or
missing), output (e.g., wrong format, wrong result), logic (e.g., missing cases, wrong operator), computation (e.g.,
incorrect operand, wrong computation), interfaces (e.g., parameter mismatch, incompatible types), or data (e.g.,
incorrect initialization, wrong type).