Эквивалентное разбиение (equivalence partitioning, EP) — техника тест-дизайна «чёрного ящика», при которой входные данные делят на классы эквивалентности: группы значений, которые программа по спецификации обрабатывает одинаково. Из каждого класса берут одного представителя — этого достаточно, чтобы проверить весь класс. Так число тест-кейсов падает без потери покрытия.

Коротко, что даёт техника и как её применить:

  • Делит вход на валидные и невалидные классы эквивалентности.
  • По одному значению из класса заменяет десятки однотипных проверок.
  • Работает в паре с анализом граничных значений (BVA), который добивает крайние точки классов.
  • Применяется на компонентном, интеграционном и системном уровнях.
  • Главный риск — неверно выделенные классы, поэтому опору берут из спецификации, а не из интуиции.

Обновлено в 2026 году.

Что такое эквивалентное разбиение и классы эквивалентности

Эквивалентное разбиение (его же называют разбиением или разделением на классы эквивалентности) исходит из простого допущения: если система корректно обработала одно значение из группы, она так же корректно обработает и остальные значения этой группы. И наоборот — если одно значение вызывает ошибку, её вызовут и соседние. По определению ISTQB, класс эквивалентности — это часть области входных или выходных данных, для которой поведение компонента или системы предполагается одинаковым на основе спецификации.

Классы делят на два типа:

  • Валидные (допустимые) — значения, которые система должна принять и обработать штатно. Для поля «сумма заказа от 0» это любое неотрицательное число.
  • Невалидные (недопустимые) — значения, которые система обязана отклонить или обработать как ошибку: отрицательные числа, буквы в числовом поле, пустой ввод, превышение лимита.

Смысл разбиения — не проверять каждое значение подряд. Поле, принимающее числа от 1 до 100, теоретически требует сотни проверок. Разбив диапазон на классы, вы сводите их к нескольким тестам: по одному представителю на класс. Это и есть экономия, ради которой технику держат в базовом наборе тест-дизайна.

ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
ТОП-подарки всем участникам лекции:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!

Пошаговый пример эквивалентного разбиения: поле «возраст 18–60»

Шаги эквивалентного разбиения на примере поля ввода «возраст 18–60»
Шаги эквивалентного разбиения на примере поля ввода «возраст 18–60»

Разберём технику на конкретном поле ввода. Форма регистрации принимает возраст пользователя, допустимый диапазон по спецификации — от 18 до 60 лет включительно. Проходим эквивалентное разбиение по шагам.

  1. Читаем спецификацию. Фиксируем правило: валидны целые числа 18–60, всё остальное — отклоняется.
  2. Выделяем валидный класс. Значения 18–60 — одна группа, система ведёт себя одинаково для любого числа внутри неё.
  3. Выделяем невалидные классы. Их два по диапазону: меньше 18 (например, 0–17) и больше 60 (например, 61–120). Плюс отдельные классы по типу данных: отрицательные числа, дробные, буквы, пустое поле.
  4. Берём по представителю. Из валидного класса — например, 35. Из «меньше 18» — 10. Из «больше 60» — 75. Из нечисловых — «abc».
  5. Собираем тест-кейсы. Каждый представитель превращается в проверку с ожидаемым результатом: принято или отклонено с сообщением об ошибке.

Классы эквивалентности для поля «возраст 18–60» удобно свести в таблицу:

Класс эквивалентности Тип Представитель Ожидаемый результат
Возраст 18–60 Валидный 35 Принято
Возраст 0–17 Невалидный 10 Отклонено: «меньше 18»
Возраст 61 и выше Невалидный 75 Отклонено: «больше 60»
Отрицательные числа Невалидный −5 Отклонено
Нечисловой ввод Невалидный «abc» Отклонено: «только цифры»
Пустое поле Невалидный « » Отклонено: «заполните поле»

Пять–шесть тестов вместо перебора всех чисел от 0 до 120 — при этом каждая логическая ветка поведения формы проверена. В этом вся выгода эквивалентного разбиения.

Связь эквивалентного разбиения с анализом граничных значений

Эквивалентное разбиение показывает, что дефекты живут не только в центре классов, но и на их стыках. Именно там работает вторая техника — анализ граничных значений (boundary value analysis, BVA). Она проверяет значения на границах классов, потому что ошибки чаще всего скапливаются в точках перехода: перепутанный знак «больше» и «больше либо равно», сдвиг на единицу.

Для поля «возраст 18–60» границы дают дополнительные проверки: 17 и 18 (нижняя граница), 60 и 61 (верхняя). Классический промах — протестировать только «удобные» значения 20, 35, 50 и пропустить, что форма ошибочно отклоняет ровно 18 или принимает 61. Разбиение отвечает на вопрос «какие группы значений есть», граничный анализ — «где эти группы ломаются». Вместе они закрывают и типичные, и крайние случаи, поэтому в тест-дизайне их применяют связкой, а не по отдельности.

Как применять эквивалентное разбиение в тест-дизайне

Техника не привязана к одному этапу и работает на разных уровнях тестирования.

  • Компонентное (модульное) тестирование. Здесь разбиение помогает проверить отдельную функцию или поле ввода с учётом всех классов и выловить дефекты на ранней стадии, пока правка стоит дёшево.
  • Интеграционное тестирование. Технику применяют к данным, которые передаются между компонентами: классы эквивалентности строят по контракту интерфейса и проверяют, что модули корректно обмениваются валидными и невалидными значениями.
  • Системное тестирование. На уровне всей системы разбиение используют для сценариев целиком — от формы ввода до итогового результата, покрывая ключевые ветки поведения без комбинаторного взрыва.

Разбиение применимо не только к диапазонам чисел. Классы строят по спискам (допустимые статусы заказа), по форматам (корректный и битый email), по логическим условиям — везде, где вход можно разложить на группы с одинаковым ожидаемым поведением.

Как выбрать представителя класса эквивалентности

Техника разрешает взять любое значение из класса, но на практике представителя выбирают осознанно — от этого зависит, найдётся ли дефект.

  • Из валидного класса берут «обычное» значение из середины диапазона: для возраста 18–60 это 35, а не 19. Крайние точки оставляют граничному анализу.
  • Из невалидного класса берут значение, которое явно нарушает правило, но правдоподобно для пользователя: не «−99999», а «−5» или «0» — такие данные реально вводят.
  • Один представитель — один класс. Не пытайтесь одним значением закрыть два класса сразу: тест станет неоднозначным, и при падении будет неясно, какое именно правило сломалось.
  • Разные классы данных не смешивают. Пустое поле, пробел, буквы и спецсимволы — это разные невалидные классы, и представитель нужен от каждого.

Мини-вывод: осмысленный представитель делает тест воспроизводимым и объяснимым, а таблица классов — самодокументируемой.

Плюсы и ограничения техники

Сильные стороны:

  • Резко сокращает число тест-кейсов при том же покрытии — меньше рутины, быстрее прогон.
  • Не требует доступа к коду: это техника «чёрного ящика», достаточно спецификации.
  • Хорошо документирует логику: таблица классов сама по себе объясняет, что и зачем проверяется.
  • Легко комбинируется с граничным анализом и таблицами решений.

Ограничения:

  • Качество тестов равно качеству разбиения: неверно выделенный класс — пропущенный дефект.
  • Допущение «все значения класса равнозначны» иногда ложно — реальная логика бывает сложнее спецификации.
  • На запутанных зависимостях между полями одной техники мало, нужны таблицы решений или попарное тестирование.
  • Сами по себе классы не ловят граничные ошибки — без BVA покрытие неполное.
для id="промпт" блок о бесплатном курсе не обнаружен

Частые ошибки при разбиении на классы

Даже опытные тестировщики теряют дефекты на предсказуемых промахах:

  • Проверяют только валидные классы. Форма «падает» не на числе 35, а на пустом поле или буквах — невалидные классы обязательны.
  • Забывают про границы. Представитель из середины класса не заменяет проверку крайних точек. Разбиение и BVA идут вместе.
  • Строят классы по интуиции, а не по спецификации. Если требование звучит «от 18 включительно», а тест считает 18 невалидным — ошибка в тесте, а не в продукте.
  • Смешивают несколько правил в один класс. «Всё, что не число» — это не один класс: буквы, спецсимволы и пустое поле продукт может обрабатывать по-разному.

Мини-вывод: сначала выпишите спецификацию дословно, потом разложите её на валидные и невалидные группы, и только затем добавляйте граничные значения.

Вопросы и ответы

Чем эквивалентное разбиение отличается от анализа граничных значений?

Разбиение делит вход на классы и берёт по одному значению из середины каждого. Граничный анализ проверяет крайние точки этих классов, где чаще всего прячутся ошибки. Первая техника отвечает на вопрос «какие группы значений есть», вторая — «где они ломаются». Их применяют вместе.

Сколько тест-кейсов нужно на один класс эквивалентности?

Для проверки самого класса достаточно одного представителя — в этом суть техники. Но границы каждого валидного класса дополнительно закрывают анализом граничных значений, поэтому итоговое число кейсов складывается из представителей классов плюс граничные точки.

Эквивалентное разбиение — это «чёрный ящик» или «белый»?

Это техника «чёрного ящика»: тесты проектируют по спецификации и поведению системы, без доступа к исходному коду. Знать внутреннюю реализацию не требуется — достаточно понимать, какие входы допустимы, а какие нет.

Разбиение и разделение на классы эквивалентности — это одно и то же?

Да. «Эквивалентное разбиение», «эквивалентное разделение» и «разбиение на классы эквивалентности» — русские варианты одного термина equivalence partitioning. Смысловой разницы между ними нет.

Можно ли применять технику не к числам?

Да. Классы эквивалентности строят для любых входов, которые можно разложить на группы с одинаковым ожидаемым поведением: форматы email, статусы заказа, типы файлов, логические условия. Числовой диапазон — лишь самый наглядный случай.

Заключение

Эквивалентное разбиение — базовая техника тест-дизайна, которая экономит время без ущерба для покрытия: вместо перебора всех значений тестировщик проверяет по одному представителю из каждого класса. Максимум пользы техника даёт в связке с анализом граничных значений и при честной опоре на спецификацию — тогда несколько тест-кейсов надёжно закрывают и типичные, и крайние сценарии.

Определение техники и понятие класса эквивалентности сверены с глоссарием ISTQB.

РОССИЙСКИЕ НЕЙРОСЕТИ ДЛЯ ЖИЗНИ И КАРЬЕРЫ В 2025
Присоединяйся к онлайн-вебинару.
В прямом эфире разберем и потестируем лучшие на сегодняшний день отечественные ИИ!
Вы узнаете о том:
  • Выполним базовые задачи на российских нейросетях и посмотрим на результаты!
  • Файл-инструкцию «Как сделать нейро-фотосессию из своего фото бесплатно, без иностранных карт и прочих сложностей»
  • Покажем 10+ способов улучшить свою жизнь с ИИ каждому — от ребенка и пенсионера до управленца и предпринимателя
Участвовать бесплатно
ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN
За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
Вы узнаете:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!
Участвовать бесплатно

РОССИЙСКИЕ НЕЙРОСЕТИ ДЛЯ ЖИЗНИ И КАРЬЕРЫ В 2025
Присоединяйся к онлайн-вебинару.
В прямом эфире разберем и потестируем лучшие на сегодняшний день отечественные ИИ!
Вы узнаете о том:
  • Выполним базовые задачи на российских нейросетях и посмотрим на результаты!
  • Файл-инструкцию «Как сделать нейро-фотосессию из своего фото бесплатно, без иностранных карт и прочих сложностей»
  • Покажем 10+ способов улучшить свою жизнь с ИИ каждому — от ребенка и пенсионера до управленца и предпринимателя
Участвовать бесплатно
ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN
За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
Вы узнаете:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!
Участвовать бесплатно