Error – defect in the human thought process made while trying to understand given information, solve problems, or to use methods and tools. In the context of software requirements specifications, an error is a basic misconception of the actual needs of a user or customer.

Fault – concrete manifestation of an error within the software. One error may cause several faults, and various errors may cause identical faults.

Failure – departure of the operational software system behavior from user expected requirements. A particular failure may be caused by several faults and some faults may never cause a failure.

IEEE Std 610.12-1990, IEEE Standard Glossary of Software
Engineering Terminology, 1990.

A systematic literature review to identify and classify software requirement errors. Gursimran Singh Walia, Jeffrey C. Carver. Information and Software Technology, 2009.

El 10/07/2013 8:47, Camillo Bruni escribió:
On 2013-07-10, at 13:32, Tudor Girba <tu...@tudorgirba.com> wrote:
Precisely. There is a huge difference between invalidating a known contract 
(i.e., failure) and raising an unexpected error (i.e., error).

In which sense?
As a programmer I have to tackle them both the same way: start debugging.

I really do not see the difference. In both cases the code does not behave as 
expected.
One might even say that there is a global contract that the code does not raise 
exceptions.

Tackling the failures first is purely a habit induced by the existing system 
that errors are worse than failures
.



Reply via email to