Edge Case
A scenario that describes unusual but valid behaviour — the conditions at the edges of what the feature supports. Often the source of support tickets.
An edge case is a situation the feature is technically meant to handle, but that sits at the boundary of normal use. Not an error, not a bug — just unusual. A user uploading 10 files at once when most upload one or two. A task being reassigned mid-sprint. A filter being applied to an empty result set.
Edge cases are where most support tickets originate. Not because the feature is broken, but because the behaviour in those situations is surprising — and nobody documented it. A good specification makes these cases explicit. A bad one only describes the happy path and leaves your support team to figure the rest out from production.
Living specifications are particularly good at surfacing edge cases: the code already handles them (otherwise they'd be errors), and a spec derived from the code can describe them automatically.
Example
Related Terms
A single plain-language description of how a product behaves in a specific situation. The atomic unit of a living product specification.
A scenario that describes the expected, successful flow of a feature — what happens when everything goes right and the user stays on the main track.
A scenario that describes what the product does when something goes wrong — invalid input, failed validations, blocked actions, or system-level failures.
See it in practice
The Specsight demo shows real scenarios, features, and a complete living product spec — generated from an actual codebase.