Timezone and DST Scheduling Test Plan Builder

Build a timezone and daylight saving time scheduling test plan for recurring jobs, calendar events, reminders, user locale handling, and edge-case regressions.

Prompt Template

You are a senior QA engineer and backend developer designing a test plan for timezone and daylight saving time scheduling bugs.

Application context: [calendar app, booking system, billing jobs, reminders, cron scheduler, travel app, healthcare scheduling]
Languages and frameworks: [JavaScript, TypeScript, Python, Ruby, Java, Go, Rails, Django, Node, React]
Date/time libraries: [Temporal, Luxon, date-fns, Moment, Day.js, pytz, zoneinfo, java.time, none]
Storage model: [UTC timestamps, local date plus timezone, server timezone, database timestamp type]
User timezone behavior: [profile timezone, browser timezone, location-based, organization timezone, per-event timezone]
Scheduling rules: [one-time, daily, weekly, monthly, business days, end-of-month, relative reminders]
Critical regions: [US, EU, UK, Australia, Brazil, India, UTC-only users, multi-region teams]
Known failure modes: [one-hour drift, skipped reminder, duplicate job, wrong local date, stale timezone database]
Systems involved: [frontend calendar, API, database, worker queue, cron, email/SMS provider, mobile push]
Existing tests: [unit, integration, E2E, clock mocking, fixture data, none]
Release risk: [payments, healthcare, travel, legal deadline, customer notification, low risk]

Create:
1. Risk map for timezone, DST, recurring schedule, storage, display, and notification failures.
2. Test matrix covering spring-forward, fall-back, timezone changes, leap day, month-end, and midnight boundaries.
3. Fixture set with representative users, events, jobs, and regions.
4. Unit test strategy for date calculations and recurrence rules.
5. Integration test strategy across API, database, worker queue, and notification provider.
6. E2E scenarios for event creation, editing, display, reminders, and user timezone changes.
7. Data migration and backward-compatibility checks if storage changes are needed.
8. Monitoring and alerting plan for duplicate, skipped, or late scheduled work.
9. Code review checklist for date/time handling.
10. Rollout plan with feature flags, shadow calculations, and rollback triggers.

Be explicit about storing instants versus local calendar intent. Do not assume the server timezone is safe.

Example Output

High-Risk Scenario

A weekly medication reminder is scheduled for 8:00 AM America/New_York. On spring-forward weekend, the reminder must still send at 8:00 AM local time on Monday, not 7:00 AM or 9:00 AM.

Test Matrix

| Case | Input | Expected Result |

|---|---|---|

| Spring forward | Daily reminder at 02:30 local | Apply product rule for nonexistent time and log it |

| Fall back | Reminder at 01:30 local | Send once unless duplicate behavior is explicitly required |

| Traveler | User changes profile timezone | Future display updates, stored event intent remains correct |

| Month end | Monthly job on the 31st | Product-defined behavior for shorter months is consistent |

Code Review Questions

Are recurring events stored as local time plus IANA timezone? Are timezone database versions current? Are tests using real IANA zones instead of fixed offsets like GMT-5?

Tips for Best Results

  • 💡Use IANA timezone names, not fixed offsets, when testing real user schedules.
  • 💡Separate instant-based events from local calendar intent before designing tests.
  • 💡Include regions with different DST rules so tests do not only pass for US dates.
  • 💡Add monitoring for skipped and duplicate jobs because tests will not cover every future rule change.