Can someone explain difference between Corner Case Testing, Boundary Case Testing and Edge Case Testing with an example.
Corner Case Testing:
When the system breaks only for a specific valid input
Imagine a function getcar() that that takes a number and all numbers from 1-5 are valid inputs:
getcar(wheel=?) function works with all numbers but fails for getcar(wheel=3)
Edge Case Testing:
Here we check that the system handles extreme values of valid limits.
For the above example, the valid edge case scenarios are getcar(wheel=1) and getcar(wheel=5)
Boundary Case Testing:
Here we check that the system handles boundary values around the edge case values.
so in the above example, edge case values are 1 and 5. So, the boundary cases would be 0,2,4,6
These 3 are are common terms used in functional testing services and below are the details with example:-
The edge cases are cases whereby there is one condition tested on the extreme ends of possible values.
For simplicity consider a hardware example, a speaker with a volume range from 0 to 10; has edge cases at 0 and 10. Other example like what would happen if a user tries to upload a file with the maximum size allowed.
Corner cases are where multiple edge conditions are involved in testing. In our speaker example, a corner case could be testing volume extremes (like in an edge case) but at the same time test the edge of bass levels
For the file uploading service example, what would happen if:
-A user uploads a file with the maximum size allowed
-Multiple users try to do the same thing
Boundary CasesHere we test at the area around the edges.
For the speaker example with volume range from 0 to 10, possible boundary cases could test the speaker at volume levels 9, and 11 For file upload say file allowed size is 100 then test the upload for file size 99 and 101