QA Exercise 12
Exercise · Bug Hunt (Appointment Booking & Timezones)
QA · Hands-on🎯 Instructions (Oral) task flow
- Happy path: pick a valid future date/time and enter a clear reason. Book once and read the confirmation.
- Past time test: choose a date/time in the past and try to book. Note whether it is blocked.
- Timezone test: book a slot in one timezone, then switch the timezone dropdown and check whether the same booking displays correctly.
- Double-booking: attempt to book the exact same date/time twice. See if the system prevents it.
- Validation: try a very short reason (e.g., “hi”) and see if it is accepted.
- Speak your report: Title → STR → Expected vs Actual → Severity/Priority → Recommendation.
📖 Vocabulary definitions
- timezone conversion — translating a time from one timezone to another.
- DST (daylight saving time) — seasonal clock changes that can shift times by 1 hour.
- double booking — scheduling two appointments in the same time slot.
- availability — whether a time slot can be booked.
- validation — rules that prevent invalid data (e.g., no past dates).
- confirmation — final message showing the booked details.
- canonical time — a single “source-of-truth” time stored in one standard timezone (often UTC).
- edge case — unusual case that can reveal hidden bugs.
🧩 Collocations natural pairings
- convert timezones / store times in UTC
- block past dates / enforce rules
- prevent double-booking / check availability
- display confirmation details / match expected output
- reproduce the issue / log a ticket
🗣️ Idioms & Phrasal Verbs natural speech
- mess up — break or handle badly: “The app messes up timezone conversion.”
- line up — match: “The confirmation doesn’t line up with the selected time.”
- slip through — not get blocked: “Past bookings slip through validation.”
- pin down — identify precisely: “We need to pin down the DST edge cases.”
- lock down — make strict/secure: “Lock down double-booking checks.”
🎤 Model Answer (spoken style) example
Bug title: Appointment booking allows past slots and shows incorrect time after timezone change.
Steps to reproduce: First, select a timezone like Asia/Ho_Chi_Minh, choose a time in the past, and click Book. Next, book a future slot and then switch the timezone to UTC or America/Los_Angeles. Finally, try booking the same slot twice.
Expected result: Past times should be blocked, confirmations should display the correct converted time, and the same slot should not be bookable twice.
Actual result: Past slots sometimes get accepted, the confirmation time appears reversed after changing timezone, and double-booking is not consistently prevented.
Severity / Priority: High severity, P1 priority — incorrect appointment times can cause missed calls and scheduling conflicts.
Recommendation: Store canonical time in UTC, convert only for display, enforce “future-only” validation, and block duplicates by slot ID/time key. Add tests around DST and timezone conversions.