Boundary Value Analyses & Equivalence partitioning are both test case design techniques in black box testing.
Equivalence partitioning: In this method, the input data is divided into different three classes.
This method is used to reduce the number of testcases(test Time) to finite set of testable test cases, and to assure best coverage.
Equivalence partitioning is a testing technique where input values set into classes for testing.
*Valid Input Class = Keeps all valid inputs.
*Invalid Input Class = Keeps all Invalid inputs
For Example if you are testing for an input box accepting number 1 to 100 , there is no use to writing 100 testcases for all valid 100 input numbers.
1.We can pick single value from range 1 to 100 as all are valid test cases.
2.Input data class with all values below lower limit like if any value below 1 as a invalid input data test case.
3.Input data class with any value greater than 100 as it is an invalid test cases.
Boundary Value Analyses: This method is used to identify the errors at boundaries rather than center of input text box.
Suppose if test cases for an input box accepting numbers between 1 to 100.
1.Test cases with test data exactly.it can vary input boundary value i.e Values 1 & 100 in our case.
2.Test data with value just below the extreme edges of input domain.i.e 0 to 99
3.Test data with value just above the extreme edges of input domain. i.e 1 to 101.
Lets take another simple example for both techniques
The age of the person should be between 20 and 50
Check with <20,20 to 50, >50
Boundary Value Analysis:
Check with min-1,min,min+1 --> 19,20,21
Check with max-1,max,max+1 --> 49,50,51
Equivalence partitioning is better than Boundary value analyses, because the former has three testcases but the later has six test cases. And also EP covers all Positive and Negative validation in 3 case itself.