|This article does not cite any references or sources. (December 2009)|
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 distort audio when played at its maximum rated volume, even in the absence of other extreme settings or conditions.
An edge case can be expected or unexpected. In engineering, the process of planning for and gracefully addressing edge cases can be a significant task, and one that may be overlooked or underestimated. Non-trivial edge cases can result in a failure of the object being engineered that may not have been imagined during the design phase or anticipated as possible during normal use. For this reason, attempts to formalize good engineering practices often incorporate information about dealing with edge cases.
In programming, an edge case is typically a unit test that tests a boundary condition of an algorithm, function or method. A series of edge cases around each "boundary" can be used to give reasonable coverage and confidence using the assumption that if it behaves correctly at the edges, it should behave everywhere else.
For example, a function that divides two numbers might be tested using both very large and very small numbers. This assumes that if it works for both ends of the magnitude spectrum, it should work correctly in between.
|This engineering-related article is a stub. You can help Wikipedia by expanding it.|