Ответ
Эквивалентное разделение (Equivalence Partitioning) — это техника тест-дизайна для сокращения числа тестов. Входные данные разбиваются на классы, где поведение системы ожидается одинаковым. Тестируется по одному значению из каждого класса.
Практическое применение:
- Определяю границы классов: валидные и невалидные.
- Выбираю тестовые значения: по одному представителю из каждого класса, включая граничные значения.
- Проверяю поведение: убеждаюсь, что все значения внутри одного класса обрабатываются системой одинаково.
| Пример для поля «Возраст пользователя» (диапазон 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"