Классы эквивалентности и границы · QA Orbit
Перейти к содержимому
QA ORBIT
Новости Инструменты Библиотека Полезные сайты Курсы ИИ и тестирование
Войти
КурсыТренажёры3
Маршруты обучения
КурсыОсновы QA: от требования до решения о выпускеУрок 2
Программа курса

Основы QA: от требования до решения о выпуске

0 из 6 уроков пройдено
01Качество, требования и приоритет проверки≈ 45 мин02Классы эквивалентности и границы≈ 50 мин03Таблицы решений и переходы состояний≈ 50 мин04Исследовательская сессия и полезный баг-репорт≈ 50 мин05Регресс, статусы и решение о выпуске≈ 45 мин06Итоговый проект: пакет проверки релиза≈ 75 мин
Учебные данные. Реальные навыки.
Урок 02 / 6 · 02 / Данные и границы≈ 50 мин с практикой

Классы эквивалентности и границы

Сократите перебор данных и сохраните проверки типов, границ и побочных эффектов.

В своём темпе
Что вы сможете после урока
  • Разбивать область входов на классы с одинаковым ожидаемым поведением.
  • Применять трёхточечный анализ границ к целым длинам.
  • Изолировать одну причину отказа в негативном примере.

Классы строятся из правила

Класс эквивалентности объединяет значения, для которых мы ожидаем одинаковое поведение по выбранному условию. Для длины title есть три диапазона: меньше 1, от 1 до 80 включительно, больше 80. Это не заменяет проверку типа: null, число и отсутствующее обязательное поле не относятся к строковым длинам. Их стоит выделить отдельно. Для priority диапазона вообще нет: существует конечный набор разрешённых значений, отдельное отсутствие поля с default и недопустимые значения.

Один представитель класса помогает экономить время, но эквивалентность является рабочей гипотезой. Длинный текст с переносом и один пробел могут пройти одну проверку длины и отличаться при публикации. Поэтому модель должна учитывать цель: при создании пробельный заголовок разрешён Q1, при публикации его запрещает Q5. Называть такой вход просто «невалидным» без операции — потерять существенное условие.

Граница — место изменения результата

Для дискретной длины с допустимым интервалом 1–80 используйте точки 0, 1, 2 и 79, 80, 81. Трёхточечный подход берёт границу и соседние значения; после объединения получается шесть разных длин. На 0 и 81 ожидается отказ, на 1, 2, 79 и 80 — успех создания при остальных корректных данных. Длина 40 полезна как обычный представитель, но не добавляет покрытие этих границ.

Получайте значения воспроизводимо: «А», повторённая N раз, задаёт N кодовых точек. В JavaScript строковая length считает кодовые единицы UTF-16; для проверки именно кодовых точек используйте Array.from(value).length. Не делайте вывод о валидности сложной последовательности эмодзи по внешнему виду. Для базового набора достаточно однозначной кириллицы, а отдельный пример «😀» повторённый 80 раз проверит, что реализация не спутала единицы измерения.

Меняйте одно условие, наблюдайте результат целиком

Если одновременно отправить пустой title и priority="urgent", отказ подтверждает только то, что хотя бы одна проблема обнаружена. Он не доказывает две независимые проверки. Возьмите базовый валидный вход и изменяйте одно условие за раз; для каждого отказа сравнивайте состояние до и после по Q7. Если задача всё же появилась в списке после сообщения об ошибке, ответ интерфейса скрывает побочный эффект.

Покрытие должно иметь знаменатель. «Проверили шесть границ title из шести выбранных точек» — корректная ограниченная метрика. «Полное покрытие формы» по этим шести примерам неверно: остались description, priority, роли, сессия и операции. В таблице храните правило, класс, конкретный вход, ожидание и статус. Такая таблица остаётся понятной при изменении верхней границы с 80 на 100: видно, какие значения и ожидания требуется пересмотреть, а не угадывать по случайным названиям тестов.

Минимальная модель

ИзмерениеКлассыПримеры
title: длина0; 1–80; 81+""; "А"; "А" × 81
title: типстрока; null; число; отсутствие"План"; null; 42; {}
priorityразрешённое; отсутствие; недопустимоеhigh; без поля → normal; urgent

Источники и проверка фактов

ISTQB CTFL 4.0.1 — официальный syllabusСправочник терминов и техник: главы 1, 3–5. Курс QA Orbit — самостоятельный авторский практикум; аккредитация и подготовка к экзамену не заявляются.MDN — Array.fromИтерация строки при построении массива; учитывайте выбранную в контракте единицу длины.

Авторский учебный материал · Редакция QA Orbit · версия 2026-10-28.1

Теперь применим это к задачеПопробуйте сами, прежде чем открывать разбор.
Предыдущий урокКачество, требования и приоритет проверкиСледующий урокТаблицы решений и переходы состояний
QA ORBIT

Проверяй. Понимай. Расти.

Пространство осмысленного тестирования.
ИсследуйтеНовостиИнструментыБиблиотека
РазвивайтесьКурсыТренажёрыМаршруты обученияИИ и тестирование
Оставайтесь на орбитеО проекте Полезные сайтыГлоссарий
© 2026 QA Orbit. Сделано с вниманием к деталям.
КонфиденциальностьУсловия использования Всегда есть что исследовать