How to use Edge Case Generator
- List the fields (types are inferred from names such as releaseDate or attachment).
- Keep concurrency cases on for forms that create or update records.
- Generate and use the "Edge cases by field" table as a review checklist.
Edge Case Generator features
- Knowledge base of edge cases for strings, numbers, dates, files, lists, booleans, enums, emails, URLs, phones, passwords and UUIDs
- Unicode (Arabic, Devanagari, emoji, NFC/NFD), whitespace, control characters and injection payloads
- Calendar and timezone traps: leap days, DST, extreme offsets, epoch, year 2038
- Concurrency and session cases: double submit, lost update, retry storms, back-button resubmission
- Each case states the value, why it matters and the expected behaviour
- Export as Markdown, JSON, CSV or Gherkin
Edge Case Generator example
Edge cases for a date field
Input:
releaseDate: dateOutput:
2024-02-29 Leap day Accepted
2023-02-29 Non-leap year 29 Feb Rejected
2100-02-29 Century non-leap year Rejected
23:59:59.999 End of day Belongs to the same day
DST switch day Missing/duplicate hour No duplicated or lost events
2038-01-19 Year-2038 32-bit overflow HandledFrequently asked questions about Edge Case Generator
Which edge cases are in the knowledge base?
Strings: empty, whitespace, Unicode (Arabic, Devanagari, emoji, normalisation), control characters, injection payloads and length limits. Numbers: zero, negative zero, precision, overflow, NaN. Dates: leap days, DST, extreme offsets, epoch and year 2038. Files: size limits, spoofed types, path traversal. Lists: empty, duplicates, nesting. Booleans, enums, emails, URLs, phones, passwords and UUIDs have their own sets.
What are the concurrency cases?
Double submissions, simultaneous edits, deletes during a view, retries after timeouts, expired sessions and browser back-button resubmission — the classic sources of duplicate records and lost updates.
How is this different from boundary values?
Boundary values are numeric edges of a range. Edge cases cover everything else that tends to break: encodings, calendars, sizes, timing and type confusion.
Can I add my own edge cases?
Export the cases as CSV or JSON and append your product-specific ones; the ids stay stable so the sets merge cleanly.