LINQ  

Defect Life Cycle (Bug Life Cycle) States Explained

โœจ Introduction

In software testing, bugs (also called defects) are common and can occur in any application. A Defect Life Cycle (also known as the Bug Life Cycle) explains the step-by-step journey of a defect from the time it is found to the time it is fixed, retested, and closed. This life cycle helps software testers, developers, and managers stay aligned and ensures that no bug is missed or overlooked. In simple words, it is the roadmap of a bugโ€™s life inside the software development process.

๐Ÿ” 1. New (Defect Found)

When a tester discovers a bug in the software, they report it in a defect tracking tool (like JIRA, Bugzilla, or Azure DevOps). At this point, the bugโ€™s status is marked as New. The bug is just reported, not yet reviewed or assigned to anyone.

๐Ÿ“Œ Example: A tester finds that when they click the โ€œLoginโ€ button, nothing happens. They create a new bug in JIRA with screenshots, steps to reproduce the issue, and expected vs actual results. The bug is now in the โ€œNewโ€ state.

๐Ÿ“ 2. Assigned

Once the defect is logged, the project manager or lead reviews it and assigns it to the correct developer who will fix it. The status is then updated to Assigned.

๐Ÿ“Œ Example: The login issue is reviewed by the QA lead and assigned to Developer A. Now, Developer A is responsible for working on it.

๐Ÿ› ๏ธ 3. Open (Work in Progress)

When the developer starts analyzing and working on the defect, the status becomes Open. At this stage, the developer tries to reproduce the issue, checks the code, and begins making changes to fix it.

๐Ÿ“Œ Example:

// Bug: Login button not redirecting
// Fix: Corrected navigation path
buttonLogin.Click += (s, e) => {
    NavigateTo("DashboardPage");
};

๐Ÿ”ง 4. Fixed

Once the developer corrects the issue in the code and feels it is resolved, the defect is marked as Fixed. This does not mean the issue is completely solved yet; it just means the developerโ€™s work is done, and the bug is ready for retesting by the QA team.

๐Ÿ“Œ Example: Developer A fixes the login button code and marks the defect as โ€œFixed.โ€

๐Ÿงช 5. Retest

Now the tester checks the application again to verify if the defect is really solved. This is called Retesting. The tester follows the same steps mentioned in the bug report to confirm if the fix works.

๐Ÿ“Œ Example: The tester tries logging in again after the fix. This time, the button redirects the user to the dashboard. If it works, the tester moves the bug to the next stage.

โœ… 6. Closed

If the tester verifies that the issue is fixed and the application works as expected, the status of the defect is changed to Closed. This means the bug is resolved permanently.

๐Ÿ“Œ Example: The login button now works in Chrome, Firefox, and Edge. The tester marks the defect as โ€œClosed.โ€

โŒ 7. Reopened

If the tester finds that the defect still exists, or if it reappears in another part of the software, the defect is Reopened. It then goes back to the developer for fixing again.

๐Ÿ“Œ Example: The login button works in Chrome but still fails in Firefox. The tester reopens the bug for further fixing.

๐Ÿ’ค 8. Deferred

Sometimes, defects are valid but not critical for the current release. In such cases, they are postponed to be fixed later. These are marked as Deferred.

๐Ÿ“Œ Example: A minor spelling error in the โ€œHelpโ€ page is noted but marked as deferred to the next version release.

๐Ÿšซ 9. Rejected

If a developer or manager decides that the issue reported is not actually a defect, it is marked as Rejected.

๐Ÿ“Œ Example: A tester reports that the app background color should be green instead of blue. But the requirements say it should be blue. Hence, the defect is rejected.

๐Ÿ“‚ 10. Duplicate

When the same issue is reported multiple times by different testers, it is marked as Duplicate to avoid confusion.

๐Ÿ“Œ Example: Two testers report the same โ€œLogin button not workingโ€ issue. One of the reports is marked as duplicate.

๐Ÿ“Š Summary

The Defect Life Cycle (Bug Life Cycle) is a step-by-step process that explains how defects move through different stages from being reported to being closed. The key stages include New, Assigned, Open, Fixed, Retest, Closed, Reopened, Deferred, Rejected, and Duplicate. Each stage plays an important role in ensuring that bugs are properly tracked, fixed, and verified. In simple words, the defect life cycle ensures that every bug gets attention, is fixed at the right time, and the final software delivered to users is of high quality. This structured approach improves teamwork, reduces risks, and helps deliver a bug-free product to customers.