Edge cases are the boundaries — where bugs hide.
Categories:
1. Boundary values:
- Min, max, zero, negative.
- Field length limits.
- Date range edges.
2. Empty / null:
- Empty list, empty string, null reference.
- Many code bugs are NPEs.
3. Special values:
- Single quote in text fields.
- Backslash, semicolon, special chars.
- Unicode, emoji.
- Very long strings.
4. Concurrency:
- Two users editing same record.
- Race conditions.
- Stale data.
5. Permissions:
- User without expected access.
- User with extra access.
6. Dates and times:
- Year-end, month-end.
- Time zone boundaries.
- Daylight saving.
- Leap year.
- Very old / very future dates.
7. Bulk:
- 1 record vs 200.
- 200 records.
- Above 200 (governor limits).
8. Network:
- Offline.
- Slow network.
- Timeout.
9. Localization:
- Different locales, currencies, languages.
10. Error conditions:
- Required field missing.
- Validation failure.
- External service down.
Techniques:
- Equivalence partitioning: group similar inputs.
- Boundary value analysis: test edges.
- Error guessing: from experience.
- State transitions: all valid transitions.
- Use case coverage: end-to-end paths.
Senior QA insight: edge cases reveal architectural decisions. Test cases that boundary-test help validate the design.
