Агент тестирования хорош ровно настолько, насколько хороши его отчёты о провалах

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

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

Второе: может ли проверка провалиться

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

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

Третье: запускается ли он без просьбы

  • Только по запросу. Полезен во время сессии, незаметен после.

  • При изменении. Запускается по pull request или по деплою. Именно этот вариант вас защищает.

  • По расписанию. Ловит дрейф окружения и изменения во внешних зависимостях.

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

За чем следить в первую неделю

Помимо трёх свойств, есть два наблюдения первой недели, по которым видно, сработает ли всё это.

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

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

Оценка за полдня

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

Терминал

npm install -g @testsprite/testsprite-cli
testsprite setup

Если вы предпочитаете ничего не устанавливать, то же самое делает дашборд. Всё остальное, что умеет командная строка, — в репозитории CLI.

Триггер важнее механизма. Если нацелить его на событие деплоя, каждое изменение проверяется без чьего-либо отдельного решения; GitHub App делает это из дашборда, а шаг GitHub Actions — изнутри вашего workflow.

Как на эти три вопроса отвечает TestSprite

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

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

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

Чем это отличается от фреймворка тестирования?

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

Нужен ли ему доступ к нашему коду?

Он проверяет развёрнутое приложение через его интерфейс. Код уже есть у вашего кодинг-агента.

Сколько ревью требуют сгенерированные проверки?

Прочитайте план до первого прогона и относитесь к новым проверкам как к коду. Основной сценарий провала — объём без ревью.

Может ли он исправлять найденные баги?

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

Сколько стоит его запускать?

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

Коротко

Формат провала, фальсифицируемость, триггер.

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