By Andréia Ribeiro
Boundary Value Analysis (BVA) is one of the most widely used test design techniques in QA. While Equivalence Partitioning focuses on groups of input values, BVA focuses on the edges of these groups, where errors are most likely to occur.
Many software defects happen exactly at the boundaries, for example, when a system incorrectly accepts or rejects values that are just inside or just outside an allowed range. Because of this, testing only “typical” values is often not enough to ensure the reliability of an application.
During my software testing mentorship with Julio de Lima, I explored how to apply BVA using a user registration form as an example, focusing on the age field. This exercise helped me understand how identifying minimum, maximum, and edge values can significantly improve test coverage while keeping test cases efficient.
What is Boundary Value Analysis?
Boundary Value Analysis is a test design technique that focuses on verifying how a system behaves at the limits of input ranges. These limits, known as boundaries, include values such as the minimum, maximum, and values just below or above those limits.
For example, a system might work correctly for typical inputs but fail when processing the smallest or largest allowed values. By testing these critical points, testers can uncover defects that might otherwise remain hidden.
Key idea: if a system behaves correctly at its boundary values, it is more likely to behave correctly for the other values within the same range.
BVA is commonly used together with Equivalence Partitioning. While Equivalence Partitioning identifies valid and invalid input ranges, Boundary Value Analysis focuses on testing the edges of those ranges.
Step-by-Step Example: Testing an Age Input Field
Suppose we have a user registration form that only accepts users aged 18 to 60.
Step 1: Identify valid and invalid ranges
First, we determine which values are accepted by the system.
Valid range: 18–60
Invalid ranges: values less than 18 and values greater than 60
Step 2: Define boundary values
Once the ranges are identified, we focus on the values around the limits of the valid range.
For each boundary, we typically test:
- Just below the boundary
- Exactly at the boundary
- Just above the boundary
These values help verify whether the system correctly handles inputs at the limits of the allowed range.
Step 3: Create the Test Case Table
Before defining the test cases, it helps to visualise how Boundary Value Analysis focuses on the limits of an input range.
The diagram below highlights how Boundary Value Analysis focuses on values around the limits of the valid range. Instead of testing many values in the middle, we prioritise inputs that are just below, at, and just above the boundaries
Based on these identified boundaries, we can now design test cases to verify how the system handles values around the limits of the valid range.
-
BVA is highly effective for catching boundary-related bugs that Equivalence Partitioning might miss.
-
It is most useful when combined with other techniques to cover both partitions and edges.
-
Always consider multiple types of boundaries: minimum, maximum, just inside, just outside.
Key Takeaways
-
Boundary Value Analysis focuses on edge cases, where errors are more likely.
-
It complements Equivalence Partitioning by focusing testing efforts on the limits.
-
Using a structured approach like a test table helps visualize and organize test cases.
Share your examples or tricky edge cases in the comments. I’d love to see how others approach testing boundaries.
References
Mentorship: Software Testing Mentorship with Julio de Lima
Graham, D., van Veenendaal, E., Evans, I., & Black, R. (2008). Foundations of Software Testing.
ISTQB Glossary & Syllabus. International Software Testing Qualifications Board.


Comments
Post a Comment