Bug report
Steps to reproduce, expected vs actual behaviour, environment details, and severity. For Jira, Linear, GitHub Issues.
Bug Report
Summary
One-line description of the bug β feature, behaviour, and condition in a single sentence.
Environment
- Browser / OS / Device
- App version / build number / commit SHA
- User role / account type
Steps to Reproduce
- First action
- Second action
- Continue until bug appearsβ¦
Expected Behaviour
What should happen according to the specification or reasonable user expectation.
Actual Behaviour
What actually happens. Include console errors, network response bodies, and screenshots where relevant.
Severity
Critical / High / Medium / Low β and a brief justification for the rating.
Attachments
- Screenshot or screen recording
- Console log or error stack trace
- Network HAR file (for API-related bugs)
Tips: Keep the title under 80 characters. Write steps that any team member can follow independently. Paste error text rather than attaching a screenshot of it β devs can search text.
Bug Report
Summary
Checkout breaks when applying a 100% discount code on Safari.
Environment
- Safari 17.4 / macOS 14.4 / MacBook Pro M2
- v2.18.1 (commit a3f9b2c)
- Logged-in customer
Steps to Reproduce
- Add any item to cart, go to
/checkout - Enter promo code
FREE100 - Click "Apply"
Expected Behaviour
Total updates to Β£0.00 and the place order button enables.
Actual Behaviour
Page hangs approximately 8 seconds, then the console shows:
TypeError: cannot read property 'amount' of null
at applyDiscount (checkout.js:214)
Order button stays disabled. Network tab shows /api/discount returning HTTP 200, but the response body has discount.applied: false.
Reproduced on Safari 17.4 and Safari 17.3. Does not reproduce on Chrome 124 or Firefox 125.
Severity
High β blocks free trial conversions during an active marketing campaign. Affects any user on Safari who attempts to use the discount code.
Attachments
safari-checkout-error.pngconsole-error-stack.txtcheckout-flow.har
// Related templates
Defect triage notes
Triage meeting agenda, defect prioritisation grid, and decisions log. For weekly QA syncs.
Test case
Preconditions, steps, expected results, postconditions. Manual or automated, supports Gherkin.
Test summary report
End-of-cycle test results report. Coverage, pass/fail counts, defects found, and risk assessment.