# Boundary value analysis
###### tags: `Black Box Testing Tech` `ISTQB` `Software Testing` `SQA`
- One kind of mistakes that programmers make is that errors tend to cluster around boundaries. [^1]
- the number of times a program loop is executed
- the exact point at which a loop should stop executing
- This works well with **the equivalence partitioning idea** because partitions must have boundaries.
- Boundary values
- **The valid boundary values** are the lowest and the highest value on the inside of a valid partition.
- **The non-valid boundary values** are the first values as close as you can get according to the **the precision** that has been applied to the partition when you step outside the partition at the top and bottom end.
- The number of values to be analysis:
- **2 values at each boundary**: the valid boundary value itself and its non-valid boundary values.
- **3 values at each boundary**: the boundary value itself and one value either side of the boundary (documented in BS 7925-2)
[^1]: [Defect clustering General testing principles](https://hackmd.io/YUmBtNF9QBq_ULk9u0PF4w#General-testing-principles)