A Bug life cycle, also known as Defect life cycle, is a cycle of a bug from which it goes through covering the different states in its entire life. This starts as soon as any new bug is found by a tester and comes to an end when a tester closes that bug assuring that it won’t get reproduced again.
1) New: This is the first state of a bug in the bug life cycle. When any new bug is found, it falls in a ‘New’ state and validations and testing are performed on this bug in the later stages of the bug life cycle.
2) Assigned: In this stage, a newly created bug is assigned to the development team for working on the bug. 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 bug and works on fixing it, if required. If the developer feels that the bug 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 the specific reason.
4) Fixed: When the developer finishes the task of fixing a bug by making the required changes then he can mark the status of the bug as ‘Fixed’.
5) Pending Retest: After fixing the bug, the developer assigns the bug to the tester for retesting the bug at their end and till the tester works on retesting the bug, the state of the bug remains in ‘Pending Retest’.
6) Retest: At this point, the tester starts the task of working on the retesting of the bug to verify if the bug is fixed accurately by the developer as per the requirements or not.
7) Reopen: If any issue still persists in the bug then it will be assigned to the developer again for testing and the status of the bug gets changed to ‘Reopen’.
8) Verified: If the tester does not find any issue in the bug after being assigned to the developer for retesting and he feels that if the bug has been fixed accurately then the status of the bug gets assigned to ‘Verified’.
9) Closed: When the bug does not exist any longer then the tester changes the status of the bug to ‘Closed’.
Rejected: If the bug is not considered as a genuine bug by the developer then it is marked as ‘Rejected’ by the developer.
Duplicate: If the developer finds the bug as same as any other bug or if the concept of the bug matches with any other bug then the status of the bug is changed to ‘Duplicate’ by the developer.
Deferred: If the developer feels that the bug 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 bug as ‘Deferred’.
Not a Bug: If the bug does not have an impact on the functionality of the application then the status of the bug gets changed to ‘Not a Bug’.