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

Выберите законченный путь, а не набор экранов

Возьмём учебный кабинет сервисной компании. Клиент создаёт заявку по оборудованию, сотрудник обрабатывает её и фиксирует результат в рабочем реестре. Клиент должен увидеть завершение и относящийся к заявке итог. Доработка связывает эти действия в один путь.

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

В границу нашего примера не входят расчёт стоимости ремонта, склад запчастей и расписание выездов. Но проверка принадлежности заявки клиенту входит: без неё основной путь нельзя считать корректным. Если связь с реестром нужна для завершения задачи, её нельзя объявить необязательной уже при приёмке.

Подготовьте условия, в которых можно повторить проверку

До начала испытаний зафиксируйте версию приложения, состав тестовых данных, роли и доступность зависимостей. Нужны своя и чужая заявки, корректный и неполный запрос, а также возможность безопасно воспроизвести недоступность реестра.

Ожидаемый результат описывает и экран, и состояние данных. «Появилось уведомление» мало говорит о том, создалась ли заявка. «Кнопки нет» не показывает, запрещено ли действие сервером. Доказательство должно относиться к тому, что проверяется.

Если скорость важна для приёмки, укажите операцию, объём данных, условия нагрузки, предел времени и способ измерения. Конкретные значения согласуются для проекта. Они не появляются автоматически из слов «небольшая доработка» или «работает быстро».

Шесть критериев для учебной заявки

Это заполненный пример ведомости, а не отчёт о проведённых испытаниях. В последнем столбце указана роль принимающего; в рабочей версии ей соответствует конкретный участник проекта.

Таблица 1 · Шесть критериев для учебной заявки
УсловияРольДействиеОжидаемый результатДоказательствоОтветственный за приёмку
Своя заявка, реестр доступенКлиент и сотрудникКлиент отправляет заявку; сотрудник завершает обработкуОдна заявка в реестре; итог виден её авторуСвязанные записи, итоговый статус и просмотр клиентомВладелец процесса
Не заполнено обязательное полеКлиентОтправляет неполную заявкуПоле указано в ошибке; запись в реестре не создана; введённое сохраненоОтвет проверки и отсутствие записи по операцииПроверяющий сценарий
Есть заявка другой компанииКлиентОткрывает её прямой адресЧужие сведения и вложения не раскрываютсяОтказ доступа в ответе сервера, без чужих данныхОтветственный за доступы
Первая отправка уже принятаКлиентПовторяет ту же операциюВторой заявки нет; показан результат первойИдентификатор операции и единственная связанная записьТехнический принимающий
Реестр временно недоступенКлиент и сотрудникКлиент отправляет заявку, сотрудник разбирает ожиданиеВ примере заявка сохранена локально, но не названа принятой реестром; ответственному видна незавершённая передачаЛокальная запись, состояние передачи и результат после восстановленияОтветственный за обмен
Есть ранее завершённая заявкаКлиентОткрывает прежний результат после доработкиИстория и доступный итог сохранены; новая заявка не возникаетСравнение контрольной записи до и послеВладелец процесса

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

В первой строке итог подтверждается всей цепочкой, а не только ответом формы. Остальные строки показывают, что происходит при ошибке, повторе, чужом объекте и недоступной зависимости, а также что не должно сломаться рядом с изменением.

Проверьте критерий на однозначность

Дайте описание участнику, который не писал код. Сможет ли он подготовить условия, выполнить действие и понять, какое свидетельство сохранить? Если для ответа нужно спросить автора «что ты имел в виду», критерий стоит уточнить.

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

При работе внешнего модуля отдельной договорённости требует контракт API-модуля. Но технический ответ модуля не заменяет конечное действие клиента. Оба уровня должны быть связаны одним сценарием, а не двумя независимыми демонстрациями.

Несоответствие задаче и новая функция

Первый контраст. Согласовано, что клиент видит результат обработки заявки, но после завершения сотрудником статус не меняется. Это несоответствие принятому объёму. Просьба дополнительно рассчитывать стоимость ремонта — новая функция, если такого результата не было в согласованной задаче.

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

Принцип АИС Сокол: До результата — без доплат за наши ошибки. Если при приёмке наше решение не выполняет согласованную задачу — переделываем без доплаты, включая неверный выбор способа решения и повторные проверки. Новые требования согласуем отдельно; после приёмки действуют условия договора. Как организована приёмка и передача описано отдельно.

Испытание и рабочая приёмка — разные действия

Ошибки данных, чужой объект и недоступность зависимости воспроизводят в разрешённой тестовой среде. Учебное отключение интеграции не должно становиться экспериментом на действующих заказах. Проверяющий использует согласованные учётные записи и тестовые объекты.

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

Результат испытания не заменяет решение о выпуске. И наоборот, сам выпуск не доказывает, что все критерии выполнены. Пройденные и непройденные пункты должны оставаться видны; замечание не закрывается одной сменой статуса в задаче.

Что остаётся у команды после этапа

Передайте исходный код изменений, описание сценариев и результаты их выполнения, необходимые настройки и инструкции. Для выпуска и восстановления нужны действия, связанные именно с этой доработкой. Известные ограничения и внешние зависимости сохраняются рядом с комплектом.

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

По теме: Контракт API-модуля · Проверки критичного рабочего пути.

Опишите один путь пользователя, его начало, итог и важное исключение. По этим вводным можно обсудить проверяемый этап, не начиная с полного переписывания системы или обязательного аудита.

Обсудить проверяемый этап.