In this post we look at difference between Error, Fault and Failure. These are often misunderstood by the beginners in testing field. In addition, this is commonly asked testing interview question.
The difference between the value which is calculated via human recording and the value which is correct according to theory or standard computation. An Error is an action that produces an incorrect result. It also refers to a missing or incorrect human action resulting in faults being injected into program. It is a part of a system state that is liable to lead to a failure. When error is co-related with respect to fault it is a manifestation of a fault in a system.
It is a mistake made by a user when operating a software application as shown in below picture.
It is the origin of any misbehavior.It is adjudged or hypothesized cause of an error. An incorrect step, process, or data definition in a software application. Therefore, it refers to an underlying condition within software application that causes certain failures to occur.
The inability of the program to perform its required activity. As a result, the product is not able to the activity according to its specification. Therefore, failure refers to a behavioral deviation from the user requirement or the product specification. It is a deviation of the delivered service from compliance with the specification.
Whereas an error characterizes a particular state of a system, a failure is a particular event namely the transition from correct service delivery to incorrect service. Error may cause fault to be injected into the application, and fault may cause failure when the application is executed as shown in the above picture.
Also, a single error may cause many faults, such as in the case that a wrong algorithm is applied in multiple modules and causes multiple faults, and a single fault may cause many failures in repeated executions. Furthermore, the same failure may be caused by several faults, such as an interface or interaction failure involving multiple modules, and the same fault may be there due to different errors.