Defect Vs Bug Vs Failure
Defect |
Bug |
Failure |
---|---|---|
The deviation between actual and expected result is called defect. |
Fault in system which impact functionality or performance of the software. |
When defect comes in user end it is called failure. |
There are various types of defects like Arithmetic, Logical, Syntax, Multithreading, Interface, Performance defects etc. |
There are various types of bugs like arithmetic bugs, logical bugs or resource bugs etc. |
It has no type, it’s just the application won’t run on user end. |
Usually tester identifies the defect in the code and then developer need to fix it. |
Here, the test engineers raise the bug in the developers code. |
It is raised or find by the manual test engineer. |
It is basically caused by the developer in development phase of software. |
It is caused because of various aspects like Lack of communication, Performance Errors, Lots of recycling, non-existence of policy framework etc. |
It is caused because of human errors or environmental conditions, system usage etc. |
It can be prevented by correctly doing the software development, or by consistently reviewing the code so that defect won’t arise. |
It can be prevented by step by step evaluating the code, or by providing programming language support. |
It can be prevented by again verifying the requirement specification or by retesting the application basically, so that it won’t fail on user end. |
Differences between defect, bug and failure – Software Engineering
Generally, when the system/application does not act as per expectation or abnormally, we call it an error or it’s a fault, and so on. Many of the newbies in the Software Testing industry are confused about using this, so let’s know what is the difference between defect, bug, error, and failure. We will see these terms in detail one by one.