Как применяется техника эквивалентного разделения на практике?

«Как применяется техника эквивалентного разделения на практике?» — вопрос из категории Техники тест-дизайна, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Эквивалентное разделение (Equivalence Partitioning) — это техника тест-дизайна для сокращения числа тестов. Входные данные разбиваются на классы, где поведение системы ожидается одинаковым. Тестируется по одному значению из каждого класса.

Практическое применение:

  1. Определяю границы классов: валидные и невалидные.
  2. Выбираю тестовые значения: по одному представителю из каждого класса, включая граничные значения.
  3. Проверяю поведение: убеждаюсь, что все значения внутри одного класса обрабатываются системой одинаково.
Пример для поля «Возраст пользователя» (диапазон 18–99): Класс эквивалентности Пример значения Ожидаемый результат
Ниже валидного (невалидный) 17 "Invalid"
Валидный (нижняя граница) 18 "Valid"
Валидный (среднее) 50 "Valid"
Валидный (верхняя граница) 99 "Valid"
Выше валидного (невалидный) 100 "Invalid"
Нечисловой ввод (невалидный) "abc" "Invalid"

Простая функция-валидатор:

def validate_age(age):
    try:
        age_int = int(age)
        return "Valid" if 18 <= age_int <= 99 else "Invalid"
    except ValueError:
        return "Invalid"