ERROR, FAULT, FAILURE, DEFECT
Important Terms in Software Testing
Question: Define the following terms from Software testing perspective.
Answer: Failure,error, fault, defect and incident are commonly used terms in software testing. Although there meanings are related, there are distinctions among these terms.
Error: An error is a state of the system. In the absence of any corrective action by the system, an error state could lead to a failure which would not be attributed to any event subsequent to the error. When people (end user) do error, it is called mistake. When developers make error, it is called bug.
FAULT: Error leads to fault or one can say it is adjudged cause of error. A fault may remain undetected for a long time until an event occurs to activate it. It may be due to commission or omission. It is categorised as computational fault and domain fault.
DEFECT: It is analogous to fault. In general poor design issues, unmet specifications related errors are called defects and when observed these are termed as faults. Faults and defects are commonly interchanged terms.
FAILURE: A failure is said to occur whenever the external behavior of a system does not conform to that prescribed in the system specification.
INCIDENT: When a failure occurs, it may or may not be apparent to user. An incident refers to the symptoms associated with a failure that is communicated to user in terms of alert, error message or failure message.
Thus failure manifestation can be seen as chain as:
Incident ⇒ Failure ⇒ Fault/Defect ⇒ Error