QA Exercise 8
Exercise · Bug Hunt (Notification Preferences & Quiet Hours)
QA · Hands-on12:00 am and 12:00 pm edge cases.
🎯 Instructions (Oral) task flow
- Turn on Email and Push, leave SMS off. Set frequency to Daily.
- Set timezone to Europe/London. Enter quiet hours:
10:00 pm→7:00 am. Then try12:00 am→12:00 pm. - Add two rules named “Marketing” (Email/Daily) and “Ops” (SMS/Immediate). Add “Marketing” again (duplicate).
- Delete the second rule and observe which row actually disappears. Check the rules and channels counter.
- Click Save settings a few times. Then click Send test alert and note which channel(s) it claims to use.
- Present your spoken bug report: Title → Steps to Reproduce → Expected vs Actual → Severity/Priority → Recommendation.
📖 Vocabulary definitions
- toggle — a control that switches a setting on or off.
- quiet hours — times when notifications should be suppressed.
- time parsing — converting text like “7:30 pm” into a time value.
- timezone offset — difference from UTC used to compute local times.
- idempotent — repeating an action yields the same result (e.g., save doesn’t duplicate).
- deduplication — removing repeated/identical entries from a list.
- consistency — UI state and counters match the actual data.
- suppression — intentionally blocking messages during quiet hours.
🧩 Collocations natural pairings
- enforce quiet hours / respect timezones
- parse AM/PM times / normalize to 24-hour
- deduplicate rules / prevent conflicting settings
- persist preferences / confirm saved state
- verify channel routing / log deliveries
🗣️ Idioms & Phrasal Verbs natural speech
- flip on/flip off — enable/disable: “Email flips off when I turn it on.”
- trip up — cause mistakes: “12 PM/AM trips up parsing.”
- line up with — match: “Counters don’t line up with rules.”
- paper over — hide problems: “Random ‘Saved’ papers over failures.”
- track down — locate: “Track down the off-by-one deletion bug.”
🎤 Model Answer (spoken style) example
Bug title: Toggle states invert; quiet hours and AM/PM parsing are incorrect; timezone ignored; deleting rules removes the wrong row; counters desync; test alert routes to the wrong channel.
Steps to reproduce: Enable Email and Push, set Daily. Choose Europe/London. Enter quiet hours 10:00 pm → 7:00 am, then 12:00 am → 12:00 pm. Add “Marketing” (Email/Daily) and “Ops” (SMS/Immediate), then add “Marketing” again. Delete the second row. Save several times and send a test alert.
Expected result: Toggles reflect user input, quiet hours suppress alerts locally with correct AM/PM parsing, timezone offsets applied, delete removes the selected row, counts equal current data, test alert uses selected channels only.
Actual result: Channel toggles invert, quiet hours treat the end as inclusive and block all day, 12 AM/PM is flipped, timezone fixed to UTC, delete removes the next row, counters over/under-count, and test alert ignores selections.
Severity / Priority: Major severity, P1 — users may miss or get spammed by alerts; routing is unreliable.
Recommendation: Normalize times to 24-hour, fix 12 AM/PM logic, apply real timezone offsets, make save idempotent with explicit success/error states, bind delete to stable IDs, deduplicate rules, and compute counters from canonical state.