Q27 of 38 · Manual & exploratory
Walk me through the lifecycle of a defect from discovery to closure.
Short answer
Short answer: New → Assigned → In Progress → Fixed → Ready for Test → Verified → Closed. With branches for Rejected (not a bug), Deferred (won't fix this release), and Reopened (the fix didn't hold).
Detail
A defect's life maps to a state machine; most bug trackers (Jira, Linear, Bugzilla) implement a variant of:
- New / Open — the defect is logged with title, environment, repro steps, severity, and evidence. At this point it hasn't been triaged.
- Triaged / Assigned — a reviewer (often a tech lead or PM) validates the report, sets priority, and assigns it. Either the defect becomes a work item or it's rejected with reasoning ("works as designed", "duplicate").
- In Progress — a developer is actively fixing it: reproducing, root-causing, writing the fix plus tests.
- Fixed / Resolved — the fix is merged. The developer's work is done but QA hasn't verified.
- Ready for Test / In QA — the fix is on a build a tester can validate.
- Verified / Retested — QA has run the original reproduction (retest) and exercised regression around the change.
- Closed — permanently resolved.
Branches off the main path: Rejected (not a bug — works as designed, can't reproduce, duplicate; should always carry an explanation), Deferred / Won't Fix (acknowledged but not fixed in this release), Reopened (verification failed; the original issue persists or returned, goes back to In Progress).
Two practical interview points: closed isn't always the end (some teams keep "closed" defects for trend analysis like injection rate and mean-time-to-fix), and the hand-offs are where defects rot — "fixed but waiting for build" and "ready for test but no tester assigned" are the stages where bugs lose days. A senior engineer cares about cycle time as much as resolution.