← Назад к вопросам

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

1.0 Junior🔥 171 комментариев
#Теория тестирования#Техники тест-дизайна

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Класс эквивалентности в тест-дизайне

Определение

Класс эквивалентности (Equivalence Partitioning) — техника разработки тестов, где входные данные разбиваются на группы (классы), внутри которых все значения ведут себя идентично. Если один тест из класса пройдёт, все остальные пройдут; если не пройдёт — все не пройдут.

Основной принцип

Вместо тестирования ВСЕх возможных входных значений, тестируем одного представителя из каждого класса. Это снижает количество тестов, сохраняя покрытие.

Примеры классов эквивалентности

Пример 1: Система возрастных ограничений (минимум 18 лет)

Классы эквивалентности:

  • Класс 1 (Valid): 18-150 лет → разрешить доступ
  • Класс 2 (Below minimum): 0-17 лет → запретить доступ
  • Класс 3 (Invalid): отрицательные числа, строки, null → ошибка

Тестируем представителей:

  • Класс 1: 25 лет
  • Класс 2: 15 лет
  • Класс 3: -5, "abc", null

Пример 2: Поле для ввода цены (0.01-999999.99)

Классы:

  • Valid: 0.01-999999.99 → тестируем 99.99
  • Below minimum: 0.00 и ниже → тестируем 0, -10
  • Above maximum: 1000000+ → тестируем 1000000
  • Invalid format: "abc", пустая строка → тестируем "abc"

Пример 3: Длина пароля (8-20 символов)

Классы:

  • Valid: 8-20 символов → тестируем "MyPass12"
  • Too short: 0-7 символов → тестируем "Pass"
  • Too long: 21+ символов → тестируем длинный пароль

Преимущества метода

  • Снижение тестов: вместо 100+ получаем 3-5
  • Систематичность: не полагаемся на интуицию
  • Экономия: меньше тестов = быстро выполнение
  • Граничные случаи: комбинируем с Boundary Value Analysis

Комбинация с Boundary Value Analysis

Граничные значения — края классов эквивалентности:

Для класса 18-65 лет:

  • 17 (граница ниже, INVALID)
  • 18 (граница, VALID)
  • 65 (граница, VALID)
  • 66 (граница выше, INVALID)

Практический пример: Форма регистрации

ПолеValidToo shortToo longInvalid format
Emailuser@example.coma@bverylongemail...no_at_sign
PasswordMySecure123PassMySecurePasswordTooLong123456
Phone+7999123456712312345678901...abc-def

Вместо сотен комбинаций, тестируем 5 сценариев:

  • Все Valid → должен пройти
  • Все Too short → не пройти
  • Все Too long → не пройти
  • Все Invalid format → не пройти
  • Mixed → часть valid, часть invalid

Когда это работает хорошо

  • Функции с чёткими правилами валидации
  • Поведение зависит от диапазонов значений
  • Нужна максимальная эффективность тестирования

Когда нужна осторожность

  • Сложные взаимозависимости между полями
  • Non-linear поведение
  • Специальные случаи, выпадающие из логики

Класс эквивалентности — фундаментальная техника для эффективных тестовых наборов.

Что такое класс эквивалентности в тестировании? | PrepBro