-The first term I want to define, is failure. - -2
-A failure is an observable incorrect behavior of the software. - -3
-It is conceptually related to the behavior of the - -4
-program, rather than its code. The second term I want - -5
-to introduce is fault, which is also called bug. - -6
-And the fault or bug, is an incorrect piece of - -7
-code. In other words, a fault is related to - -8
-the code. And is a necessary, but not sufficient condition - -9
-for the occurrence of a failure. The final - -10
-term I want to introduce is, error. Where an - -11
-error is the cause of a fault. It is - -12
-usually a human error, which can be conceptual. A - -13
-typo or something along those lines. And know that - -14
-this terminology, failure, fault and error, is the official - -15
-[UNKNOWN] terminology. So you cannot go wrong if you - -16
-use it. Now, let me illustrate the difference between - -17
-failure, fault and error. Using a small example. What I'm showing here is - -18
-a small function that, as you can see from its name, takes an - -19
-integer parameter i. And is supposed to double the value of i, and - -20
-return it. As we can clearly see, this is not what the function does. -- cgit 1.4.1