What makes a bug report good or bad

A bug report's job is to let a developer reproduce the bug without talking to the reporter. If the developer has to ask follow-up questions ("What browser? What version? What were you doing right before?"), the report has failed.

Good reports contain: what happened, what should have happened, exact steps to reproduce, environment details, and evidence (screenshot or video). That's it. Everything else is optional.

The bug report template

Title: [Component] Short description of the bug in plain English Severity: Critical / High / Medium / Low Summary: One sentence: what broke, where, and what the user was trying to do. Steps to Reproduce: 1. Go to [URL / screen] 2. Click / enter [specific thing] 3. [Next action] 4. Observe the result Expected Result: What should have happened after step 4. Actual Result: What actually happened. Include exact error text if any. Environment: - Browser / OS: Chrome 124 / Windows 11 - App version: v2.3.1 - User role: Admin / Standard - Account/email (if relevant): test@example.com Evidence: [Attach screenshot or screen recording] Additional context: Does this happen every time? Only for certain users? Introduced after a recent deploy?

Examples of bad vs good reports

Bad report (web bug)

Title: Dashboard broken
Description: The dashboard isn't loading for me. Please fix ASAP.

What's wrong: No steps to reproduce. No environment info. "Dashboard" could mean 10 different pages. "Broken" could mean a JS error, a blank screen, or a wrong number. A developer can't fix this without calling the reporter.

Good report (web bug)

Title: [Dashboard] Ticket count widget shows 0 for Admin users after filtering by date

Steps to Reproduce:
1. Log in as Admin (admin@resolvo.com)
2. Go to Dashboard → Overview tab
3. Set date filter to "Last 7 days"
4. Observe ticket count widget

Expected: Widget shows correct count (should be ~47 based on ticket list)
Actual: Widget shows 0. Console error: "TypeError: Cannot read property 'count' of undefined"

Environment: Chrome 124, Windows 11, v2.3.1, Admin role only (Standard users unaffected)
Evidence: [screenshot attached]

Log, track, and assign bugs in Resolvo

Bug templates, severity labels, sprint assignment. Free to start.

Try Resolvo Free →

Bad report (mobile bug)

Title: App crashes sometimes
Description: The iOS app keeps crashing when I use it. Very frustrating.

Good report (mobile bug)

Title: [iOS] App crashes when uploading profile photo larger than 5MB

Steps to Reproduce:
1. Open app on iPhone 14 (iOS 17.4)
2. Go to Profile → Edit
3. Tap "Change Photo"
4. Select any HEIC photo from Camera Roll that is over 5MB
5. App crashes immediately

Expected: Photo uploads or shows a file-size error
Actual: App terminates with no error message. Crash log attached.

Environment: iPhone 14, iOS 17.4, App v3.1.0
Reproducible: 100% of the time with large HEIC files, never with JPEG files under 3MB

Tips for reporters who aren't engineers

If you're a QA tester, support agent, or customer reporting a bug, you don't need to diagnose the cause — just describe what happened as precisely as possible:

What severity level to assign

When in doubt, go one level lower. Over-prioritising bugs makes "Critical" meaningless and erodes trust with engineers who deprioritise inflated severity labels.

Structured bug reporting for your whole team

Templates, severity, sprint assignment, SLA alerts. All in Resolvo. Free to start.

Start Free →