Defect Bug Life Cycle in Software Testing
Defect Bug Life Cycle in Software Testing
We have also added the most frequently asked interview questions on Defect Life Cycle. It is
important to know about the various states of a defect in order to understand the life cycle of a defect.
The main intention of performing a testing activity is to check if the product has any issues/errors.
In terms of real scenarios, errors/mistakes/faults are all referred to as bugs/defects and hence we can
say that the main objective of doing testing is to ensure that the product is less prone to defects (no
defects is an unrealistic situation).
What Is A Defect?
A Defect, in simple terms, is a flaw or an error in an application that is restricting the normal flow of
an application by mismatching the expected behavior of an application with the actual one.
The defect occurs when any mistake is made by a developer during the designing or building of an
application and when this flaw is found by a tester, it is termed as a defect.
Defect Workflow
It is now time to understand the actual workflow of a Defect Life Cycle with the help of a simple
diagram as shown below.
Defect States
#1) New: This is the first state of a defect in the Defect Life Cycle. When any new defect is found, it
falls in a ‘New’ state, and validations & testing are performed on this defect in the later stages of the
Defect Life Cycle.
#2) Assigned: In this stage, a newly created defect is assigned to the development team to work on
the defect. This is assigned by the project lead or the manager of the testing team to a developer.
#3) Open: Here, the developer starts the process of analyzing the defect and works on fixing it, if
required.
If the developer feels that the defect is not appropriate then it may get transferred to any of the below
four states namely Duplicate, Deferred, Rejected, or Not a Bug-based upon a specific reason. We
will discuss these four states in a while.
#4) Fixed: When the developer finishes the task of fixing a defect by making the required changes
then he can mark the status of the defect as “Fixed”.
#5) Pending Retest: After fixing the defect, the developer assigns the defect to the tester to retest the
defect at their end, and until the tester works on retesting the defect, the state of the defect remains in
“Pending Retest”.
#6) Retest: At this point, the tester starts the task of retesting the defect to verify if the defect is fixed
accurately by the developer as per the requirements or not.
#7) Reopen: If any issue persists in the defect, then it will be assigned to the developer again for
testing and the status of the defect gets changed to ‘Reopen’.
#8) Verified: If the tester does not find any issue in the defect after being assigned to the developer
for retesting and he feels that if the defect has been fixed accurately then the status of the defect gets
assigned to ‘Verified’.
#9) Closed: When the defect does not exist any longer, then the tester changes the status of the defect
to “Closed”.
A Few More:
Rejected: If the defect is not considered a genuine defect by the developer then it is
marked as “Rejected” by the developer.
Duplicate: If the developer finds the defect as same as any other defect or if the
concept of the defect matches any other defect then the status of the defect is changed
to ‘Duplicate’ by the developer.
Deferred: If the developer feels that the defect is not of very important priority and it
can get fixed in the next releases or so in such a case, he can change the status of the
defect as ‘Deferred’.
Not a Bug: If the defect does not have an impact on the functionality of the
application, then the status of the defect gets changed to “Not a Bug”.
The mandatory fields where a tester logs any new bug are Build version, Submit On, Product,
Module, Severity, Synopsis and Description to Reproduce
In the above list, you can add some optional fields if you are using a manual Bug submission
template. These Optional Fields include Customer name, Browser, Operating system, File
Attachments, and screenshots.
The following fields remain either specified or blank:
If you have the authority to add bug Status, Priority, and ‘Assigned to’ fields then you can specify
these fields. Otherwise, the Test Manager will set the status and Bug priority and assign the bug to
the respective module owner.
Upon successful logging, the bug was reviewed by the Development and Test manager. Test
Managers can set the bug status as Open and can Assign the bug to the developer or the bug may be
deferred until the next release.
AD
When a bug gets assigned to a developer, he/she can start working on it. The developer can set the
bug status as won’t fix, Couldn’t reproduce, Need more information, or ‘Fixed’.
If the bug status set by the developer is either “Need more info” or “Fixed” then the QA responds
with a specific action. If the bug is fixed then the QA verifies the bug and can set the bug status as
verified closed or Reopen.
Guidelines for Implementing a Defect Life Cycle
Some important guidelines can be adopted before starting to work with the Defect Life Cycle.
1 Gather information for person responsible Defect is Rejected or asked for Defect is Fixed and should be
for reproducing the Defect more information tested and closed
2 States are Open or New States are Rejected or States are Resolved and
Clarification. Verification.