📌 Один агент = ноль тестов #ai#qa#tools Любой QA знает: разработчик, который тестирует свой же код, находит примерно ничего. С агентами та же история.

Думал тут про следующие шаги в агентском тестировании. Помимо очевидного - дать агенту доступ к таск-трекеру, чтобы он сам забирал задачи (про это как-нибудь отдельно) - пришла мысль про сам пайплайн. Сейчас у нас как у людей: один цикл разработка, другой цикл тестирование. Разные роли, разные люди, разные этапы. А если и код, и тесты в итоге пишет агент - зачем держать два отдельных потока? Слить в один, дать агенту задачу целиком: "сделай фичу и покрой её тестами". Один проход, экономия токенов, никаких передач между этапами. Как-нибудь смержить наши усилия в один SDLC.

Идея красивая, но говно.

🎭 Предвзятость автора. Когда агент только что написал реализацию, у него в контексте уже сидит мысленная модель того, как код должен работать. Тесты он будет писать под эту модель, а не под требования. Зелёный CI, баг в проде - потому что и код, и тест ошибаются одинаково.

🙈 Общие слепые зоны. Если агент не подумал про пустой массив на этапе кодинга - он не подумает про него и на этапе тестов. Edge-кейсы, пропущенные при написании, пропустятся и при проверке.

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

📝 Мини-пример из практики Dev делает форму регистрации с валидацией email. Сам же пишет к ней автотесты:

  1. ввести правильный email - форма принимает
  2. ввести "asdf" без собаки - форма ругается
  3. пустое поле - форма ругается

Зелёно, готово, в прод. А теперь дайте ту же форму человеку (или агенту), у которого в голове только ТЗ, а не код:

  • email с пробелом в конце, что будет?
  • очень длинный email, 500 символов?
  • email в верхнем регистре, найдёт юзера, который зарегался в нижнем?
  • два сабмита подряд, создаст двух юзеров?
  • emoji в локальной части?

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

🛠 Что делать Поднять второго агента параллельно, в отдельной рабочей директории, с отдельной ролью: "ты отвечаешь за качество". Он не видит реализации, видит только требования и артефакты, которые отдал dev-агент. Пишет тесты, ищет дыры, заводит "баги" обратно в dev-агента.

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

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

📌 Один агент = ноль тестов #ai#qa#tools
Любой QA знает: разработчик, который тестирует свой же код, находит примерно ничего. С агентами та же история | Сетка — социальная сеть от hh.ru