Extensive testing of an application is important if you want to make a successful web product, and edge testing plays a vital role. Edge test cases are sometimes hard to produce, and a missed edge case scenario can become a show-stopper.
Edge case test cases are those scenarios validated for boundary conditions or in extreme conditions on product usability for maximum and minimum conditions. In edge cases, we test those scenarios which are uncommon, unknown, or impromptu features of the requirements.
One of the most common examples of edge cases is when an invoice-generating application is crashing unexpectedly despite multiple requests because of heavy user traffic.
Another edge case example is when audio is played continuously in the background even after closing a video streaming window.
Sometimes, there can be scenarios like having a large pool of data, but due to time or budget constraints, it is not possible to perform exhaustive testing. In this case, we use equivalence partitioning and boundary value analysis testing techniques.
- Boundary Value Analysis: Tester mainly focuses on boundary values as input data for testing. This technique is used when we have ample test data available and there is a belief that the test cases may fail at upper & lower limits of input data values.
- Equivalence Partitioning: This technique is used when a large dataset is divided into smaller chunks. If any random value from a chunk is passed then that chunk can be considered for evaluation and vice versa.
Note: Corner cases can also be considered edge cases but with a small difference. An edge case is a scenario evaluated at extreme points, i.e. at maximum or minimum. A corner case is when multiple parameters are altogether evaluated at extreme levels.