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:
-
New – Tester finds the defect and logs it.
-
Assigned – Defect is assigned to a developer.
-
Open – Developer starts working on it.
-
Fixed – Developer claims it’s resolved.
-
Retest – Tester verifies the fix.
-
Closed – Tester confirms it’s resolved and closes it.
-
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.