Edge Case
// Definition
A test scenario that exercises a system at or near the extreme boundary of its valid input range, or at the intersection of multiple boundary conditions simultaneously. Edge cases are distinct from boundary values — a boundary value tests one limit in isolation (minimum, maximum, zero), while an edge case may involve combinations of unusual inputs, rare states, or unexpected sequences that only arise at the periphery of normal operation. Examples include an empty string passed to a text field, a file exactly at the permitted size limit, a date of 29 February in a non-leap year, or a shopping cart containing 10,000 items. Edge cases are disproportionately likely to expose defects because developers tend to build and test around the expected path and leave the periphery under-exercised. A disciplined tester explicitly enumerates edge cases for every feature by asking: what is the smallest possible value? The largest? What happens at exactly zero? What if all optional fields are omitted? What if they are all present simultaneously?
// Related terms
Boundary Value Analysis
Testing values immediately at and around boundaries (e.g., min, max, just-below, just-above). Bugs cluster at edges — this technique catches off-by-one errors that equivalence partitioning alone misses.
Equivalence Partitioning
Dividing the input space into groups where the system should behave identically, then testing one representative value per group. Reduces redundant test cases dramatically without losing coverage.
Exploratory Testing
Simultaneous learning, test design, and execution — the tester explores the app, forms hypotheses, and probes them, with no pre-scripted steps. Most effective when time-boxed and chartered.