|
|
Following terms were first formally defined by Flaviu Cristian in 1985 (in the context of robustness and dependability) and later adopted by other authors. Here are some informal definitions:
![]() | Failure: A program behaves differently as required
by the specification.
|
![]() | Error: The internal state of a program is invalid
(e.g. a precondition, postcondition, or invariant is violated,
dangling pointers or references, undefined pointers etc).
|
![]() | Fault: A static cause which allows errors to occur
(e.g. bugs, design faults, hardware or system faults).
|
Faults are static and can lead to error states under some dynamic circumstances. Errors, in turn, can cause failures which are observable from the black-box perspective.
Tests try to detect failures. During debugging, error states are observed that are tracked down to faults which are to be removed.
|
| Copyright © 2001, 2002 Andreas Borchert, converted to HTML on February 11, 2002 |