Edge cases are inputs located at the boundaries of normal behavior: empty value, zero, negative, very large, duplicates, accented text, a single data point. They concentrate many bugs. Identifying and systematically testing them is a foundation of software quality.
Example
For an average function: empty list, a single element, negative values.