Boundary Value Analysis (BVA) is one of the most popular test case design methods since it is generally accepted that the input values at the input domain’s extremes (boundaries) lead to more system failures. These boundary values (extreme ends) could be just inside–just outside, start–end, lower–upper, or maximum–minimum.
More application errors—that is, failures at lower and higher limit values of input data—occur at the input domain boundaries.
Instead of looking for faults in the middle of the input domain, the “Boundary Value Analysis” testing method looks for problems at the boundaries. “Boundary testing” is another term for this type of boundary value (or boundary) testing.
The basic principle behind this technique is to choose input data values:
- Just below the minimum value
- Minimum value
- Just above the minimum value
- A Normal (nominal) value
- Just below the maximum value
- Maximum value
- Just above the maximum value
The next step in Equivalence Partitioning is Boundary Value Analysis, which involves creating test cases that are chosen at the margins or boundaries of the equivalency classes. In order to provide adequate coverage, test cases are made to handle both valid and invalid boundary values.
The boundary values of a partition are the maximum and minimum values of each equivalency class partition.
- Valid boundary value refers to the boundary value of a valid equivalence partition.
- Invalid boundary value refers to the boundary value of an invalid equivalence partition.
Example #1: Test cases for input box accepting numbers between 1 and 1000 using Boundary value analysis:
#1) Test cases with test data exactly as the input boundaries of the input domain, i.e. values 1 and 1000 in our case.
#2) Test data with values just below the extreme edges of input domain, i.e. values 0 and 999.
#3) Test data with values just above the extreme edges of the input domain, i.e. values 2 and 1001.
Example #2: Input box (say for accepting age) accepts values between 21 and 55.

Valid input values: 21, 22, 35, 54, and 55
- Minimum boundary value: 21
- Maximum boundary value: 55
- Value at the center (nominal value): 35
Invalid input values: 20, 56
Test cases for input box accepting values between 21 and 55 using Boundary value analysis:
- Invalid value test case: Enter value = 20
- Valid value test case: Enter value = 21
- Valid value test case: Enter value = 22
- Valid value test case: Enter value = 35 (additional test case to check value almost at the center, also called nominal value)
- Valid value test case: Enter value = 54
- Valid value test case: Enter value = 55
- Invalid value test case: Enter value = 56
Example #3: Input box for the password accepts a minimum of 8 characters and a maximum of 14 characters (the length of input value should be in the range of 8 to 14).


Valid input value length: 8, 9, 11, 13, and 14 characters
Invalid input value length: 7, 15 characters
Test cases for password input box accepting minimum 8 characters and maximum 14 characters using Boundary value analysis:
- Invalid input value length test case: Enter 7 characters
- Valid input value length test case: Enter 8 characters
- Valid input value length test case: Enter 9 characters
- Valid input value length test case: Enter 11 characters
- Valid input value length test case: Enter 13 characters
- Valid input value length test case: Enter 14 characters
- Invalid input value length test case: Enter 15 characters
Boundary Value Analysis is often referred to as part of Stress and Negative Testing.
Note:Testing just one value from each equivalence class you generated for input domains is not a hard-and-fast rule. Depending on your requirements and prior assessments, you can choose more than one valid and invalid value from each equivalency class.
For instance, if you divide 1 to 1000 input values invalid data equivalence class, then you can select test case values like 1, 11, 100, 950, etc. The same is true for other test cases having invalid data classes.
Boundary Value Analysis VS Equivalence Class Partitioning
| Equivalence Class Partitioning | Boundary Value Analysis |
| Valid & Invalid equivalence classes (ranges) of the input data domain are considered for test design & execution. | It considers the following for input data values: • Minimum – 1 • Minimum • Minimum + 1 • Nominal • Maximum – 1 • Maximum • Maximum + 1 |
| It considers input data values from a range of equivalence classes (intervals) of the input data domain. | It considers input data values based on the defined boundaries of the input data domain. |
| It is significant in identifying bugs in-between the defined equivalence classes. | It is significant in identifying bugs at the boundaries of the input data domain. |
| It can be used at any stage of the testing process. | It is specifically used as part of stress and negative testing. |
| It is important to identify equivalence classes correctly to make effective use of this technique. | Determining correct boundary conditions plays a vital role in effectively using this technique. |
The software testing process can be benefitted by using Equivalence class partitioning and Boundary Value Analysis
Using Test Case Design Techniques: Benefits & Challenges
Benefits
Software testing process can be benefitted by using Equivalence class partitioning and Boundary value analysis techniques in several ways:
- By using these methods, a vast number of test cases are divided into smaller, easier-to-manage test data sets. Further time and resource savings will result from this. Avoiding redundant test cases, which essentially add nothing to test coverage, is made easier by testing just representative and crucial data input values.
- By testing with the most probable and important input data values, these strategies help to increase test efficacy and efficiency and are likely to find more application defects.
- Without compromising the efficacy of testing, these methods offer highly precise logical standards for determining test cases and situations.
- These methods offer a methodical and rational approach to the utilization of the input domain, which simplifies test design and execution. It makes it simpler to find and choose test cases that are less complicated and unclear.
- These testing techniques facilitate the testing of applications that include a large number of calculations or input data combinations.
Challenges
Challenges of Equivalence Partitioning:
- One of the primary difficulties with equivalency class testing is that it necessitates a thorough comprehension of the functionality, system requirements, and expected behavior of the application being tested. Additionally, it calls for solid topic understanding.
- To specify equivalence classes, a formal technique must be developed, which can be challenging for big and complicated characteristics.
- This method is most effective when creating new test cases and test data sets from scratch because converting old test cases can be difficult and time-consuming.
- For non-functional testing, such performance, stress, or usability testing, when several system variations need to be tested, equivalency class partitioning might not be appropriate.
Challenges of Boundary Value Analysis:
- This testing technique may not be useful for testing input domains that are complex and have multiple boundaries, interactions, or dependencies.
- It may necessitate some assumptions about the input data domain, which may or may not be accurate or consistent.
- As with equivalence partitioning, the boundary value analysis technique also requires a proper understanding of system specifications. Many times, system requirements are not quite clear or the quality and completeness of the specifications are not good enough.
- The boundary value analysis technique is not suitable for Boolean variables, Boolean data type has values 0 and 1.
Conclusion
A key component of the testing process is determining the appropriate number and type of test cases. The explanation above demonstrates how Equivalence Partitioning and Boundary Value Analysis approaches can be used to create efficient test cases that are likely to find errors.
I hope you now have a decent knowledge of the methods used in Equivalence Partitioning and Boundary Value Analysis.
YOU MAY BE INTERESTED IN
The Art of Software Testing: Beyond the Basics
Automation testing course in Pune




