Перейти к тексту

Проверки для разных проектов ​

Наш Python-стенд проверяет функции на синтетических данных. У него нет браузера, базы, уведомлений или инфраструктурного состояния. При переносе harness в другой проект набор проверок придётся дополнить теми ошибками, которые возникают именно там.

Интерфейс: запись не должна теряться ​

Предположим, агент добавил форму дневника. Сборка прошла, кнопка есть, но при ошибке сети введённая заметка пропадает. Unit-тест функции валидации этого не заметит.

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

Скриншоты нужны для состояний, которые легко пропустить в коде: длинный текст ошибки, узкий экран, пустой дневник. Зафиксируйте размеры экрана и тестовые данные, чтобы сравнение имело смысл. Автоматический снимок помогает заметить отличие, но принять изменение текста или расположения элементов может потребоваться дизайнеру.

Сервер: проверяйте путь данных ​

Функция отчёта может корректно считать средний балл и при этом получать из API записи чужого пользователя. Добавьте интеграционный сценарий с двумя синтетическими пользователями: запрос одного не должен возвращать данные другого. Проверяйте фактический ответ и состояние хранилища.

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

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

Мобильное приложение: повтор и фон ​

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

Для уведомлений воспроизведите отказ в разрешении и последующее изменение настройки. Проверка только на устройстве, где разрешение уже выдано, пропустит поведение первого запуска. Зафиксируйте версию ОС и состояние приложения перед тестом.

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

Инфраструктура: сравните план и результат ​

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

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

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

Соберите один профиль проверок ​

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

Что определитьПример для формы дневника
Рабочее окружениеВременная сборка, тестовый API, синтетический пользователь.
Обязательный сценарийЗапись сохранилась и видна после перезагрузки.
Проверка отказаПосле сетевой ошибки введённый текст не потерян.
Проверка интерфейсаУзкий экран, длинная ошибка, управление клавиатурой.
Результаты для ревьюВывод тестов, скриншоты выбранных состояний, ошибки консоли.
Решение человекаИзменение текста и правил использования данных.

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

Хендбук по Agentic Engineering