What is a Defect Life Cycle or a Bug life cycle in software testing?

In this Article, we will learn about the Defect Life Cycle but firstly we will see what Defect is.

What is Defect?
A defect is an error or a bug, in the application. A programmer while designing and building the software can make mistakes or error. A bug arises when the expected result doesn’t match with the actual results.

What is Defect Life Cycle?
Defect Life Cycle is the specific set of states that a Bug goes through from discovery to defect fixation. It is also known as Bug Cycle. It starts when a defect is found and ends when a defect is closed, after ensuring it’s not reproduced. 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.


Bug Life cycle includes the following steps-

New– When a defect is logged and posted for the first time is stated as the NEW state.

Assigned: After the tester has posted the bug, he assigns the bug to the corresponding developer and the developer team is defined as Assigned.

Open: In this state, the developer starts analyzing and working on the defect in order to fix it.

Fixed:  When a developer makes all the changes in code which are required to fix the bug and verifies the changes then he/she can make bug status as ‘Fixed’ and the bug is passed to the testing team.

Retest:  In this stage, the tester does the retesting of the changed code which developer has given to him to check whether the defect got fixed or not.

Verified:  The tester tests the bug again after it got fixed by the developer. If the bug is not present in the software, he approves that the bug is fixed and changes the status to “verified”.

Reopen:  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.

Duplicate: If the tester has assigned the same bug twice or the two bugs mention the same concept of the bug, then one bug status is changed to “duplicate“.

Rejected: If the developer feels that the bug is not genuine, he rejects the bug. Then the state of the bug is changed to “rejected”.

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 the priority of the bug may be low, lack of time for the release or the bug may not have a major effect on the software.

Not a bug:  The state has given “Not a bug” if there is no change in the functionality of the application. For an example: If a customer asks for some change in the look and field of the application like a change of font type of some text then it is not a bug but just some change in the looks of the application.

Closed:  Once the bug is fixed and it is tested by the tester. If the tester feels that the bug no longer exists in the software, he changes the status of the bug to “closed”. This state means that the bug is fixed, tested and approved.

We hope this post is helpful for you.

If your friend also wants to know about this post Please share with them, so they will also get to know about the same. If you have any question or query please let us know by sending a comment below.Kindly don’t forget to follow us on Facebook and Twitter and Subscribe to YouTube Channel for latest upcoming software testing videos.