A boundary value analysis is when you look at a condition to understand its limitations while equivalence partitioning helps you group tests in order to select a manageable number of tests. Let's look at boundary analysis first. It's important to recognize that boundaries have lower limits as well as upper limits -- I point out lower boundaries because I often see testers focusing on maximum capacity but forgetting about lower boundaries. A simple boundary analysis would be the review of a single data entry field to determine its limits. In such an example, a lower limit might be that the data entry field is a required field so tests might include attempting to leave the field blank or using the space bar to create an entry. The upper limit tests might include attempting to enter more characters than the field accepts and attempting to exceed the field value in through any method available. I've sometimes exceeded field limits during the import of data in situations where the direct data entry page of an application does a fine job of upholding the limits, but import may not.
Equivalence partitioning is when you examine multiple values to determine where tests overlap or additional tests would not likely provide more value. Let's stay with a single data entry field as an example and imagine the field size is 15 characters and that the data entry field is for the entry of a person's first name. The upper boundary tests would include testing with 14, 15, and 16 characters -- effectively testing before, on and exceeding (or attempting to exceed) the maximum. Your equivalence partitioning might determine that the entries of a single character such as the letter a, b, or c will test the data entry field equally and therefore testing the data entry of every alpha character is not necessary. You might conclude that all alpha or numeric entries are of equal class, meaning you have no reason to suspect one character or one digit will cause a particular issue. You use this method to reduce the number of tests you need to execute.
To stay with this example, you might decide that special characters such as umlauts and accents may need to be tested. These special characters might include characters encountered with names while you also decide that other special characters not associated with people's names can be categorized into another group. This is equivalence partitioning. By grouping values into a partition you reduce the number of tests.
This example show how boundary value analysis and equivalent partition analysis work together. It's a case of looking for limits and then restricting the number of tests to a manageable set. This example was incredibly simple; most applications have numerous complex boundary conditions. Consider boundaries such as printing reports using volumes of data.
BVA means we are checking Boundary values
Example: if we want to check the textbox object which accepts 4 to 10 alphabets char. In BVA we will check that object by giving 3,4,5,9,10,11 lower alphabets char. i.e.min is 4 and max 10, then we will check the object by giving boundary values as min,min-1,min+1,max,max-1,max+1; i.e 4,3,5,10,9,11
ECP means we have to check the type of the object
example:In +ve condition above example we have test the object by giving alphabets i.e. a-z char only, then object will accept the value, it will pass. In -ve condition we will check the object by giving other than alphabets(a-z)
i.e A-Z,0-9,blank etc