Read the bug scenario below, then fill in every field of the bug report template. The Guru will send your report back if it is missing Steps to Reproduce or a clear Expected Result — just like a real developer would.
Learning: Write It Down · Defect Reporting (Junior)
🐛 The Bug You Found
You are testing KiwiCart, a small NZ online grocery ordering app. You are working through the checkout flow as part of your grad practice session.
You added 3 items to your cart and proceeded to checkout. On the delivery address screen, you entered a valid NZ address including a suburb and postcode. When you clicked "Continue to payment", the page showed a spinner for about 4 seconds and then displayed a blank white page. The URL changed to /checkout/payment but no content loaded. The browser console (F12) showed a JavaScript error: TypeError: Cannot read properties of undefined (reading 'suburb').
You refreshed the page and were taken back to an empty cart — your 3 items were gone.
Your task: Write a complete, professional bug report so a developer can reproduce and fix this issue. Every field marked * is mandatory.
💡 Why every field matters
- Title — A developer skimming 50 tickets needs to understand the bug in one line.
- Steps to Reproduce — Without these, the developer cannot see the bug. A report without steps is not a report.
- Expected Result — Tells the developer what correct behaviour looks like. Without it, they cannot confirm whether their fix worked.
- Actual Result — Exactly what went wrong. "Doesn't work" is not an actual result.
- Severity — Helps the team prioritise. Data loss is Critical. A cosmetic typo is Low.
- Environment — A bug that only occurs on Safari iOS is a very different fix from one that occurs everywhere.
✏ Bug Report Template
Fill in all fields. Fields marked * are required before the Guru will review your report.
Please write a descriptive title.
Please select a severity level.
Steps to Reproduce is required. A report without reproduction steps cannot be fixed.
Please describe what actually happened.
Expected Result is required. Without it, the developer cannot confirm whether their fix is correct.
💡 What the Guru will check
- Steps to Reproduce — Are they numbered? Can a developer follow them to see the bug? Are they specific enough (exact URLs, exact data)?
- Expected Result — Does it describe the correct behaviour precisely, or is it vague (“should work”, “page should load”)?
- Actual Result — Does it include the error message, UI state, and any console output?
- Severity — Is the chosen severity appropriate for a data-loss bug?
- Title — Is it specific enough to be useful in a backlog of 50 tickets?
The Guru will send your report back if Steps to Reproduce or Expected Result are missing, too vague, or only one sentence. This mirrors how a real development team handles incomplete bug reports.
✅ Sample Answer
| Title | Blank page displayed after entering valid delivery address at checkout — cart items lost on refresh |
|---|---|
| Severity | Critical — data loss (cart cleared) and complete payment flow failure |
| Environment | Chrome 124, Windows 11, KiwiCart v2.1.0 (staging environment) |
| Preconditions | 1. User is logged in to KiwiCart. 2. Cart contains at least 1 item (any item). |
| Steps to Reproduce |
1. Navigate to https://kiwicart.co.nz and log in with a registered account. 2. Add any 3 items to the cart. 3. Click the cart icon and select "Proceed to checkout". 4. On the delivery address screen, enter a valid NZ address: Name: Test User Street: 14 Aroha Street Suburb: Petone City: Lower Hutt Postcode: 5012 5. Click "Continue to payment". |
| Actual Result | A loading spinner appeared for approximately 4 seconds. The page then became a blank white screen. The browser URL changed to /checkout/payment but no page content loaded. The browser console (F12 → Console) displayed the error: TypeError: Cannot read properties of undefined (reading 'suburb'). Refreshing the page at /checkout/payment redirected to an empty cart — the 3 items were lost. |
| Expected Result | After clicking "Continue to payment", the payment screen should load within 2 seconds, displaying: the order summary (items, quantities, subtotal), the entered delivery address for confirmation, and payment method options (credit/debit card, PayNow). No errors should appear and the cart should be preserved. |
| Additional Notes | Reproduced consistently: 3 out of 3 attempts. Tried with different NZ postcodes (Auckland 1010, Christchurch 8011) — same result. Would attach screenshot of blank page and console error. Possible cause: the suburb field is not being mapped correctly when passed to the payment page component. |
Key things the sample gets right: The title names the symptom AND the side effect (cart loss). Steps include exact test data. Actual result quotes the console error verbatim. Expected result specifies the layout, timing, and what should be preserved — a developer can use this directly to write a fix acceptance criterion.