Восемь автотестов за двадцать три секунды: один красный нашёлся до выкладки

Набор регресса, живой прогон pytest и разбор упавшей проверки — с адресом и фактом.

Что это

Агент не «перепроверил глазами», а принёс прогон с кодом возврата

Чат-бот скажет «выглядит нормально». Агент запускает набор, собирает вывод и код возврата, показывает красную проверку с адресом и фактическим значением, и только после этого говорит, можно ли выпускать. Упавший тест — это дефект, а не повод отложить регресс.

Вход и выход

Что прогнано в этой сессии, а что подключим

Вход

Живая карта сайта: 1332 адреса. Из них выборка на регресс — сорок адресов и три ключевые страницы.

  • Прогон — работает

    pytest 9.2.0, восемь тестов, 7 прошло и 1 упал, 23,11 секунды. Упал на длине описания.

  • Дефект — найден

    Адрес /docs/: описание 87 знаков при воротах «не меньше ста». Воспроизводится каждым прогоном.

  • Код возврата — работает

    Ненулевой код возврата — сигнал CI; набор не «зеленеет» из вежливости.

  • CI по расписанию — подключим

    Timeweb Cloud или Amvera: токен на запуск сборки, один день. Пока прогон запускается вручную.

Что открывается: набор, живой вывод и итог

Прогон 09.11.2026 против живого сайта; вывод консоли приведён как есть

  1. 1

    Набор регресса

    Восемь проверок: адрес, карта, один заголовок, title, описание, 404, редирект, ссылки.

  2. 2

    Живой вывод прогона

    Консоль pytest: 8 собранных тестов, 7 прошло, 1 упал, время 23,11 с.

  3. 3

    Разбор красного

    Что именно упало, на каком адресе, какое ожидание и что делать дальше.

Что агент делает и что остаётся человеку

Собирает наборАгент: регресс из карты сайта и ключевых сценариев. Человек: говорит, что критично для бизнеса.
ГоняетАгент: запуск, вывод, код возврата, время. Человек: решает, когда гонять — на каждый коммит или на релиз.
Разбирает красноеАгент: адрес, ожидание, факт, воспроизводимость. Человек: это дефект кода или устаревшее требование.
Ведёт историюАгент: результат по релизам и что менялось. Человек: приоритет исправлений.
Даёт вердиктАгент: «к релизу с оговоркой» и что именно блокирует. Человек: подписывает выпуск.

Сценарий: от выкладки до вердикта

  1. 1

    Триггер

    Релиз, багфикс или расписание: агент получает сигнал и берёт набор.

  2. 2

    Окружение

    Стенд или живой адрес: агент подставляет базовый адрес, остальное — из настроек.

  3. 3

    Прогон

    Запуск набора, сбор вывода, кода возврата и времени по каждой проверке.

  4. 4

    Разбор

    Красные — в дефект с шагами; зелёные — в историю прогона.

  5. 5

    Сигнал

    Сообщение в рабочий чат: сколько прошло, что упало, ссылка на отчёт.

  6. 6

    Выход

    Набор, результат и дефекты файлами; вердикт — словами, с оговоркой.

Откуда данные

Что берётся на входе

  • Карта сайта

    Список адресов, которые вообще должны работать: 1332 адреса на 09.11.2026.

  • Ворота приёмки

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

  • Стенд

    Адрес окружения, на котором гоняем: живой домен, staging или локальная сборка.

  • Трекер

    Куда положить дефект и откуда взять статус: Яндекс Трекер или YouGile — по ключу.

Норма, на которую опирается работа

Краевые случаи

Где решает человек, а не агент

  • Тест устарел, а не код

    Агент приносит ожидание и факт; решает человек: править тест или код.

  • Плавающий результат

    Агент гоняет повторно и пишет «нестабильно», а не «упало»: причина может быть в сети.

  • Стенд недоступен

    Прогон помечается «не выполнен», а не «прошёл»: зелёный цвет не выдаётся за результат.

  • Дефект в проде

    Регресс не заменяет разбор инцидента: агент собирает факты, решение — за человеком.

Что обычно возражают

  • «У нас регресс идёт два дня»

    Набор из восьми проверок живого сайта идёт 23 секунды; полный регресс всё равно остаётся, но перестаёт быть единственным.

  • «Автотесты быстро устаревают»

    Набор строится из карты сайта: новый адрес попадает в него сам, без правки кода.

  • «Кто будет чинить красное?»

    Красное приходит дефектом с адресом и фактом; чинит разработчик, а не тестировщик.

  • «Нужен ли CI?»

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

  • «А если сайт недоступен?»

    Прогон честно падает с ошибкой соединения — это тоже результат, а не «зелёный».

Границы

Чего агент не делает

Не выдаёт «не выполнено» за «проходит» и не красит результат в зелёный без прогона. Не правит код и тесты без решения человека. Не запускает прогон на боевых данных клиента. Не пишет «стабильно», если видел плавающий результат. Гарантий в отчёте нет — ст. 5 ФЗ-38.

Вопросы, которые задают первыми

С чего начать?

Один прогон на вашем стенде: пришлите адрес — вернём набор, вывод и разбор красных.

Что нужно от нас?

Адрес стенда и ворота приёмки. Для CI — токен на запуск сборки, один день.

Это заменит ручной регресс?

Нет. Агент снимает повторяемое, руками остаются сценарии, где нужен глаз.

Сколько идёт прогон?

Восемь проверок по живому сайту — 23 секунды; сорок адресов — около минуты.

Где смотреть историю?

В файле результата: по каждому релизу видно, что менялось и что падало.

Роль целиком

Что ещё берёт на себя агент

Роли

Прогнать регресс на вашем стенде

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