β€’
Drizz raises $2.7M in seed funding β€’
β€’
Featured on Forbes
β€’
Drizz raises $2.7M in seed funding β€’
β€’
Featured on Forbes
Logo
Schedule a demo
Blog page
>
Boundary Value Analysis and Equivalence Partitioning Explained

Boundary Value Analysis and Equivalence Partitioning Explained

Boundary value analysis and equivalence partitioning with mobile app examples, the ISTQB 2-value vs 3-value BVA distinction, decision table testing, and how to automate the resulting test cases.
Author:
Partha Sarathi Mohanty
Posted on:
June 16, 2026
Read time:

Takeaways:

  • Equivalence partitioning divides input data into groups where every value in group should produce same behavior. Test one value per group instead of every possible value. This cuts thousands of potential test cases down to a handful.
  • Boundary value analysis targets edges between partitions, where off-by-one errors and misplaced conditions cluster. The ISTQB Foundation Syllabus v4.0 defines two versions: 2-value BVA (test boundary and its neighbor) and 3-value BVA (add value on other side).
  • Using both together on a single input field produces a compact set of test cases that catches more defects than random test data. Adding decision table testing handles cases where multiple inputs interact.

Boundary value analysis and equivalence partitioning are black-box test design techniques that reduce test cases without reducing defect coverage. Every QA team uses them, whether formally or by instinct.

How equivalence partitioning works

Equivalence partitioning splits an input's range into groups (called partitions or equivalence classes) where every value within a group is expected to produce identical behavior. If one value in partition passes, all others should pass. If one fails, all should fail.

The technique has two rules:

  • Test at least one value from every valid partition.
  • Test at least one value from every invalid partition, and test invalid partitions one at a time (don't combine two invalid inputs in a single test case, because you won't know which one caused failure).

Mobile example: quantity field in a shopping app

A shopping app lets users order between 1 and 10 units of a product. Anything outside that range gets rejected.

The equivalence partitions:

  • Invalid partition 1: values below 1 (0, -1, -100)
  • Valid partition: values from 1 to 10
  • Invalid partition 2: values above 10 (11, 50, 999)
  • Invalid partition 3: non-numeric input ("abc", special characters, empty string)

Four partitions. Four test cases cover them all:

Test Input Expected result Partition
10Error: minimum is 1Invalid (below range)
25AcceptedValid
311Error: maximum is 10Invalid (above range)
4"abc"Error: numeric onlyInvalid (non-numeric)

Without equivalence partitioning, a tester might try to test dozens of values. With it, four test cases give representative coverage. The logic: if app handles 5 correctly, it should handle 3 and 7 same way, because they're in same partition.

How boundary value analysis adds precision

Equivalence partitioning tells you which groups to test. Boundary value analysis tells you exactly where within those groups defects are most likely to hide: at edges.

The principle, from ISTQB Foundation Syllabus: defects cluster at boundaries. A developer writing if (quantity <= 10) when spec says if (quantity < 10) creates an off-by-one error at exactly boundary value. BVA catches that.

Same mobile example, now with BVA

The quantity field accepts 1 to 10. The boundaries are at 1 (lower) and 10 (upper).

Using 2-value BVA (test boundary and its closest invalid neighbor):

  • Lower boundary: test 0 (invalid) and 1 (valid)
  • Upper boundary: test 10 (valid) and 11 (invalid)

Using 3-value BVA (add value just inside boundary):

  • Lower boundary: test 0 (invalid), 1 (boundary), 2 (just inside)
  • Upper boundary: test 9 (just inside), 10 (boundary), 11 (invalid)

The 3-value approach catches defects that 2-value misses. If a developer writes if (quantity == 1) instead of if (quantity >= 1), value 2 will expose error while values 0 and 1 won't.

Combining EP and BVA on same field

Start with equivalence partitioning to identify partitions. Then apply BVA at each boundary between partitions. The merged test set for quantity field (using 3-value BVA):

Test Input Technique Expected
1-1EP (invalid below)Error
20BVA (lower -1)Error
31BVA (lower boundary)Accepted
42BVA (lower +1)Accepted
55EP (valid mid)Accepted
69BVA (upper -1)Accepted
710BVA (upper boundary)Accepted
811BVA (upper +1)Error
9"abc"EP (non-numeric)Error

Nine test cases for a single input field, derived systematically. No guessing. No "let me try random values and see what happens." Each test targets a specific partition or boundary for a specific reason.

More mobile input examples worth testing

The quantity field is one case. Mobile apps have dozens of input fields where EP and BVA apply. A few that catch real bugs:

Payment amount field (transfer app, min $1, max $10,000):

  • Partitions: below $1, $1-$10,000, above $10,000, non-numeric, negative values
  • Boundaries: $0.99, $1.00, $1.01, $9,999.99, $10,000.00, $10,000.01
  • Mobile-specific: test with locale-specific decimal separators (comma vs. period)

OTP input field (6-digit code):

  • Partitions: fewer than 6 digits, exactly 6 digits, more than 6 digits, non-numeric
  • Boundaries: 5 digits, 6 digits, 7 digits
  • Mobile-specific: test paste from clipboard, test auto-fill from SMS

Search query field (max 200 characters):

  • Partitions: empty string, 1-200 characters, 201+ characters, special characters only, emoji-only input
  • Boundaries: 0 chars, 1 char, 200 chars, 201 chars
  • Mobile-specific: test with predictive keyboard suggestions, test with voice-to-text input

PIN creation (4 to 6 digits):

  • Partitions: fewer than 4 digits, 4-6 digits, more than 6 digits, non-numeric
  • Boundaries: 3 digits, 4 digits, 6 digits, 7 digits
  • Mobile-specific: test with biometric keyboard overlay, test sequential digits (1234) if app has strength rules

Each of these fields benefits from same EP β†’ BVA workflow. Identify partitions, identify boundaries, generate test cases. The mobile-specific additions (clipboard paste, auto-fill, locale formatting, keyboard types) are extra partitions that most QA teams miss because they're thinking about value, not about how it enters field.

When to bring in decision table testing

Equivalence partitioning and boundary value analysis work well for single-input fields. When output depends on combinations of multiple inputs, decision table testing fills gap.

Example: a mobile app offers free shipping based on two conditions:

  • Cart total above $50
  • User has a premium membership

The decision table:

Four combinations, four test cases. You can apply BVA to $50 threshold ($49.99, $50.00, $50.01) and EP to membership status (premium, free, expired). Decision table testing then combines them.

For teams writing test cases for mobile apps, practical workflow is:

  • Use EP for each input to identify partitions
  • Apply BVA at each boundary for numeric/range inputs
  • Build a decision table when multiple inputs affect same outcome
  • Add mobile-specific partitions (input method, locale, device state)

Automating boundary and partition tests in Drizz

Once you've derived test cases from EP and BVA, next step is automating them so they run on every build. Manual boundary testing works for first pass, but these test cases need to be part of regression testing suite to catch regressions when validation logic changes.

Drizz tests for quantity field boundaries:

Tap on "Quantity"
Clear field
Type "0"
Tap on "Add to Cart"
Validate error message contains "minimum"

Clear field
Type "1"
Tap on "Add to Cart"
Validate "Added to Cart" is visible

Clear field
Type "10"
Tap on "Add to Cart"
Validate "Added to Cart" is visible

Clear field
Type "11"
Tap on "Add to Cart"
Validate error message contains "maximum"

Each block tests one boundary value with a clear expected outcome. Drizz's Vision AI reads error message text visually, so test works regardless of how error is rendered (toast, inline text, bottom sheet, dialog).

For OTP field, testing paste-from-clipboard scenario:

Copy "123456" to clipboard
Tap on "OTP" field
Paste from clipboard
Validate "123456" is visible in OTP field
Tap on "Verify"
Validate verification succeeds

‍

These tests run on real Android and iOS devices through Drizz Cloud, catching device-specific validation bugs that emulators miss. A boundary value that's accepted on one keyboard type might be rejected on another if input method sends different character encodings.

FAQ

What is boundary value analysis in software testing?

A test design technique that targets values at edges of input ranges, where off-by-one and misplaced-condition defects cluster.

What is equivalence partitioning?

Dividing input data into groups where all values produce same behavior, then testing one representative from each group.

How do BVA and equivalence partitioning work together?

EP identifies groups. BVA tests boundary values between groups. Together they produce a compact, high-coverage test set.

What is difference between 2-value and 3-value BVA?

2-value tests boundary and its invalid neighbor. 3-value adds value just inside boundary, catching more subtle defects.

When should you use decision table testing instead?

When output depends on combinations of multiple inputs. EP and BVA handle single inputs; decision tables handle multi-input logic.

Can boundary value tests be automated for mobile apps?

Yes. Each boundary test case translates directly to a scripted test that enters value and validates expected response.

‍

About the Author:

Partha Sarathi Mohanty
Co-founder & CPO, Drizz
ISB-trained product leader with battle scars from Mensa, Zolo, BlackBuck, and Shadowfax, now turning AI-native testing into an actual roadmap.
Schedule a demo