Сначала уточните правило и ожидаемое поведение
Возьмём вымышленную форму заказа печати. По условию в поле количества страниц принимаются только целые числа от одного до пятидесяти включительно. Значение вне этого диапазона должно приводить к понятному сообщению об ошибке, а отправка формы не должна завершаться успешно. Здесь уже определены тип данных, нижний и верхний пределы, а также основная реакция на нарушение. Если слово включительно отсутствует, ожидаемое поведение на границе стоит уточнить до объявления ошибки в программе. Отдельно задайте исходное состояние: форма открыта, остальные обязательные поля заполнены допустимыми данными. Иначе отказ отправки может быть связан с другим полем. Не придумывайте отсутствующие требования. Например, обработка пробелов вокруг числа или сохранение ранее введённого значения могут требовать отдельного согласования. Неясность полезно записать как вопрос.
Выберите группы значений и их границы
Для числового диапазона можно выделить три группы: меньше одного, от одного до пятидесяти и больше пятидесяти. Внутри каждой группы ожидается одинаковый основной способ обработки. Это помогает обосновать выбор представителей вместо случайного перебора. Затем уделите внимание переходам между группами. Для нашего примера полезны ноль, один и два возле нижней границы, а также сорок девять, пятьдесят и пятьдесят один возле верхней. Значения один и пятьдесят должны приниматься, ноль и пятьдесят один отклоняться. Соседние внутренние значения помогают убедиться, что программа принимает не только саму границу. Представим ошибочную реализацию, допускающую лишь один и пятьдесят, но отклоняющую середину диапазона. Проверка только крайних допустимых чисел такой дефект пропустит. Дополнительно рассмотрите данные другого вида: пустое поле, дробное число и текст. Они не сводятся к расположению внутри целочисленного диапазона. Ожидаемую реакцию определяют по согласованным требованиям к обязательности поля и формату ввода.
Запишите результат так, чтобы его можно было воспроизвести
Для каждого случая укажите подготовку, вводимое значение, действие и ожидаемое поведение. После выполнения добавьте фактический результат. Фраза проверил границы не сообщает, какие именно значения использовались и что наблюдалось. Если обнаружено расхождение, опишите его отдельно. Например, при вводе пятидесяти одного форма отправилась, хотя требование разрешает максимум пятьдесят. Такое описание связывает конкретный пример с правилом и помогает повторить ситуацию. Проверьте, относится ли наблюдение к текущей версии продукта и тем же условиям. Изменённые настройки или другое исходное состояние могут объяснять расхождение между двумя проверками. Поэтому полезно сохранять необходимые сведения об окружении без паролей и личных данных. Успешный набор граничных проверок не доказывает отсутствие всех ошибок. Он отвечает на ограниченный вопрос о выбранных переходах и правилах. Другие возможности формы, сочетания условий и последствия отправки требуют собственных проверок, выбранных по их значимости.
Попробуйте на практике
Составьте на бумаге проверки вымышленного поля количества страниц, не обращаясь к реальному сервису.
- Перепишите требование, явно указав допустимый диапазон, целочисленный формат и реакцию на нарушение.
- Запишите шесть значений возле двух границ и ожидаемый результат для каждого.
- Добавьте один случай с нечисловым вводом и отметьте, какие требования нужны для его оценки.
- Сформулируйте сообщение о вымышленном дефекте, при котором значение пятьдесят один принимается.
Как проверить результат. Набор готов, если у каждой проверки есть понятное основание и ожидаемый результат. В описании дефекта должно быть видно, как воспроизвести расхождение и какое требование нарушено.
Частые вопросы
Можно ли заменить все проверки одним числом из середины диапазона?
Оно покажет поведение только для выбранного случая. Ошибки на переходе между допустимыми и недопустимыми значениями могут остаться незамеченными.
Если ожидаемый результат неизвестен, можно сразу завести дефект?
Сначала следует уточнить основание ожидания. Неполное или противоречивое требование важно зафиксировать, но его не стоит незаметно заменять личным предположением о правильном поведении.
Самостоятельный разбор темы. Содержание конкретной обучающей программы здесь не представлено.