Quick answer
A good bug report is specific enough that a stranger can reproduce it in five minutes: an exact title, environment, numbered steps with test data, expected vs actual, how often (5 of 5), what else works (Chrome is fine), severity with a reason, and a short recording. The full example is below; the blank template is on the bug report template page.
A complete example
Title: Checkout: card form clears after applying a coupon (Safari 18.1, prod)
Summary: Applying a coupon at checkout empties the card fields with no error, so buyers on Safari have to re-type their card. Seen by support in 3 tickets this week.
Environment
- Build: web 4.12.0 (prod)
- URL: /checkout
- Browser / OS: Safari 18.1 on macOS 15
- Account: any buyer account (test buyer: qa-buyer@example.com)
- Flags: new-checkout ON
Steps to reproduce
1. Log in as the test buyer and add any item to the cart
2. Open checkout and enter test card 4242 4242 4242 4242
3. Type SAVE10 in the coupon box and press Apply
Expected result
Discount is shown and the card fields stay filled; Pay is enabled.
Actual result
Discount is shown, but all card fields are empty and Pay is disabled. No error message. Console: none.
How often: Always (5 of 5 tries). Chrome 130 and Firefox 131 work.
Severity: S2 Major (core flow fails for a meaningful group: Safari users), workaround: re-type the card.
Evidence: 40-second screen recording attached (coupon-clears-card.mp4).
Workaround: apply the coupon before entering the card.Why this one gets fixed fast
- The title alone tells the developer the area, the symptom, the trigger and the browser.
- "Chrome and Firefox work" narrows the cause to Safari-specific behaviour before anyone opens the code.
- Test data that anyone can use (a test card and coupon) removes the "can you send me your account?" round trip.
- Severity comes with its reason, so triage can agree or disagree quickly (severity vs priority).
- The recording shows the timing: the fields clear the moment Apply is pressed.
Before and after
Before: "Checkout doesn't work."
After: "Checkout: card form clears after applying coupon SAVE10 (Safari 18.1, prod). Steps: 1) add any item, 2) enter card, 3) apply SAVE10. Expected: card stays filled. Actual: card fields empty, no error. 5 of 5 tries. Chrome works. Video attached."
Before: "Sometimes the app logs me out."
After: "Session: logged out after ~30 min while active in the editor (Chrome 141, prod). Happened 3 times today at 10:02, 10:41, 11:15 IST. Console shows 401 on /api/session/refresh. Request IDs in thread. Started after release 4.12."
Before: "The new design is broken on mobile."
After: "Settings page: Save button hidden behind the cookie banner at 375 px width (iPhone 13, iOS 18, Safari). Scrolling does not reveal it. Screenshot attached. Desktop fine."
Bug title examples
| Vague | Specific |
|---|---|
| Checkout broken | Checkout: card form clears after applying a coupon (Safari 18, prod) |
| Login issue!! | Login: "Invalid token" after password reset link is opened twice (all browsers) |
| Export bug | CSV export: rows after 10,000 are missing (Team plan, prod) |
| App is slow | Dashboard: first load takes 9 s with 50+ projects (Chrome, staging) |
Record the video part
A 40-second recording like the one in the example is quicker to make than a written description of the timing. Bobbin is a free Chrome extension that records your screen, a window or a tab with your microphone and an optional webcam bubble. No account, no watermark, no time limit, and nothing is uploaded: the file stays on your computer.
- Click the Bobbin icon in Chrome's toolbar and choose Record screen, window or tab.
- Pick your microphone and turn on the camera if you want the webcam bubble.
- Press Start recording, choose what to share in Chrome's picker, and wait for the 3-second countdown.
- Pause with Alt+Shift+P, stop with Alt+Shift+S, then press Download to save the file.
To keep other tabs and notifications out of it, share just the Chrome tab (the webcam bubble appears only in screen and window recordings). Bobbin saves MP4 where your browser supports it (Chrome 126 or newer), WebM otherwise, and tells you which it used.
File size: our 60-minute 1080p test came to about 246 MB (roughly 4 MB a minute) on a simple synthetic screen; busy real screens can be larger, so a 1–2 minute clip is usually small enough to attach.
From The Bug Report & QA Kit
The kit includes the anatomy guide, 10 templates and 8 bug-video scripts. The full kit: 10 bug templates for GitHub, Jira, Linear and Markdown, 9 release checklists (126 checks), the severity guide, 8 bug-video scripts and trackers.
See the QA kit ($15, one-time) PDF + ZIP · 7-day refund · more free samples on the page