🐛 Reading: Jira Tickets & Bug Reports
3 exercises — read authentic bug reports and user stories. Extract environment details, steps to reproduce, expected vs. actual results, and acceptance criteria.
Bug report anatomy: what to find where
- Title → what is broken + where (brief, specific)
- Environment → OS, browser, version, reproducibility rate
- Steps to Reproduce → exact steps to trigger the issue
- Expected vs. Actual → the core of what's wrong
- Console errors → most actionable technical clue
0 / 3 completed
1 / 3
Bug Report
Title: Checkout button unresponsive on iOS Safari 17 when cart has 3+ items
Environment:
- Device: iPhone 14 Pro (iOS 17.3.1)
- Browser: Safari 17.3
- App version: 4.2.1 (production)
- Reproducibility: 100% on affected device/browser combination
Steps to Reproduce:
1. Open the app at https://shop.example.com on iPhone 14 Pro with Safari
2. Add 3 or more items to the shopping cart
3. Navigate to the cart page (/cart)
4. Tap the "Checkout" button
Expected Result:
User is navigated to the checkout flow (/checkout/step1)
Actual Result:
Nothing happens. The "Checkout" button does not respond to taps.
No error appears in the UI.
Console (from Safari Web Inspector): "TypeError: Cannot read property 'length' of undefined at checkout.js:142"
Attachments:
- screen-recording-checkout-bug.mp4 (shows the tap with no response)
- safari-console-error.png According to the bug report, on which specific line in the JavaScript code does the error occur?
Line 142 in checkout.js — extracted from the console error:
The bug report console error reads: "TypeError: Cannot read property 'length' of undefined at checkout.js:142"
This tells a developer exactly where to look:
The bug report console error reads: "TypeError: Cannot read property 'length' of undefined at checkout.js:142"
This tells a developer exactly where to look:
- Error type:
TypeError— a type mismatch or unexpected null/undefined - Operation: trying to read the
lengthproperty - Problem: the value was
undefinedinstead of an array or string - Location:
checkout.js, line142
- Title → brief summary of what's broken and where
- Environment → which setup reproduces it (OS, browser, version) — critical for intermittent bugs
- Steps to Reproduce → how to recreate it from scratch
- Expected vs. Actual → the core of what's wrong
- Console errors / attachments → often the most technically useful section for developers