What’s the difference between failure, defect and error?

Asked

Viewed 22,203 times

33

In software development often problems occur in the application already ready, some terms used to classify them are: glitch, defect and error.

  • What is the difference between one term and the other?

  • These terms are defined in some ISO or similar?

  • Is there any other relevant term denoting this situation of "unexpected result/problem"?

  • 2

    Fault is of others, defect has come so and error I do not commit :D

  • @moustache defect or hidden addiction? haha

  • If ISO is non-compliance :)

  • The concepts of error, Failure, fault are many used in software testing, but never thought of those "words" out of that context.

  • @Randrade this, you think you missed the test tag?

  • @rray I really was in doubt if it possesses another meaning without being in tests. But, if the doubt is about that same area, I think it would fit yes.

  • 1

    @Guilhermenascimento "defect" here in Portugal is equal to Brazil. Indicates "inaccuracy, irregularity, failure, inaccuracy, imperfection, inaccuracy, error, deficiency, deformation". " By default" is used as equivalent to "default".

  • @ramaral understood, thank you :)

Show 3 more comments

2 answers

24

What is the difference between one term and the other?

  • Glitch: It is an unexpected software behavior. A failure may have been caused by several errors, but some errors may never cause a failure. Practical example: There was a return of an unexpected value, such as null, This is a mistake, and because of that null caused a system failure.

  • Defect: It is an inconsistency in software, something that has been implemented incorrectly. It occurs in a line of code, such as a wrong instruction or an incorrect command. The defect is the cause of an error, but if a line of code containing the defect never runs, the defect will not cause an error.

  • Error: Human error producing incorrect result. The error shows the defect, that is, when there is a difference between the obtained value and the expected value constitutes an error.

In short, if by mistake you make a if wrong, causes a defect, which when activated will produce an error. If this error is propagated until the software output will constitute a failure.

These terms are defined in some ISO or similar?

Yes. ISO/IEC/IEEE 29119 Software Testing, but specifically at IEEE 829 Test Documentation.

Is there any other relevant term denoting this situation of "result not expected/problem"?

Yes. Incident or anomaly that is the same as defect. In practice everything wrong that happens we call "bug".


References:

2

Glitch: Imagine the second line of code:

if (x < 10):{ //WHOLE }

The programmer forgot to put the "=", in case the correct code would be:

if(x <= 10){ //WHOLE }

i.e., failure, is any external interference that compromises the flow of software, be it human interference (programmer forgot something), lightning, a bomb...

The Error happens when this failure is noticed, that is, when in a test, the failure is activated! Let’s say in tests, x = 10, and it is expected to enter within the condition.

The defect happens when the error behavior is noticed, then it is faulty!

Is a cycle:

inserir a descrição da imagem aqui

Browser other questions tagged

You are not signed in. Login or sign up in order to post.