Ответ
Классы эквивалентности (Equivalence Partitioning) — техника тест-дизайна для группировки входных данных. Для дискретных значений (не интервалов) процесс включает:
- Идентификация классов: Разделение всех возможных входных данных на валидные и невалидные группы (классы эквивалентности).
- Выбор тестовых значений: Для каждого класса достаточно одного представительного значения.
- Проверка границ: Несмотря на отсутствие числового интервала, часто существуют логические границы между классами (например, переход от "валидного статуса" к "невалидному").
Пример: Функция проверки пароля, где допустимая длина — 8+ символов.
def validate_password(password: str) -> bool:
return len(password) >= 8
Классы и тестовые данные:
- Валидный класс: Длина >= 8. Тест:
"password123"(10 символов). - Невалидный класс: Длина < 8. Тест:
"12345"(5 символов). - Граничные значения: 7 (
"1234567") и 8 ("12345678") символов. Тест на границе перехода между классами.
Почему это работает: Предполагается, что если один элемент класса проходит/не проходит тест, то и все остальные элементы этого класса будут вести себя одинаково. Это позволяет сократить количество тестов, сохраняя покрытие.