What is difference between Error, Fault, Defect, Bug , Failure

Many of the QA professionals are confused about the terms Error, Fault, Failure, Defect, and Bug. I have tried to explain these terms so everyone can get benefits. Feedback and suggestions are highly appreciated.

  • A difference or deviation from actual and expected value
  • A human action that produces an incorrect result. [After IEEE 610]
  • Human mistake that caused fault - IEEE

  • “An incorrect step, process, or data definition in a computer program”
  • It is a condition that causes the software to fail to perform its required function.
  • Discrepancy in code that causes a failure.- IEEE

  • “The [incorrect] result of a fault” Deviation of the component or system from its expected delivery, service or result.
  • It is the inability of a system or component to perform required function according to its specification.
  • External behavior is incorrect- IEEE

Defect also known as Bug
  • A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g., an incorrect statement or data definition.
  • A defect, if encountered during execution, may cause a failure of the component or system.
  • It is an evidence of fault in the program.