Эквивалентное разделение (Equivalence Partitioning)
Эквивалентное разделение (Equivalence Partitioning)
Введение
Поле «возраст» принимает числа от 18 до 65. Ты можешь ввести 18, 19, 20, 21... 65 — 48 вариантов только в допустимом диапазоне. Тестировать все 48 бессмысленно: если 25 работает, то 26 тоже работает. Они ведут себя одинаково.
Эквивалентное разделение — техника, которая делит входные данные на разделы (классы эквивалентности), внутри каждого из которых система ведёт себя одинаково. Достаточно протестировать одно значение из каждого раздела.
Принцип: разделы и их виды

Каждый набор входных данных делится минимум на два типа разделов:
- Валидные разделы — данные, которые система должна принять и обработать корректно
- Невалидные разделы — данные, которые система должна отклонить с ошибкой
Пример: поле «Возраст» (допустимо 18–65)
| Раздел | Диапазон | Представитель | Тип |
|---|---|---|---|
| Слишком молодой | < 18 | 10 | Невалидный |
| Допустимый возраст | 18–65 | 35 | Валидный |
| Слишком старый | > 65 | 80 | Невалидный |
Вместо 100+ вариантов — 3 теста. Каждый представитель «представляет» весь свой раздел.
Пример: текстовое поле «Имя»
Требования: только буквы, от 2 до 50 символов.
| Раздел | Пример | Тип |
|---|---|---|
| Пустая строка | "" | Невалидный |
| Слишком короткое (1 символ) | "A" | Невалидный |
| Валидное имя | "Мария" | Валидный |
| Слишком длинное (51+ символов) | 60 букв | Невалидный |
| Цифры в имени | "User123" | Невалидный |
| Спецсимволы | "<script>" | Невалидный |
Итого: 6 разделов → 6 тестов вместо бесконечного числа вариантов.
Правило: один тест = один раздел
Тестируй ровно одно значение из каждого раздела. Два значения из одного раздела — это дублирование, не дополнительное покрытие.
Плохо: тестировать 35 и 40 для «допустимого возраста» (оба из одного раздела). Хорошо: тестировать 35 (один валидный), 10 (один невалидный малый), 80 (один невалидный большой).
Как выделить разделы: пошагово
- Прочитай требования к полю/функции
- Выпиши допустимые значения → это валидный раздел (или несколько)
- Выпиши всё, что за пределами допустимого → это невалидные разделы
- Если есть несколько разных типов ошибок (пустая строка, слишком длинное, неверный формат) — каждый тип = отдельный раздел
- Выбери по одному представителю из каждого раздела
Преимущества техники
- Резко сокращает количество тест-кейсов при сохранении покрытия
- Систематизирует мышление: ты думаешь разделами, а не отдельными значениями
- Легко объяснить команде и заказчику
Частые ошибки
- Тестировать только валидные разделы — невалидные раскрывают разные классы ошибок
- Делать один огромный «валидный» раздел вместо нескольких — иногда внутри «допустимых» данных поведение различается
- Выбирать значения случайно, а не представительные для раздела
Что мы запомним
- Эквивалентное разделение делит данные на группы с одинаковым поведением
- Тестируй по одному значению из каждого раздела — остальные избыточны
- Всегда есть валидные И невалидные разделы — тестируй и те, и другие
- Техника применяется к любому полю ввода: числа, строки, даты, списки