QA Exercise 12

Exercise · Bug Hunt (Appointment Booking & Timezones)

QA · Hands-on
Book an appointment, change timezone, and test date/time rules. Find defects in validation, DST/timezone conversion, double booking, and confirmation details. Then present a spoken bug report.
Intentionally buggy: past times sometimes allowed, timezone conversion is reversed, double-booking isn’t blocked, slot availability is inconsistent, and confirmation shows mismatched timezone/time.
Try booking, then switch timezone and check if the displayed time stays consistent.
Edge cases: select a time in the past, or book the same slot twice.
0 bookings
🎯 Instructions (Oral) task flow
  1. Happy path: pick a valid future date/time and enter a clear reason. Book once and read the confirmation.
  2. Past time test: choose a date/time in the past and try to book. Note whether it is blocked.
  3. Timezone test: book a slot in one timezone, then switch the timezone dropdown and check whether the same booking displays correctly.
  4. Double-booking: attempt to book the exact same date/time twice. See if the system prevents it.
  5. Validation: try a very short reason (e.g., “hi”) and see if it is accepted.
  6. 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.