QA glossary
What is boundary value analysis?
Boundary value analysis is a test design technique that picks test inputs at the edges of an allowed range, because defects cluster there. For a field that accepts 1 to 100, it tests 0, 1, 2, 99, 100 and 101 instead of random values in the middle.
An example from QA practice
A form lets a user order between 1 and 10 tickets. The developer writes "if quantity is less than 10" when the rule is "up to and including 10". A tester who tries 5, 6 and 7 finds nothing. A tester using boundary value analysis tries 0, 1, 10 and 11. Ordering 10 tickets is wrongly refused, and the bug is found in one test.
How to apply it
- Find the range: read the requirement for a minimum and a maximum, or a limit such as a 255-character name.
- Test each edge: the value just below, on and just above each boundary.
- Include the invalid side: the values that must be refused need a check too, along with the message the user sees.
- Look beyond numbers: dates, text length, file size, list length and time limits all have edges.
Where it fits
It is usually paired with equivalence partitioning: split the inputs into groups that should behave the same, then test the edges of each group. Together they keep the number of test cases small while still covering the places bugs live.
How BetterQA does it
Our engineers apply this when they design test cases from the requirements, and BugBoard can generate test cases from a requirement that our engineers then review. The generated set is a starting point: a person checks that the edges in the real rule are covered, because the tool cannot know a limit that was never written down.
Related terms
- Acceptance criteria
- Test coverage
- Traceability matrix
- Equivalence partitioning
How to turn a requirement into test cases that find bugs.