How to write bug reports so devs fix twice as fast
Bug report template plus bad vs good examples. Includes an AI-draft, QA-review workflow — worth saving for both QA and engineering.
How to write bug reports so devs fix twice as fast Bug report template plus bad vs good examples.
Devs aren't slow because bugs are hard. Often they're slow because the report can't be reproduced.
A good bug report kills the ping-pong of "can't see it", "send more screenshots", "which environment?". Goal: open ticket → start fixing, not two hours of detective work.
Template (copy to Jira / Linear / GitHub)
## [Module] Short wrong-behavior summary
**Environment**
- URL:
- Build/version:
- Browser + OS:
- Account/role:
**Steps to reproduce**
1.
2.
3.
**Expected**
...
**Actual**
...
**Frequency:** always | often | once
**Suggested severity:** S1–S4 + one-line reason
**Impact:** who hurts, how many, workaround?
**Attachments:** screenshot, video, HAR, request id
Bad vs good
❌ Bad
"Checkout broken, fix ASAP."
Dev asks: which browser? which user? blank page, 500, or disabled button?
✅ Good
[Checkout] Mobile Safari — Paid but UI stays Pending
- Env: staging, build 512bd8d, iPhone 15 / Safari 17, buyer@test.local
- Steps: Login → Cart 1 item → Pay 4242… → Redirect /orders → Refresh immediately
- Expected: Order #1234 Paid within 30s
- Actual: Pending after 2 min; Network shows webhook 200 but GET /orders still pending
- Freq: 3/3 with early mobile refresh
- Impact: users think payment failed; ~5 support tickets/week
Same bug — fix time can easily halve.
AI draft, QA review
Workflow I recommend:
- QA captures rough notes while testing (bullets, messy is fine).
- Paste into AI with:
From the QA notes below, write a standard bug report with:
Title, Environment, Steps, Expected, Actual, Severity, Impact.
Do not invent steps not present in the notes.
Notes:
[paste here]
- QA reviews for 2 minutes: steps accurate? severity fair? any sensitive data leaked?
- Dev gets the ticket.
AI saves 10–15 minutes of formatting. QA still signs off — only they have full context.
Quick severity (stop debating)
| Level | When |
|---|---|
| S1 | Prod down / money / data leak |
| S2 | Core flow broken, no workaround |
| S3 | Wrong but workaround exists |
| S4 | Cosmetic, copy, rare edge |
One sentence of impact beats abstract priority arguments.
Attachments worth sending
- Screenshot with URL + visible timestamp
- Video < 30s, single repro path
- HAR or request id for API issues
- Console errors, full red line copied
Skip the unordered gallery of 40 images.
What devs need after reading
If QA checks these before submit:
- Can I reproduce without asking back?
- Do I know which module likely owns this?
- Do I know pass criteria when fixed?
Three ticks = report is good.
Save the template as a snippet. Next bug: measure time from ticket open to dev comment "reproduced".
Cùng trao đổi
Bình luận
Chưa có bình luận
Chưa có bình luận nào. Hãy là người đầu tiên nhé.