Тестирование пограничных (граничных) значений — важная техника тест‑дизайна, направленная на выявление ошибок на границах допустимых диапазонов входных данных. Именно здесь чаще всего возникают дефекты из‑за неверного указания знаков неравенства (>, >=, <, <=) или смещения границ.
Суть метода
Техника основана на анализе классов эквивалентности — групп значений, которые система должна обрабатывать одинаково. У каждого класса есть:
- нижняя граница;
- верхняя граница;
- внутренняя область.
На границах вероятность ошибок максимальна, поэтому их проверяют особо тщательно.
Пошаговый алгоритм тестирования
- Определите классы эквивалентности для каждого входного параметра (например, для поля «возраст»:
< 16,16–65,> 65). - Выделите границы каждого класса (16, 65).
- Для каждой границы проверьте 3 значения:
- на границе (
16,65); - чуть ниже границы (
15,64); - чуть выше границы (
17,66).
- на границе (
- Проверьте крайние случаи (минимальное и максимальное допустимое значение).
- Протестируйте выход за границы (значения ниже минимума и выше максимума).
Примеры тестирования веб‑форм
1. Поле «Возраст» (допустимый диапазон: 16–65 лет)
- Ниже минимума:
15→ ошибка/запрет. - На минимуме:
16→ приём. - Внутри диапазона:
30→ приём. - На максимуме:
65→ приём. - Выше максимума:
66→ ошибка/запрет.
2. Поле «Сумма заказа» (скидка 10% при сумме ≥ 5 000 ₽)
- Ниже порога:
4 999→ без скидки. - На пороге:
5 000→ скидка 10%. - Выше порога:
5 001→ скидка 10%.
3. Поле «Длина комментария» (максимум 255 символов)
- 254 символа → приём.
- 255 символов → приём.
- 256 символов → ошибка/обрезка.
Типичные ошибки на границах
- Неверный знак сравнения:
> 16вместо≥ 16. - Смещение границы: проверка на
17вместо16. - Игнорирование крайних значений: отсутствие тестов для минимума/максимума.
- Некорректная обработка граничных дробных значений (например,
0,99вместо1,00).
Рекомендации по реализации
- Уточняйте требования у аналитиков:
- Входит ли граница в допустимый диапазон? (
≥или>). - Какая точность нужна (целые числа, десятые, сотые).
- Входит ли граница в допустимый диапазон? (
- Комбинируйте с другими техниками:
- Эквивалентное разбиение (проверка внутри классов).
- Негативное тестирование (ввод заведомо некорректных данных).
- Автоматизируйте проверку границ для регрессионного тестирования.
- Фиксируйте результаты в тест‑кейсах с чётким указанием:
- входного значения;
- ожидаемого результата;
- фактического результата.
Инструменты
- Ручное тестирование — для сложных сценариев и юзабилити‑проверки.
- Автотесты (Selenium, Playwright) — для повторяемых граничных проверок.
- Плагины для браузеров (например, BugMagnet) — для быстрого ввода тестовых данных.
Итог: тестирование пограничных значений позволяет выявить до 70% ошибок ввода ещё на этапе функционального тестирования, снижая риски багов в проде.
