Equivalence partitioning and Boundary value analysis both the techniques help us to find test data effectively which will almost cover all the test scenarios and its all help us in selection of test cases.
As we all know testing for all possible condition is not possible, if someone try to test software for all the possible condition then it might take more than 2-3 year or even more than that.
Take a example, suppose there is an e-commerce site under test and you are the Tester and one of the requirement of e-commerce site is ”user should get 5% discount on purchasing goods worth rupee 5,000 to 10,000 and if user purchase more than 10,001 then it should get 7% discount”.
After understanding the requirements testers need to write test cases. It is possible to check the discount for each amount ?? think on it. Would you write the test cases as follow ??
Under following condition user should not get any discount
--> check the discount when user purchase a goods of 1 rupee.
--> check the discount when user purchase a goods of 2 rupee.
.
.
.up to
--> check the discount when user purchase a goods of 4999 rupee.