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
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:
- Use exact wording from error messages — don't paraphrase
- Note the time when the bug occurred (helps engineers find it in logs)
- Try to reproduce it twice before reporting — if you can't, note that
- Record a short screen video if a screenshot doesn't capture the full flow
What severity level to assign
- Critical — system down, data loss, security vulnerability, payment processing broken
- High — core feature broken, no workaround, affects multiple users
- Medium — feature partially working, workaround exists
- Low — minor UI issue, cosmetic, affects edge case only
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 →