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
KnowledgeTypically, 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?
4
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.
6
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.