An edge case is usually defined as what Wikipedia would say,
An edge case is a problem or situation that occurs only at an extreme (maximum or minimum) operating parameter. For example, a stereo speaker might noticeably distort audio when played at maximum volume, even in the absence of any other extreme setting or condition.
Apart from wikipedia, here are some more definitions from the top search results which sound very similar and source of confusion: "The situation where the test examines either the beginning or the end of a range, but not the middle, is called an edge case." Source and "Edge cases deal with the extreme maximums and minimums of parameters." Source.
There is also this older SE question from 2011, where the top answers speak about edge cases occuring at extreme (maximum or minimum) operating parameters.
These definitions sound quantitative e.g. you need to test minimum or maximum values.
Also, there were examples given here: How do you identify “edge” cases on algorithms?:
String with some known special cases:
- Unicode string (special characters)
- If limited to a specific set of characters, what happens when some are not in the range
- Odd/even length string
- Non-null terminated
Sort algorithm that could fail in the following boundary cases:
- Duplicate elements
- Collection with all elements equal
- Odd/even length input
How are these string and sort algorithm examples fall under boundary cases or, extreme cases, or, minimum or maximum value?
Aren't these simply "special cases" rather than saying there's an edge, boundary to them?