How many of you have wondered about the difference in bugs and defects? How many would argue they both are the same? And how do you define if an issue is within or out of the scope of a sprint?
In this blog, I?d like to look at what defines a bug and a defect, why I think they are different, and the benefits for keeping them separate.
Firstly i want to discuss , what is main difference between Defect Bug Error or failure . All the issues are look likes similar in manner but there is very big difference . Lets Discuss :-
OMG! I am totally confuse what is error , failure , bug or defect ? i can?t understood how its differ all.
Testing is the process of identifying defects, where a defect is any variance between actual and expected result . ?A mistake in code is called Error .?
Error found by tester is called defect , Defect accepted by development team is called Bug. And build does not meet the requirements then it is Failure.
An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer we include software engineers, programmers, analysts, and testers.
For example, a developer may misunderstand a de-sign notation, or a programmer might type a variable name incorrectly ? leads to an Error. It is the one which is generated because of wrong login, loop or due to syntax. Error normally arises in software; it leads to change the functionality of the program.
What is Failure ?
It is a condition that causes the software to fail to perform its required function. It is the inability of a system or component to perform required function according to its specification.
For example, as per the software requirement specification there is no need to develop the login page but all requirements are not clear at the end of developer side and they created login page .
As we , discuss above when build does not meet the requirement then it is called Failure or fault.
What is Bug ?
In Software testing, when the expected and actual behavior is not matching, an incident needs to be raised. It is a programmer?s fault where a programmer intended to implement a certain behavior, but the code fails to correctly conform to this behavior because of incorrect implementation in coding. It is also known as Defect.
For example, login module is tested by the tester ; he enter valid email address and password but it still show warning ? invalid email address?. Now tester reported that defect to developer and he accepted that defect/ issue is called bug.
As we , discuss above When defect accepted by development team it is called Bug.
What is Defect in software testing?
As we discuss above firstly that Defect is a variance between expected results and actual results of execution of test case on the system.
A programmer while designing and building the software can make mistakes or error. These mistakes or errors mean that there are flaws in the software. These are called defects.
What is defect life cycle?
Defect life cycle, also known as Bug Life cycle is the journey of a defect cycle, which a defect goes through during its lifetime. It varies from organization to organization and also from project to project as it is governed by the software testing process and also depends upon the tools used.
Defect Life Cycle includes following stages:
New: When a defect is logged and posted for the first time. Its state is given as new.
Assigned: Once the bug is posted by the tester, the lead of the tester approves the bug and assigns the bug to developer team.
Open: Its state when the developer starts analyzing and working on the defect fix.
Fixed: When developer makes necessary code changes and verifies the changes then he/she can make bug status as ?Fixed?.
Retest: At this stage the tester do the retesting of the changed code which developer has given to him to check whether the defect got fixed or not.
Reopened: If the bug still exists even after the bug is fixed by the developer, the tester changes the status to ?reopened?. The bug goes through the life cycle once again.
Deferred: The bug, changed to deferred state means the bug is expected to be fixed in next releases. The reasons for changing the bug to this state have many factors. Some of them are a priority the bug may be low, lack of time for the release or the bug may not have a major effect on the software.
Rejected: If the developer feels that the bug is not genuine, the developer rejects the bug. Then the state of the bug is changed to ?rejected?.
Duplicate : If the bug is repeated twice or the two bugs mention the same concept of the bug, then the recent/latest bug status is changed to ?duplicate?.
Closed: Once the bug is fixed, it is tested by the tester. If the tester feels that the bug no longer exists in the software, tester changes the status of the bug to ?closed?. This state means that the bug is fixed, tested and approved.
Not a bug/Enhancement: The state given as ?Not a bug/Enhancement? if there is no change in the functionality of the application. For an example: If customer asks for some change in the look and field of the application like change of color of some text then it is not a bug but just some change in the looks of the application.
Conclusion:
A Bug is the result of a coding Error and A Defect is a deviation from the Requirements. A defect does not necessarily mean there is a bug in the code, it could be a function that was not implemented but defined in the requirements of the software.