Presently, the revolution in IT sector gained momentum and the sector is growing fast unlike ever before. At this juncture, software testing has gained more importance and the software testers are enjoying a good career prospect. Debugging is the most important thing in software testing and thus bug life cycle or Defect Lifecycle has become a common term used frequently in the discussions related to software development and testing.
What is Defect Life Cycle
A bug will go through different states or stages from its identification to the fixation of the bug. These stages altogether known as Defect Life Cycle or bug life cycle. The stages in a defect life cycle may vary from project to project. However, we are discussing about all possible stages in this article.
New: – When a defect or a bug has been identified or detected for the first time, it will be assigned with the status as “New”.
Assigned: – This stage comes after the identification and posting of the bug by the tester. At this stage, the bug will be assigned to the developer to fix the defect.
Open: – Here the developer will start analysing the defect and start fixing it.
Fixed: – Once the developer is fixed the defect or the bug by making the necessary changes in the code, it will be elevated to the status, “Fixed”.
Pending Retest: – After fixing the defect, the developer will provide the specific code to the tester for retesting. Since then till the retesting is completed the status will remain as “Pending Retest”.
Retest: – At this stage, the tester will retest the code to verify whether the defect has been fixed or not.
Verified: – When the code is found to be without defects during retesting, it will be assigned with the status “Verified”.
Reopen: – If the bug has not been fixed even after the fixing done by the developer, the tester will change the status as “Reopened” and the bug will go once again through the previous stages in the life cycle.
Closed: – If the bug is no longer exists, the status will be changed to “Closed”.
Duplicate: – The status will be termed as “Duplicate” when the same bug is repeated twice or the defect corresponds the same concept of bug.
Rejected: – When the developer feel the defect as not genuine, the status will be changed to “Rejected”.
Deferred: –If the bug in question is not so important and if it can be rectified even in the next release, it will be kept aside after terming the status as “Deferred”.
Not a Bug: – When the defect identified will not affect the functionality of the application or the system, it will be kept under the status “Not a Bug”.
Defect Life Cycle Explained
The following steps will explain the defect life cycle
- The defect is detected by the tester
- The defect will be assigned with the status “New”.
- Defect will be forwarded to the Project Manager for Analyzing
- Project manager analyses the defect and decides whether it is valid or not
- If the defect is not valid it will be changed to the status “Rejected”
- If it is not rejected, the project manager will verify to see whether it is necessary to fix the defect at this stage or can be done later. If it can be fixed later it will be marked as “Deferred”.
- Then the projector manager will verify to see whether similar defects has been identified earlier. If yes, it will be marked as “Duplicate”.
- If the defect is assigned to the developer and he or she starts fixing the code the status will be changed to “In Progress”.
- After fixing the defect the status will be changed to “Fixed”.
- Now the tester will execute retesting to find out whether the defect has been fixed or not. If it is fixed, the status will be changed to “Closed” and if not it will be changed to “Reopen”.
Note: if any defects that has been kept as “Deferred” in the previous release has to be fixed during the current release, it will be changed to the status “Reopen”.