If under certain environment and situation defects in the application or product get executed then the system will produce the wrong results causing a failure.
Not all defects result in failures, some may stay inactive in the code and we may never notice them. Example: Defects in dead code will never result in failures.
It is not just defects that give rise to failure. Failures can also be caused because of the other reasons also like:
- Because of the environmental conditions as well like a radiation burst, a strong magnetic field, electronic field or pollution could cause faults in hardware or firmware. Those faults might prevent or change the execution of software.
- Failures may also arise because of human error in interacting with the software, perhaps a wrong input value being entered or an output being misinterpreted.
- Finally failures may also be caused by someone deliberately trying to cause a failure in the system.
Difference between Error, Defect and Failure in software testing:
Error: The mistakes made by programmer is known as an ‘Error’. This could happen because of the following reasons:
- Because of some confusion in understanding the functionality of the software
- Because of some miscalculation of the values
- Because of misinterpretation of any value, etc.
Defect: The bugs introduced by programmer inside the code are known as a defect. This can happen because of some programmatic mistakes.
Failure: If under certain circumstances these defects get executed by the tester during the testing then it results into the failure which is known as software failure.
Few points that are important to know:
- When tester is executing a test he/she may observe some difference in the behavior of the feature or functionality, but this not because of the failure. This may happen because of the wrong test data entered, tester may not be aware of the feature or functionality or because of the bad environment. Because of these reasons incidents are reported. They are known as incident report. The condition or situation which requires further analysis or clarification is known as incident. To deal with the incidents the programmer need to to the analysis that whether this incident has occurred because of the failure or not.
- It’s not necessary that defects or bugs introduced in the product are only by the software. To understand it further let’s take an example. A bug or defect can also be introduced by a business analyst. Defects present in the specifications like requirements specification and design specifications can be detected during the reviews. When the defect or bug is caught during the review cannot result into failure because the software has not yet been executed.
- These defects or bugs are reported not to blame the developers or any people but to judge the quality of the product. The quality of product is of utmost importance. To gain the confidence of the customers it’s very important to deliver the quality product on time.
Know more about From where do Defects and Failures arises?
Other popular articles:
- From where do defects and failures in software testing arise?
- What is Defect or bugs or faults in software testing?
- What is Error guessing in software testing?
- What is an Incident in software testing?
- Why is software testing necessary?
Mayur Agrawal says
Nice description
Archana says
Is McCabes Cyclomatic complexity a part of the syllabus for the examination to be conducted this year?
Lijo says
Error- When programmer makes any mistakes in code(At Development Level).
Defect – Mistake found by your testing team is a defect.(Testing Level)
Bug – Defect accepted by the software deve team is called a bug(Testing Level)
Failure – The inability to perform its required functions(Product Level)
Sourabh says
Perfect Difference ……
sunil amale says
Short and Simple…!!!
Thanks
Priyanka says
I think , terms used as Error is at development of software, defect at testing level and failure at product level…