15

Possible Duplicate:
Difference between defect and bug in testing

In computer science technical writing, especially in software engineering, what's the difference between fault, error and defect?

I want to quote an answer on Stack OverFlow by Daniel Joseph:

To quote the Software Engineering Body of Knowledge

Typically, where the word “defect” is used, it refers to a “fault” as defined below. However, different cultures and standards may use somewhat different meanings for these terms, which have led to attempts to define them. Partial definitions taken from standard (IEEE610.12-90) are:

Error: “A difference…between a computed result and the correct result”

Fault: “An incorrect step, process, or data definition in a computer program”

Failure: “The [incorrect] result of a fault”

Mistake: “A human action that produces an incorrect result”

Based on my understanding of above definition, error is the result of fault, i.e., failure. Could someone explain more clearly?

2 Answers2

23

According to Fundamental Concepts of Dependability:

A system failure is an event that occurs when the delivered service deviates from correct service. A system may fail either because it does not comply with the specification, or because the specification did not adequately describe its function. An error is that part of the system state that may cause a subsequent failure: a failure occurs when an error reaches the service interface and alters the service. A fault is the adjudged or hypothesized cause of an error.

I understand defect as just another name for fault.

Bug is confusing and can represent a fault or a failure depending on the context.

mouviciel
  • 15,491
0

With reference to the definitions used in the linked article, an error is not the result of a fault, but potentially the cause - if the error is outside of the tolerance of the system. Most systems dealing with real data have some degree of error, but are designed to tolerate them.

Pete Kirkham
  • 2,041