BVA проверяет значения на границах классов эквивалентности, где чаще всего ошибаются условия «</<=».
Разбор
- Берут min, min±1, max, max±1 (и иногда типичное mid).
- Применима к числам, длине строк, датам, размеру файла, пагинации.
- Хорошо сочетается с EP: EP даёт классы, BVA — точки на краях.
- Для открытых границ и float нужна осторожность с точностью.
Итог
Большинство off-by-one дефектов ловится BVA; игнорировать границы — типичная ошибка junior.