Writing Effective Bug Reports

Learn how to write bug reports that developers can actually use — with clear reproduction steps, proper severity and priority classification, and all the fields that matter.

Manual QA Module 2 Lesson 1
10 min read

What you'll learn

  • Write a complete bug report with all required fields
  • Distinguish between severity and priority
  • Describe bugs clearly enough for reliable reproduction

Writing Effective Bug Reports

Finding a bug is half the job. The other half is communicating it so a developer can reproduce and fix it fast. A sloppy bug report costs days of back-and-forth.

Bad vs. Good Bug Report

Bad Report

  • Title: 'Checkout is broken'
  • 'I tried to buy something and it did not work'
  • No steps to reproduce
  • No environment info
  • No error message captured
  • No severity or priority
  • Developer has no idea where to start

Good Report

  • Title: 'Checkout fails with Payment error on expired card'
  • Exact steps with test card: 4111 1111 1111 1111, exp 01/2020
  • Expected vs actual clearly stated
  • Environment: Chrome 120, macOS 14.2, v2.3.1
  • Exact error text captured
  • Severity: Minor | Priority: Medium
  • Developer can reproduce and fix without asking

VerdictThe good report tells the developer exactly what happened, how to make it happen again, and what should have happened.

Quick check

Question 1 of 10 correct

Which of these titles is the most useful?

Structure of a Bug Report

FieldPurpose
TitleOne-line summary of the defect
DescriptionDetailed explanation of the issue
Steps to ReproduceExact actions to trigger the bug
Expected ResultWhat should happen
Actual ResultWhat actually happens
EnvironmentBrowser, OS, device, app version
SeverityHow badly the defect impacts the system
PriorityHow urgently it should be fixed
AttachmentsScreenshots, logs, videos

Bug Report

8 fields
Title:"Short, specific summary"
Severity:"Critical / Major / Minor / Trivial"
Priority:"Urgent / High / Medium / Low"
Environment:"Browser, OS, URL"
Steps to Reproduce:"1. Go to... 2. Click... 3. ..."
Expected Result:"What SHOULD happen"
Actual Result:"What actually happens"
Screenshot/Logs:"Visual evidence"
A great bug report has all these pieces.

Severity vs. Priority

Severity

  • Technical impact on the system
  • 'How badly does it break things?'
  • Determined by the tester
  • Levels: Critical, Major, Minor, Trivial
  • Example: app crash = Critical

Priority

  • Business urgency of fixing it
  • 'How soon must it be fixed?'
  • Determined by product/manager
  • Levels: Urgent, High, Medium, Low
  • Example: CEO typo = Urgent

VerdictSame bug can be Trivial severity but Urgent priority — or Major severity but Low priority. Keep them separate.

Severity Levels

LevelMeaningExample
CriticalSystem unusable, data loss, or security breachUsers can’t log in; personal data exposed
MajorCore feature broken, no workaroundCart totals wrong; search returns nothing
MinorFeature imperfect, workaround existsSort order wrong, but user can scroll
TrivialCosmetic issue, no functional impactTypo on a button label

Priority Levels

LevelMeaningExample
UrgentFix immediately, hotfix if neededProduction down; active security breach
HighFix this sprint or releaseCore workflow broken for many users
MediumFix in next planned releaseNon-critical feature has a defect
LowFix when time allowsCosmetic issue on a rarely visited page

Severity vs Priority

Severity
High

High Severity, Low Priority

Edge case crash that affects 0.1% users

High Severity, High Priority

App crashes for everyone on login

Low Severity, Low Priority

Typo in the footer that says 2023

Low Severity, High Priority

CEO name typo on landing page

Low
LowHigh
Priority
Severity = how bad. Priority = how urgent. These are different!

Tips for Reproducible Bug Reports


Practice: Match Severity Levels

Drag each scenario to its correct severity level.


Practice: Spot the Problems in This Bug Report

You are reviewing a teammate's bug report before it goes to the development team. Identify all the problems that would make this report difficult for a developer to act on.

Title: Search is broken

Description: When I searched for something the results were wrong. I think it might be a backend issue. It happened on my computer.

Steps to Reproduce:
1. Go to the search page
2. Search for something
3. See wrong results

Expected Result: Correct results should show up.

Actual Result: Wrong results.

Severity: Critical
Priority: Urgent

Found 0 of 5 bugs



Quiz

Question 1 of 20 correct

A production database vulnerability allows unauthorized users to read other customers' personal information. No data has been lost yet, but the exposure is active. What severity and priority combination is most appropriate?