Маркеры неопределённости. Источники неявных требований

В прошлом уроке мы разбирали пять характеристик хорошего требования — и одна из них, проверяемость, страдает чаще всего. Хорошая новость: непроверяемость обычно не нужно вычислять заново каждый раз с нуля — она почти всегда выдаёт себя одними и теми же словами. Дальше — конкретный список таких слов и что делать, когда требование вообще ничего не написало словами, а подразумевало.

Чему научишься за этот урок:
— находить в требовании конкретные слова-маркеры неопределённости («быстро», «удобно», «и т.д.» и другие);
— переформулировать маркер в измеримый критерий;
— распознавать четыре источника требований, которые не написаны словами, но подразумеваются.

Маркеры неопределённости

Маркер неопределённости — это слово или конструкция, которая почти всегда сигналит: здесь требование непроверяемо или неоднозначно. Таких маркеров четыре вида.

  1. Расплывчатые прилагательные. «Быстро», «удобно», «красиво», «интуитивно понятно». Ни одно из этих слов не содержит числа, состояния или действия, которое можно зафиксировать в тест-кейсе.
  2. Расплывчатые перечисления. «И т.д.», «и другие», «при необходимости», «в случае надобности». Список обрывается, не сказав, что именно осталось за кадром.
  3. Пассивный залог без указания субъекта. «Данные должны обрабатываться» — кем обрабатываться? В какой момент? При каком событии? Пассивная форма прячет и исполнителя, и условие срабатывания.
  4. Незакрытые ссылки. «Это должно работать как обычно» — а как именно «обычно»? Ссылка на неявный прецедент, который нигде не расписан, оставляет решение на усмотрение того, кто реализует требование.

Метод работы с маркером простой: не пытаться додумать, что имелось в виду, а прямо спросить или заменить маркер на измеримый критерий. «Быстро» → «ответ сервера не более 2 секунд». «Удобно» → конкретное действие в 1 клик или чёткий чек-лист юзабилити. «И т.д.» → явный полный список без сокращений.

  Маркер -> измеримая замена:

  +---------------------------+---------------------------------------------+
  | "быстро"                  | ответ сервера не более 2 секунд              |
  +---------------------------+---------------------------------------------+
  | "удобно"                  | нужное действие выполняется за 1 клик,       |
  |                            | либо конкретный чек-лист юзабилити           |
  +---------------------------+---------------------------------------------+
  | "и т.д."                   | явный полный список вариантов без сокращений |
  +---------------------------+---------------------------------------------+
  | "данные должны             | система X обрабатывает данные Y при событии  |
  | обрабатываться" (пассив)  | Z (указан исполнитель и момент)              |
  +---------------------------+---------------------------------------------+
  | "работать как обычно"     | явно повторить точное правило из раздела,    |
  | (незакрытая ссылка)       | на который идёт отсылка                      |
  +---------------------------+---------------------------------------------+
  | "интуитивно понятно"      | пользователь находит нужную функцию не       |
  |                            | более чем за N кликов без подсказки          |
  +---------------------------+---------------------------------------------+

Источники неявных требований

Маркеры ловят то, что написано плохо. Но есть требования, которые вообще не написаны словами, — они подразумеваются сами собой, и их приходится достраивать из контекста, а не ждать, что кто-то распишет. Источников четыре.

  1. Отраслевые стандарты. Для веб-формы подразумевается работа в основных браузерах, даже если это нигде не написано. Требование «форма должна отправляться» молча включает в себя «и в Chrome, и в Safari, и в Firefox».
  2. Правовые нормы. Форма, которая собирает email и телефон, молча подразумевает соответствие законодательству о персональных данных (152-ФЗ в РФ) — даже если ни одно требование об этом не упоминает.
  3. Пользовательские конвенции. Кнопка «Отмена» должна отменять действие, а не подтверждать его — этого никто не пишет отдельным требованием, но любой пользователь ждёт именно такого поведения.
  4. Согласованность с уже существующим поведением продукта. Если в одном разделе продукта поле обязательно для заполнения, а в требовании к похожему полю в другом разделе явно не сказано иное — по умолчанию ожидается то же самое поведение, а не произвольно другое.

Практика на полигоне: находим маркеры

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

Рабочая замена: «быстро» → «результат проверки промокода отображается не более чем через 1 секунду после ввода»; «удобно» → «поле промокода находится на той же странице оплаты, без перехода на отдельный экран»; «понятное сообщение» → конкретный текст ошибки, например «Промокод не найден» или «Промокод уже использован», а не общее «Ошибка». После такой замены у требования появляется три отдельных проверяемых условия вместо одного расплывчатого.

Итог:
— маркеры неопределённости — конкретный, выучиваемый список слов (расплывчатые прилагательные, расплывчатые перечисления, пассив без субъекта, незакрытые ссылки), по которым можно быстро найти дыры в требовании;
— каждый маркер переформулируется в измеримый критерий по одному и тому же методу: заменить общее слово на число, состояние или явный список;
— неявные требования нужно достраивать из контекста (стандарты, законы, пользовательские конвенции, согласованность продукта), а не ждать, что их распишут словами.

Контрольный вопрос. В требовании написано: «Форма оплаты должна работать быстро». К какому виду маркеров неопределённости относится слово «быстро»?

АРасплывчатое прилагательное
БРасплывчатое перечисление
ВНезакрытая ссылка

Подсказка: Слово не содержит числа или состояния, которое можно зафиксировать в тест-кейсе, — это качественная, а не количественная оценка.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. В требовании к способам оплаты написано: «Доступны карта, СБП и т.д.». К какому виду маркеров неопределённости относится «и т.д.»? Ответь двумя словами.

Подсказка: Список обрывается, не сказав явно, что именно осталось за кадром.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Требование гласит: «Данные о платеже должны обрабатываться». Не указано, кто обрабатывает и при каком событии. К какому виду маркеров это относится?

АПассивный залог без субъекта
БРасплывчатое прилагательное
ВНезакрытая ссылка

Подсказка: Обрати внимание на форму глагола — действие есть, а исполнитель и момент срабатывания не названы.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. В требовании написано: «Уведомление об оплате должно отправляться как обычно». К какому виду маркеров относится фраза «как обычно»? Ответь двумя словами.

Подсказка: Фраза отсылает к какому-то прецеденту, но не расписывает, что конкретно этот прецедент означает.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Требование «Ответ на запрос промокода должен приходить быстро» нужно переформулировать в измеримый критерий. Какой из вариантов ниже действительно измерим?

АРезультат проверки промокода отображается не более чем через 1 секунду после ввода
БРезультат проверки промокода отображается достаточно оперативно
ВРезультат проверки промокода отображается без задержек, ощутимых пользователем

Подсказка: Измеримый критерий содержит конкретное число или единицу времени, а не оценочное слово.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. «Удобно», «красиво», «интуитивно понятно» — как называется этот вид маркеров неопределённости? Ответь двумя словами.

Подсказка: Все три слова — это оценочные определения без числа или конкретного состояния.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

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

Подсказка: Это источник, связанный с общепринятыми техническими нормами для данного типа продукта, а не с законом или пользовательскими ожиданиями.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. В требовании «Форма должна быстро и удобно проверять промокод, а в случае ошибки выводить понятное сообщение, и т.д.» есть несколько маркеров неопределённости. Какие фрагменты действительно являются маркерами (выбери все подходящие)?

Выберите все верные варианты.

А«быстро» — расплывчатое прилагательное
Б«удобно» — расплывчатое прилагательное
В«понятное сообщение» — расплывчатое прилагательное
Г«промокод» — расплывчатое перечисление

Подсказка: Проверь каждый фрагмент: содержит ли он число, конкретное состояние или явный список — или это оценочное слово без измерения.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Требование «Промокод должен проверяться удобно» нужно переформулировать в измеримый критерий. Предложи одну конкретную измеримую замену для слова «удобно».

Критерий приёмки: ответ содержит конкретное измеримое условие — либо число кликов/шагов, либо явное расположение элемента на экране, либо конкретный пункт чек-листа юзабилити (например: «поле промокода находится на той же странице оплаты, без перехода на отдельный экран»), а не повтор слова «удобно» другими словами вроде «приятно» или «просто».

Подсказка: Подумай, что именно пользователь должен увидеть или сделать, чтобы можно было сказать «это удобно» — переведи ощущение в действие или расположение.

✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.

Онлайн-проверка ответа появится позже

Задание. На полигоне в разделе оплаты все поля формы обязательны для заполнения. В требовании к разделу записи на курс про поле «Комментарий к заявке» ничего не сказано про обязательность. Какой источник неявных требований подсказывает, что поле «Комментарий к заявке», скорее всего, тоже должно быть необязательным или обязательным по аналогии с уже принятым в продукте поведением (а не как получится)? Назови источник и объясни одним предложением, почему он здесь применим.

Критерий приёмки: назван источник «согласованность с уже существующим поведением продукта» (или явный эквивалент этой формулировки); дано объяснение, что раз явно не сказано иное, поведение нового поля должно соответствовать уже принятому в других разделах продукта, а не выбираться произвольно.

Подсказка: Вспомни четыре источника неявных требований — какой из них говорит про поведение, унаследованное от других разделов продукта.

✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.

Онлайн-проверка ответа появится позже

Задание. На учебном полигоне в задаче на проверку промокода дано требование: «Форма должна быстро и удобно проверять промокод, а в случае ошибки выводить понятное сообщение». Найди ВСЕ маркеры неопределённости в этом требовании (их минимум три) и для КАЖДОГО предложи измеримую замену.

Критерий приёмки: найдены минимум три маркера — «быстро», «удобно», «понятное сообщение» (или эквивалентные формулировки для тех же трёх фрагментов); для каждого маркера дана отдельная измеримая замена, содержащая конкретное число, состояние или явный текст (например: «быстро» → результат отображается не более чем через 1 секунду; «удобно» → поле находится на странице оплаты без перехода на отдельный экран; «понятное сообщение» → конкретный текст ошибки вида «Промокод не найден» вместо общего «Ошибка»); общие фразы без числа/конкретики не засчитываются как измеримая замена.

Подсказка: Пройди по требованию слово за словом и проверь каждое прилагательное и оценочное словосочетание на список из четырёх видов маркеров.

✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.

Онлайн-проверка ответа появится позже

Что дальше

Маркеры неопределённости и источники неявных требований помогают найти дыры в отдельном требовании. Но правка формулировок — это ручная, штучная работа уже после того, как дефект найден. Следующий урок — о том, почему выгоднее ловить такие дефекты как можно раньше, ещё в тексте требования, и что это в принципе за отдельный вид тестирования — статическое.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева