В прошлом уроке мы разбирали, в каком формате пришло требование — user story, use case, критерии приёмки, макет или бизнес-правило. Но формат ничего не говорит о качестве содержания: user story можно написать чётко, а можно так, что по ней невозможно понять, что именно проверять. Мало заметить, какой формат перед тобой, — нужно ещё оценить, годится ли то, что реально написано.
Чему научишься за этот урок:
— различать пять характеристик хорошего требования: полноту, непротиворечивость, проверяемость, однозначность, атомарность;
— по тексту требования определять, какая именно характеристика нарушена;
— находить в требовании бандл из нескольких условий и явно непроверяемые формулировки.
Пять характеристик хорошего требования
Формат — это про то, ГДЕ лежит требование. Характеристики — это про то, МОЖНО ЛИ им пользоваться. Ниже пять характеристик, по которым тестировщик оценивает требование по существу — независимо от того, в каком формате оно пришло.
- Полнота. Требование перечисляет все случаи явно, без фраз-заглушек «и т.д.», «и другие», «при необходимости». Если в списке способов оплаты написано «карта, СБП и т.д.» — непонятно, какие ещё способы имелись в виду и нужно ли их вообще реализовывать.
- Непротиворечивость. Требование не расходится с другим документом об этой же функции. Пример: один документ говорит «скидка по промокоду не больше 50%», а в примере письма-подтверждения из другого документа показана скидка 70%. Расхождение придётся выяснять отдельно, иначе непонятно, какой источник считать правильным.
- Проверяемость. По требованию можно построить тест с однозначным результатом «прошёл / не прошёл». Антипример — «интерфейс должен быть удобным»: нет числа, состояния или действия, которое можно бы было зафиксировать в тест-кейсе.
- Однозначность. Требование понимается только одним способом. «Обработка отклонённой карты должна происходить корректно» — один разработчик покажет всплывающее окно с текстом ошибки, другой сделает редирект на отдельную страницу. Оба выполнили «требование», но получили разное поведение.
- Атомарность. Одно требование описывает одну проверяемую вещь, а не бандл из нескольких условий через «и» / «а также». «Пользователь должен быстро и удобно оплатить курс, а также получить чек и уведомление» — это минимум три независимые вещи (оплата, чек, уведомление), каждая из которых может сломаться отдельно от остальных.
Пять примеров нарушений и как их исправить: +------------------------+------------------------------------------------+ | "Интерфейс должен быть | ПРОВЕРЯЕМОСТЬ: нечем измерить "удобно". | | удобным" | Исправление: конкретный измеримый критерий | | | (например: форма проходит без ошибок в 3 | | | типовых сценариях) | +------------------------+------------------------------------------------+ | "Карта, СБП и т.д." | ПОЛНОТА: "и т.д." скрывает часть случаев. | | | Исправление: явно перечислить все способы | | | оплаты без сокращений | +------------------------+------------------------------------------------+ | Скидка <=50% в одном | НЕПРОТИВОРЕЧИВОСТЬ: в примере другого документа | | документе, 70% в | показана скидка 70%. | | примере другого | Исправление: согласовать значение, назначить | | | один источник правды | +------------------------+------------------------------------------------+ | "Оплатить быстро и | АТОМАРНОСТЬ: бандл из трёх вещей в одном | | удобно, получить чек | требовании. | | и уведомление" | Исправление: разбить на три отдельных | | | требования - оплата, чек, уведомление | +------------------------+------------------------------------------------+ | "Обработка отклонённой | ОДНОЗНАЧНОСТЬ: текст допускает разные толкования| | карты должна происходить| — один разработчик покажет всплывающее окно, | | корректно" | другой сделает редирект. | | | Исправление: явно описать одно конкретное | | | поведение вместо оценочного "корректно" | +------------------------+------------------------------------------------+
Пять характеристик ловят разные классы проблем: полнота ищет пропущенные случаи, непротиворечивость — рассогласование между документами, проверяемость — невозможность построить тест, однозначность — разное понимание одного текста разными людьми, атомарность — скрытый бандл из нескольких вещей. Проверить требование только по одной характеристике и решить, что оно «хорошее», — ошибка: дыры обычно как раз в тех характеристиках, которые не проверили.
Практика на полигоне: требование к оплате
На нашем учебном полигоне в задаче на функцию оплаты дано требование: «Пользователь должен быстро и удобно оплатить курс, а также получить чек и уведомление». На первый взгляд требование как требование. При разборе по пяти характеристикам видно сразу два нарушения.
Во-первых, атомарность: здесь минимум три независимые вещи — сам факт оплаты, формирование чека, отправка уведомления. Каждая может сломаться независимо от других: чек может не сформироваться при успешной оплате, уведомление может не дойти при сформированном чеке. Проверять это одним тест-кейсом «оплата прошла» — значит закрывать глаза на две отдельные точки отказа. Во-вторых, проверяемость: слова «быстро» и «удобно» не дают числа или состояния, которое можно зафиксировать в тест-кейсе — по ним нельзя сказать «прошёл» или «не прошёл».
Рабочее исправление — разбить требование на атомарные и проверяемые части: (1) оплата картой завершается подтверждением на экране в течение заданного времени после ввода данных; (2) чек формируется и становится доступен в личном кабинете; (3) уведомление об оплате отправляется на указанный email или push. Три отдельных требования — три отдельных тест-кейса, и ни один не спрячется за формулировкой «быстро и удобно».
Итог:
— хорошее требование проверяется по пяти характеристикам: полнота, непротиворечивость, проверяемость, однозначность, атомарность;
— каждая характеристика ловит свой класс проблем и не заменяет остальные;
— бандл нескольких условий в одном требовании и неизмеримые слова вроде «быстро» / «удобно» — два самых частых нарушения на практике.
Контрольный вопрос. Один документ утверждает: «Скидка по промокоду не может превышать 50% от стоимости курса». В примере письма-подтверждения из другого документа показана скидка 70%. Какая характеристика хорошего требования здесь нарушена? Ответь одним словом.
Подсказка: Речь о рассогласовании между двумя источниками, описывающими одну и ту же функцию.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Требование к форме оплаты сформулировано так: «Интерфейс должен быть удобным». По этой формулировке нельзя построить тест с результатом «прошёл / не прошёл». Какая характеристика нарушена?
Подсказка: Ищи характеристику, которая отвечает именно за возможность построить тест с чётким результатом.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. «Пользователь должен быстро и удобно оплатить курс, а также получить чек и уведомление» — одно требование на самом деле описывает сразу несколько независимо проверяемых вещей. Какая характеристика здесь нарушена?
Подсказка: Посчитай, сколько разных проверяемых вещей спрятано в одном предложении.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. В требовании к способам оплаты написано: «Доступны карта, СБП и т.д.». Какая характеристика хорошего требования нарушена фразой «и т.д.»? Ответь одним словом.
Подсказка: Фраза-заглушка скрывает, какие ещё случаи имелись в виду.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Требование «Обработка отклонённой карты должна происходить корректно» один разработчик реализует как всплывающее окно с текстом ошибки, а другой — как редирект на отдельную страницу. Какая характеристика хорошего требования нарушена?
Подсказка: Оба разработчика формально выполнили требование, но получили разное поведение — значит, текст допускает разные толкования.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Как называется характеристика хорошего требования, при которой по нему можно построить тест с однозначным результатом «прошёл / не прошёл»? Ответь одним словом.
Подсказка: Антипример этой характеристики — требование «интерфейс должен быть удобным», по которому нечем проверить результат.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Как называется характеристика хорошего требования, которая требует, чтобы одно требование описывало одну проверяемую вещь, а не несколько условий через «и» / «а также»? Ответь одним словом.
Подсказка: Нарушение этой характеристики — бандл из нескольких независимых пунктов в одном предложении.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Требование «Форма оплаты должна быстро и удобно принимать карту, а также поддерживать промокод и т.д.» нарушает сразу несколько характеристик хорошего требования. Другие документы об этой функции в задаче не упоминаются. Какие из следующих утверждений верны (выбери все подходящие)?
Выберите все верные варианты.
Подсказка: Смотри на каждый фрагмент требования отдельно: что именно он ломает. Про противоречие можно судить только тогда, когда есть второй документ, с которым требование расходится.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Задание. На учебном полигоне в задаче на функцию оплаты дано требование: «Пользователь должен быстро и удобно оплатить курс, а также получить чек и уведомление». Перечисли: (1) сколько отдельных проверяемых вещей спрятано в этом требовании бандлом, и какие именно; (2) какое слово или слова делают часть требования непроверяемой.
Критерий приёмки: названы минимум три независимые вещи (оплата, получение чека, получение уведомления) и указано хотя бы одно из слов «быстро» / «удобно» как непроверяемое.
Подсказка: Раздели требование на отдельные действия, которые можно проверить порознь, и отдельно найди слова без числа или конкретного состояния.
✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.
Онлайн-проверка ответа появится позже
Задание. Перепиши требование «Скидка должна применяться корректно» так, чтобы оно стало проверяемым — конкретно укажи, что именно должно произойти при применении скидки.
Критерий приёмки: ответ содержит конкретное измеримое условие (например: «при вводе действующего промокода сумма к оплате уменьшается на размер скидки и отображается на экране до подтверждения оплаты»), а не общие слова вроде «работает правильно» или «применяется как надо».
Подсказка: Подумай, что именно должен увидеть пользователь на экране и в какой момент, чтобы можно было сказать «скидка применилась».
✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.
Онлайн-проверка ответа появится позже
Задание. Требование к разделу «Мои курсы» звучит так: «Курсы должны отображаться быстро и в удобном порядке, а количество мест на курс должно проверяться и т.д.». При этом в отдельном документе с бизнес-правилами каталога написано: «Количество мест не проверяется, запись на курс всегда доступна». Найди ДВЕ разные характеристики хорошего требования, нарушенные здесь одновременно, и для каждой одним предложением объясни, в чём конкретно нарушение по тексту.
Критерий приёмки: названы ровно две разные характеристики из пяти (например: непротиворечивость — цитируемое требование о проверке мест расходится с бизнес-правилом «запись всегда доступна»; и проверяемость или атомарность — «быстро» и «в удобном порядке» нечем измерить, либо два разных условия слиты в одно требование); для каждой характеристики дано конкретное обоснование по тексту задания, а не общая фраза.
Подсказка: Сравни текст требования с текстом бизнес-правила — там есть прямое расхождение. Отдельно посмотри на слова без числа и на количество разных условий в одном предложении.
✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.
Онлайн-проверка ответа появится позже
Что дальше
Проверяемость и однозначность требования чаще всего рушат конкретные слова-маркеры — «быстро», «удобно», «и т.д.». В следующем уроке разберём список таких маркеров и метод, как превращать их в измеримый критерий, а также — откуда берутся требования, которые вообще никто не написал словами.
