Risk Management Home

Risk Management Articles

Risk Management Links

Risk Management Books

Risk Management Tools

Risk Management Keywords

Risk Management

fault

What
"A manifestation of an error in software. A fault, if encountered may cause a failure." [do178b]
BS 7925-1.British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST)

Why?
Yes, why do we have faults in software? The simple answer is that software is built by us, and we are only human. Humans make mistakes, known as errors. Objects and machines from the time of cavemen have had things wrong with them. It is something we have to accept. We do not have to accept living with them. That is why we test and fix.

Note, a fault will not always lead to a failure in the system. For example the analyst specifies bright red code with Red Green Blue (RGB) value of "FF0000". The developer in coding enters a typo (the error) of "FF00EE"


Correct colour of FF0000
Error colour of FF0011

This fault will not be apparent to 99.99% of internet browsers for various reasons. To all intents and purposes they are both red, so in the general run of events a failure will never occur. A failure will occur if at some time in the future someone is looking for the string. FF0000.

Who?
All faults eventually can be traced back to an error by a human. Even if the code is written automatically by a tool, which was in turn configured automatically and so forth, eventually a human will be at the end of the line.

Who creates the fault? The truth is that a fault can be entered into the software at any stage. From the customer not understanding his end-user requirements all the through to a systems integrator forgetting to add in widget X for final delivery.

Testers may feel smug at this point, as it would seem they have no part in creating faults. I disagree. If a tester finds a fault repeatedly and does nothing about preventing it in the future, he is allowing the error to perpetuate.

Where?
The error which triggers off the fault can appear anywhere. Documentation, coding, integration, installation. The fault however may appear somewhere else. E.g in our example above the analyst misreads the requirements, and puts in the functional spec "FF0011" instead of "FF0000". This is an error. The fault which may lead to failure is created when "FF0011" is entered into code.

When?
Again a fault can be entered at any time in the lifecycle.

How?
Human error. Again.

Google
Web www.riskmanagement.force9.co.uk

Risk Management Bestsellers
The bestselling books on Amazon.

Articles

Microsoft Backtracks onNT4 Support

T-Mobile Hacker in Court

Linux Security Patches Issued

FBI Drops Intelligence Software

CMMI: risk management

Other Related Websites
Automated Testing
Defects

Visit our site of the month Load Testing at loadtesting.force9.co.uk