Что означает «одинаковость» в контексте классов эквивалентности?

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

Ответ

Одинаковость означает, что все входные данные внутри одного класса эквивалентности должны обрабатываться системой идентичным образом — вызывать одно и то же поведение, проходить по одному пути в коде и давать сходные результаты.

Ключевой принцип: Если один представитель класса проходит тест, то с высокой вероятностью пройдут и все остальные значения из этого класса. Это позволяет сократить количество тестов.

Пример: Функция валидации пароля, где допустимая длина от 6 до 12 символов.

def validate_password(password: str) -> bool:
    return 6 <= len(password) <= 12
Класс эквивалентности Примеры Ожидаемый результат Причина "одинаковости"
Валидный "123456", "abcdef" True Длина соответствует условию (6-12).
Невалидный (мало) "", "123" False Длина меньше 6.
Невалидный (много) "1234567890123" False Длина больше 12.

Важно: Граничные значения (6 и 12) проверяются отдельно, так как они находятся на стыке классов и чаще всего являются источником ошибок.