Software Testing - Defect Tracking

1. What is Defect Tracking?

Defect tracking is the process of identifying, recording, managing, and resolving defects (bugs) found during software testing or even after release.

A defect is any deviation from expected behavior — it could be a coding error, a design flaw, a missing requirement, or even a performance issue.


2. Why Defect Tracking Matters

  • Keeps testing organized – You know what’s found, what’s fixed, and what’s pending.

  • Improves communication – Developers, testers, and managers all see the same information.

  • Provides accountability – Each defect has an owner and a due date.

  • Gives insights – Metrics like defect density, reopen rate, and resolution time help improve quality.


3. Defect Life Cycle (Workflow)

A defect goes through multiple stages from discovery to closure:

  1. New – Tester finds the defect and logs it.

  2. Assigned – Defect is assigned to a developer.

  3. Open – Developer starts working on it.

  4. Fixed – Developer claims it’s resolved.

  5. Retest – Tester verifies the fix.

  6. Closed – Tester confirms it’s resolved and closes it.

  7. Reopened – If the defect still exists after a fix.

Some teams add states like Deferred (fix later) or Rejected (not a valid bug).


4. Defect Report Structure

A good defect report should include:

  • Defect ID – Unique identifier.

  • Title/Summary – Short, clear description.

  • Description – Detailed steps to reproduce.

  • Environment – OS, browser, app version, test data used.

  • Severity – Impact level (Critical, High, Medium, Low).

  • Priority – Urgency for fixing (P1, P2, P3…).

  • Attachments – Screenshots, logs, videos.

  • Reported By / Date – Who found it and when.

  • Assigned To – Developer responsible.

  • Status – Current state in defect life cycle.


5. Defect Tracking Tools

Popular tools include:

  • Jira (Atlassian) – Widely used, customizable workflows.

  • Bugzilla – Open source, robust for large teams.

  • MantisBT – Lightweight, open source.

  • Redmine – Project + defect tracking.

  • Azure DevOps – Integrated with Microsoft development tools.

  • YouTrack – Agile-friendly tracking.


6. Best Practices

  • Write clear reproduction steps – Avoid vague "it doesn’t work" reports.

  • Classify correctly – Distinguish between defect, change request, and enhancement.

  • Assign proper severity/priority – Don’t call every bug critical.

  • Track status regularly – Avoid “orphan” defects with no owner.

  • Use metrics – Track defect leakage, defect density, fix rate.

  • Link defects to requirements & test cases – Helps with impact analysis.


7. Common Challenges

  • Duplicate defect reports.

  • Poorly documented defects, making debugging harder.

  • Wrong prioritization (minor bugs blocking major releases).

  • Defects found late due to incomplete test coverage.

  • Miscommunication between QA and development teams.