Классы эквивалентности и граничные значения
Форма принимает возраст от 18 до 65 лет. В наборе есть 20, 40 и 60, поэтому позитивный сценарий выглядит покрытым. Но 17 принимается, а 66 ведёт себя иначе, чем требует правило. Главный пропуск был не в бесконечном списке чисел, а на границе.
Классы эквивалентности и граничные значения помогают сократить пространство ввода, не делая вид, что все числа одинаковы. Главное решение состоит в том, какие значения должны вести себя одинаково и где маленькое изменение меняет результат.

Классы эквивалентности и граничные значения начинаются с правила
Запишите правило так, чтобы были видны допустимые и недопустимые области. Для включительного диапазона от 18 до 65 получаются значения ниже 18, значения от 18 до 65 и значения выше 65. Если требование неясно, не прячьте это сомнение в таблице проверок. Сначала нужно получить решение.
Выберите представителей классов
Для каждого значимого класса возьмите представительное значение. Это не магическое число, а способ проверить, что система применяет правило правильно. Второе значение понадобится, если формат, знак, точность или связанное условие могут изменить поведение.
Оставьте рядом рассуждение о выборе. Проверяющий должен понять, почему взято 40 и что этот выбор говорит о соседних значениях.
Проверьте границу намеренно
Для включительного диапазона проверьте нижнюю границу, число прямо перед ней, верхнюю границу и число сразу после неё. Если система принимает дроби, пустой ввод или преобразованное значение, проверяйте то представление границы, которое реально получает приложение.
Ошибки на границе часто появляются в сравнениях, преобразованиях и решениях «на единицу больше или меньше». Но сам анализ не заменяет понимания правила.
Не прячьте другой класс за удобным сокращением
- Не считайте ограничение интерфейса таким же, как ограничение API или базы.
- Не превращайте пустое значение в обычное число.
- Не используйте один представитель, если права или состояние создают другое правило.
- Не проверяйте только принятие, когда отказ тоже является частью договора.
При переходе между слоями пересматривайте классы. Ограничения формы и сервиса могут различаться, даже если экран выглядит одинаково.
Сформулируйте, что именно покрывает небольшой набор
Сохраните правило, классы, выбранные представители и границы. Отдельно назовите то, что не проверялось: локальные форматы, необычные символы или ограничение базы. Так небольшой набор остаётся честным: он показывает, что проверено, а что нет.
Результат не просто в коротком списке. Это выбор проверок, в котором видны пропуски и причины каждого решения.
Классы эквивалентности и граничные значения: проверьте одно правило
Выберите правило для числа, длины текста или даты. Сначала запишите допустимые и недопустимые классы, а уже потом подставляйте значения. Для каждой важной области возьмите представителя и ближайшие граничные значения.
Выполните минимальный набор и сравните наблюдение с формулировкой правила. Если интерфейс, API и сохранённое значение используют разные представления, запишите это отдельным вопросом, а не смешивайте слои молча.
Завершите одной фразой о том, чего набор не доказывает. Ограниченный вывод полезнее обещания полного покрытия.
Вопросы перед следующим шагом
- Как сформулировано правило и включается ли граница?
- Какие значения относятся к одному классу?
- Что меняется сразу по обе стороны границы?
- Какой слой или формат остаётся непроверенным?
ISTQB Quiz сочетает практику по темам с объяснениями логики правильного ответа.
Подробнее об ISTQB Quiz →