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:

  1. New

  2. Assigned

  3. Open

  4. Fixed

  5. Retest

  6. Verified

  7. 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?