Trusted answers to developer questions

What is a defect/bug lifecycle in software testing?

Free System Design Interview Course

Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2024 with this popular free course.

A defect lifecycle, or bug lifecycle, is a specific set of states that a software bug goes through from discovery to fixation.

The lifecycle may vary from organization to organization depending on factors like company policy, software developmental model (e.g., Agile, Waterfall, etc.), and project timeline. However, the actual extensive defect lifecycle is illustrated below:​

svg viewer

Steps

A defect lifecycle, as shown above, has the following states or steps:

  • New: When a defect is logged and posted for the first time, its state is set as “new”.
  • Assigned: After the defect has been posted and verified as a bug by the testing team, it is assigned to the corresponding developer team.
  • Open: At this stage, the developer team has begun work on fixing the defect.
  • Fixed: After the necessary code changes are completed by the developers, the defect’s state is set to “fixed”.
  • Pending Retest: After fixing the bug, the developer​ passes it back to the testing team for re-testing. This happens because the bug fix might have caused other bugs to appear, or the bug may not have been fixed properly.
  • Retest: At this stage, the testing team retests the code given to them by the developers.
  • Reopened: If the bug still exists, its state is set back to Open and the lifecycle restarts.
  • Verified: If the bug has been successfully eliminated by the developers, the testing team sets its status to verified.
  • Closed: Once the bug has been verified as fixed, the testing team closes the issue.
  • Duplicate: If the defect is repeated twice or if the defect corresponds to the same concept as the bug, the status is changed to “duplicate.”
  • Rejected: If the developer team feels that the defect is not a genuine defect, they will change the defect’s state to “rejected.”
  • Deferred: If the defect is not of a high priority and is expected to get fixed in the next release, then the defect is deferred.
  • Not a Bug: This state is assigned to defects that were misclassified as defects and did​ not affect the functionality of the software.

RELATED TAGS

defect
bug
lifecycle
software testing
Copyright ©2024 Educative, Inc. All rights reserved
Did you find this helpful?