Lesson 11 — Process

Bug Life Cycle and Defect Reporting

A defect moves through a predictable set of states from discovery to resolution, and a clear, well-written bug report is essential for that process to move smoothly.

The Bug Life Cycle

While specific tools use slightly different terminology, most defect life cycles follow a similar path from initial discovery through to closure.

  • New — a defect has just been reported.
  • Assigned — a developer has been assigned to investigate.
  • In Progress / Fixed — a fix has been implemented.
  • Retest — a tester verifies the fix resolves the issue.
  • Closed — the fix is confirmed and the defect is resolved.
  • Reopened — the fix didn't fully resolve the issue, and it goes back for further work.

Writing a Good Bug Report

A clear bug report should include exact steps to reproduce, the expected result, the actual result, environment details (browser, OS, device), and a severity/priority rating — everything a developer needs to understand and fix the problem without a lengthy back-and-forth.

Common Mistakes

  • Writing a vague bug report like "the page is broken" with no reproduction steps.
  • Confusing severity (how serious the impact is) with priority (how urgently it needs fixing) — a low-severity bug can still be high priority, and vice versa.
  • Forgetting to include environment details, making a browser- or device-specific bug hard to reproduce.
  • Not verifying a fix thoroughly before closing a defect, allowing it to be reopened later.

Professional Tip

Always include exact, numbered reproduction steps in a bug report — "1. Go to the login page. 2. Enter an email with no @ symbol. 3. Click Submit" — rather than a general description. Precise steps eliminate ambiguity and dramatically speed up the fix.

Your Turn

Write a complete bug report for a hypothetical issue where clicking 'Add to Cart' twice quickly adds the item to the cart three times instead of two.

Mini Quiz

What is the difference between a defect's severity and its priority?