Software Testing - Defect Life Cycle (Bug Life Cycle)
A Defect Life Cycle is the journey of a defect from the moment it is found until it is fixed, retested, and finally closed.
It describes the states a defect goes through during its lifetime.
1. What is a Defect?
A defect (or bug) is a mismatch between expected results and actual results found while testing a software application.
2. Why Defect Life Cycle Is Important?
✔ Helps track and manage defects
✔ Ensures defects are fixed in a proper workflow
✔ Avoids confusion between testers and developers
✔ Provides clarity on bug status
✔ Improves communication and quality
3. Defect Life Cycle – Complete Flow
Below is the standard bug life cycle, though the names may vary by company:
-
New
-
Assigned
-
Open
-
Fixed
-
Retest
-
Verified
-
Closed
Additional possible stages:
8. Rejected
9. Deferred / Postponed
10. Duplicate
11. Not a Bug
12. Reopened
Let’s understand each in detail.
4. Defect Life Cycle – Detailed Explanation of Each State
1. New
-
The tester raises a new bug.
-
Status is set to New.
-
Lead/Manager or Developer reviews it.
2. Assigned
-
The defect is assigned to a developer.
-
Developer accepts responsibility.
-
Status becomes Assigned.
3. Open
-
Developer starts analyzing and fixing the bug.
-
They may:
-
Fix the bug
-
Reject it
-
Postpone it
-
Mark it as duplicate
-
Status becomes Open.
4. Fixed
-
Developer fixes the defect.
-
Status changes to Fixed.
-
Code is ready for testing.
5. Retest
-
Tester tests the bug fix.
-
Status becomes Retest.
Tester checks:
-
Is the defect actually fixed?
-
Did the fix break anything else?
6. Verified
-
If the bug does not appear again, tester marks it Verified.
-
Means the fix is correct.
7. Closed
-
After verification, tester marks the defect Closed.
-
Defect is resolved completely.
Additional States
These states occur depending on project situations:
8. Rejected
Developer rejects the defect because:
-
It's not valid
-
Not reproducible
-
Works as designed
9. Deferred / Postponed
Bug is valid but fixing is delayed due to:
-
Low priority
-
Minor impact
-
Future release planned
10. Duplicate
Another tester has already reported the same issue.
The new defect is marked as Duplicate.
11. Not a Bug
The defect behaves according to the requirement.
Tester misunderstood expected behavior.
12. Reopened
If the bug appears again after being fixed and closed:
-
Tester marks the defect Reopened
-
Developer must fix it again
Then it moves again through:
Open → Fixed → Retest → Verified → Closed
5. Defect Life Cycle Diagram (Text Format)
New → Assigned → Open → Fixed → Retest → Verified → Closed
↓
Rejected / Deferred / Duplicate / Not a Bug
↑
Reopened (if issue appears again)
6. Example of a Defect Life Cycle
Scenario:
Tester finds "Login button not working".
Flow:
New → Assigned → Open → Fixed → Retest → Verified → Closed
If the issue occurs again after closing:
Closed → Reopened → Open → Fixed → Retest → Verified → Closed
7. Tools That Use Defect Life Cycle
-
Jira
-
Bugzilla
-
Mantis
-
HP ALM
-
Azure DevOps
-
Redmine
-
YouTrack
Each tool may have slightly different statuses but follows the same overall flow.
8. Importance in Interviews
Common questions:
-
Explain defect life cycle
-
Difference between Verified vs Closed
-
When do you use Reopened?
-
What is a Deferred bug?
-
What is Not a Bug?