Ответ
Граничные тесты (boundary value testing) — это техника тестирования, направленная на выявление ошибок на крайних (граничных) значениях входных данных.
Цель: Проверить поведение системы на значениях на границах допустимых диапазонов, а также сразу за ними, где чаще всего возникают ошибки (off-by-one, переполнения).
Пример: Для метода, проверяющего допустимый возраст (от 18 до 100 лет включительно), тестируются:
@Test
void testAgeBoundaries() {
assertTrue(isValidAge(18)); // Нижняя граница
assertTrue(isValidAge(100)); // Верхняя граница
assertFalse(isValidAge(17)); // Непосредственно ниже границы
assertFalse(isValidAge(101)); // Непосредственно выше границы
}
Типичные граничные случаи для проверки:
- Минимальные и максимальные значения для числовых типов (
Integer.MIN_VALUE,Integer.MAX_VALUE). - Пустые коллекции, строки и
null. - Нулевые и отрицательные значения, если они допустимы или должны быть отсеяны.
- Первый и последний элемент в последовательностях.