Boundary Value Analysis (BVA)

Boundary Value Analysis (BVA) is a black-box testing technique that focuses on the boundaries of input domains. Since errors are more likely to occur at the boundaries of input ranges, BVA helps identify defects that might not be caught through other testing methods

Key Points:

  1. Identify Boundaries: Determine the input range for each field or variable.

  2. Select Test Cases: Test cases should include the boundary values and just inside/outside the boundary.

  3. Include Typical and Extreme Values: Consider both the valid and invalid boundary values.

Why Use BVA?

  • Increases the likelihood of finding errors at the edges of input ranges.

  • Efficiently reduces the number of test cases needed by focusing on critical values.

  • Helps ensure that software behaves correctly at the limits of input domains.

Examples of Boundary Value Analysis:

Example 1: Age Input Field

Consider an age input field that accepts values from 1 to 120.

  • Lower Boundary:

    • Just below the boundary: 0 (Invalid)

    • On the boundary: 1 (Valid)

    • Just above the boundary: 2 (Valid)

  • Upper Boundary:

    • Just below the boundary: 119 (Valid)

    • On the boundary: 120 (Valid)

    • Just above the boundary: 121 (Invalid)

Example 2: Password Length

A password field that requires a minimum of 8 characters and a maximum of 20 characters.

  • Lower Boundary:

    • Just below the boundary: 7 characters (Invalid)

    • On the boundary: 8 characters (Valid)

    • Just above the boundary: 9 characters (Valid)

  • Upper Boundary:

    • Just below the boundary: 19 characters (Valid)

    • On the boundary: 20 characters (Valid)

    • Just above the boundary: 21 characters (Invalid)

Example 3: Numeric Range

A numeric field that accepts values from 10 to 100.

  • Lower Boundary:

    • Just below the boundary: 9 (Invalid)

    • On the boundary: 10 (Valid)

    • Just above the boundary: 11 (Valid)

  • Upper Boundary:

    • Just below the boundary: 99 (Valid)

    • On the boundary: 100 (Valid)

    • Just above the boundary: 101 (Invalid)

By focusing on these boundary values, testers can effectively identify potential issues that might not be evident with other testing techniques.