Catalog
method#Quality Assurance#Software Engineering#Reliability

Boundary Value Analysis

A structured testing technique that systematically selects input and output boundary values to find defects at the edges of value ranges.

Boundary Value Analysis is a testing technique focusing on boundaries and edge ranges to detect defects at input limits.
Established
Low

Classification

  • Medium
  • Technical
  • Design
  • Intermediate

Technical context

Test automation frameworks (e.g., JUnit, pytest)CI/CD pipelines for running boundary testsIssue tracker for tracking discovered defects

Principles & goals

Focusing on edges yields high defect density per test caseCombine with equivalence classes to reduce redundant casesBoundary tests are deterministic and easy to reproduce
Build
Team, Domain

Use cases & scenarios

Compromises

  • Incorrect boundary definitions lead to misleading tests
  • Overreliance can lead to neglecting other test types
  • Lack of automation increases manual effort for regressions
  • Always combine boundary value analysis with equivalence classes
  • Automate boundary tests early and integrate into CI
  • Document assumptions about boundaries in requirements

I/O & resources

  • Requirement specification with value ranges
  • Accessible test environment or staging system
  • Test data or data generator
  • Executed boundary test suite
  • Defect reports and reproducible cases
  • Improved requirement or validation descriptions

Description

Boundary Value Analysis is a testing technique focusing on boundaries and edge ranges to detect defects at input limits. It is applied in unit, integration, and system tests and efficiently reduces the number of test cases by selecting critical values. This method reliably uncovers common off-by-one and range-handling faults.

  • High defect detection rate with low effort
  • Significantly reduces the number of necessary test cases
  • Easy to automate and integrate into test suites

  • Does not cover all internal states or combinations
  • Not helpful for non-numeric or non-range-based data
  • Requires clear specification of boundary values

  • Boundary coverage ratio

    Percentage of defined boundary values covered by tests.

  • Defect detection rate per test case

    Number of defects found relative to executed boundary test cases.

  • Automation level of boundary tests

    Share of boundary tests automated in CI/CD.

Login form password length

Test cases for minimum and maximum password length including off-by-one edges.

Age input for registration

Checking entries at minimum age, below and above it, and invalid formats.

Pagination parameters in API

Tests for page-size and page-index at lower and upper bounds including 0 and negative values.

1

Analyze requirements and identify value ranges

2

Derive min/max and adjacent values and combine with equivalence classes

3

Implement tests, automate them, and integrate into CI

⚠️ Technical debt & bottlenecks

  • Insufficient automation leads to outdated manual cases
  • No clear documentation of boundary definitions
  • Test data management for boundary cases is outdated
Unclear specificationManual test maintenanceComplex input combinations
  • Assuming boundary tests cover all edge cases
  • Applying BVA to qualitative, non-range-based data
  • Ignoring side conditions and interdependencies
  • Boundaries are defined differently across components
  • Off-by-one errors with inclusive vs. exclusive bounds
  • Ambiguous requirements lead to incorrect test assumptions
Basic understanding of test techniques and equivalence classesAbility to interpret requirements formallyExperience with test automation and scripting
Input specifications and contractsFault detection capability at edgesAutomation and CI requirements
  • Requires defined min/max values in requirements
  • Constraints for non-discrete or external system values
  • Automation may be limited by the test environment