Получить доступ

Что такое классы эквивалентности?

JuniorТест-дизайн
Ещё спрашивают так:
  • Как работает техника разбиения на классы эквивалентности?
  • Как сократить количество проверок без потери качества?
Коротко

Делим входные данные на группы, которые система обрабатывает одинаково, и берём по одному значению из каждой.

  • Есть корректные и некорректные классы — проверяем все
  • Почти всегда используют вместе с граничными значениями

А ещё Классы ищут по требованиям: где поведение меняется

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Проверить все возможные значения невозможно, поэтому их разбивают на классы. Внутри класса система ведёт себя одинаково, значит, одного представителя достаточно: если 30 работает, то и 31 скорее всего тоже.

Как применять:

  1. Найти в требованиях все условия, меняющие поведение: диапазоны, форматы, списки допустимых значений.
  2. Выделить корректные (валидные) классы и некорректные — значения, которые должны отклоняться.
  3. Взять по одному значению из каждого класса.
  4. Дополнить граничными значениями — ошибки чаще всего на краях классов.

Классы бывают не только числовые: тип файла (jpg, png — допустимы; pdf — нет), регион доставки, роль пользователя, пустое значение, слишком длинная строка.

Техника уменьшает число проверок без заметной потери покрытия и даёт понятное объяснение, почему выбраны именно эти значения.

Пример

Требование: «Скидка: до 18 лет — 50 %, 18–64 — нет скидки, 65 и старше — 30 %; возраст — целое число от 0 до 120».

КлассПример
0–17, скидка 50 %10
18–64, без скидки30
65–120, скидка 30 %70
меньше 0 — ошибка−1
больше 120 — ошибка150
не число — ошибка«abc»

Что хотят услышать

  • Идея одинаковой обработки внутри класса.
  • Корректные и некорректные классы.
  • Пример разбиения по требованию.
  • Связь с граничными значениями.

Частые ошибки

  • Забыть некорректные классы.
  • Брать несколько значений из одного класса и пропускать другой.

Что спросят дальше

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем