Boundary value analysis is a software testing technique in which tests are designed to include representatives of boundary values in a range

Boundary value analysis is a software testing technique in which tests are designed to include representatives of boundary values in a range.

The idea comes from the boundary. Given that we have a set of test vectors to test the system, a topology can be defined on that set. Those inputs which belong to the same equivalence class as defined by the equivalence partitioning theory would constitute the basis. Given that the basis sets are neighbors, there would exist a boundary between them. The test vectors on either side of the boundary are called boundary values. In practice this would require that the test vectors can be ordered, and that the individual parameters follows some kind of order (either partial order or total order).

ISTQB gives difference between:

  • tests with three boundary values per boundary
  • tests with two boundary values per boundary

There are two ways to approach BVA: two value or three value testing. With two value testing, the boundary value (on the boundary) and the value that is just over the boundary (by the smallest possible increment) are used. For three value boundary testing, the values before, on and over the boundary are used. The decision regarding whether to use two or three boundary values should be based on the risk associated with the item being tested, with the three boundary approach being used for the higher risk items.