Boundary value analysis (BVA) is a test design technique based on a simple observation: bugs love boundaries. Most defects occur at the edges of valid ranges, not in the middle.
Why Boundaries Matter
Consider an age field that accepts values 18-65:
- Values like 30, 40, 50 rarely cause issues — they're well within the valid range
- Values like 17, 18, 65, 66 are where bugs hide — at the boundaries
This happens because developers often make off-by-one errors: using < instead of <=, or > instead of >=.
How to Apply BVA
For any input with defined boundaries, test these values:
Two-Value BVA (Minimum) - Boundary value: The exact boundary (e.g., 18, 65) - Adjacent value: One step outside (e.g., 17, 66)
Three-Value BVA (ISTQB Standard) - Below boundary: One below the lower limit (17) - At lower boundary: Exact lower limit (18) - Above lower boundary: One above lower limit (19) - Below upper boundary: One below upper limit (64) - At upper boundary: Exact upper limit (65) - Above upper boundary: One above upper limit (66)
Example: Password Length (8-20 characters)
| Test Value | Characters | Expected Result | |-----------|-----------|-----------------| | 7 chars | "Abc1234" | Rejected — too short | | 8 chars | "Abc12345" | Accepted — minimum | | 9 chars | "Abc123456" | Accepted — just above min | | 19 chars | 19-char string | Accepted — just below max | | 20 chars | 20-char string | Accepted — maximum | | 21 chars | 21-char string | Rejected — too long |
BVA + Equivalence Partitioning
BVA and equivalence partitioning work together:
- 1.Equivalence partitioning divides inputs into valid and invalid groups
- 2.BVA focuses testing on the boundaries between those groups
Together, they provide excellent coverage with minimal test cases.
Where to Apply BVA
- Numeric inputs: Age, price, quantity, dates
- String lengths: Password, name, description fields
- Array sizes: File upload limits, list lengths
- Date ranges: Start/end dates, booking windows
- Pagination: Page numbers, items per page
Common Mistakes
- Testing only boundaries, not partitions — BVA is most effective combined with equivalence partitioning
- Ignoring data types — Integer boundaries are different from float boundaries
- Missing implicit boundaries — System limits, database column sizes, API payload limits
- Not considering zero and negative values — Often overlooked
BVA is a fundamental technique covered in the ISTQB Foundation Level syllabus. Master it early — you'll use it every day as a QA engineer.
Practice writing test cases with our test case template.