📌 Один агент = ноль тестов #ai#qa#tools Любой QA знает: разработчик, который тестирует свой же код, находит примерно ничего. С агентами та же история.
Думал тут про следующие шаги в агентском тестировании. Помимо очевидного - дать агенту доступ к таск-трекеру, чтобы он сам забирал задачи (про это как-нибудь отдельно) - пришла мысль про сам пайплайн. Сейчас у нас как у людей: один цикл разработка, другой цикл тестирование. Разные роли, разные люди, разные этапы. А если и код, и тесты в итоге пишет агент - зачем держать два отдельных потока? Слить в один, дать агенту задачу целиком: "сделай фичу и покрой её тестами". Один проход, экономия токенов, никаких передач между этапами. Как-нибудь смержить наши усилия в один SDLC.
Идея красивая, но говно.
🎭 Предвзятость автора. Когда агент только что написал реализацию, у него в контексте уже сидит мысленная модель того, как код должен работать. Тесты он будет писать под эту модель, а не под требования. Зелёный CI, баг в проде - потому что и код, и тест ошибаются одинаково.
🙈 Общие слепые зоны. Если агент не подумал про пустой массив на этапе кодинга - он не подумает про него и на этапе тестов. Edge-кейсы, пропущенные при написании, пропустятся и при проверке.
🔧 Тесты подгоняются под код. Тест красный - агент чаще "поправит тест", чем полезет разбираться в логике. В итоге тест проверяет не требование, а текущее поведение кода.
📝 Мини-пример из практики Dev делает форму регистрации с валидацией email. Сам же пишет к ней автотесты:
- ввести правильный email - форма принимает
- ввести "asdf" без собаки - форма ругается
- пустое поле - форма ругается
Зелёно, готово, в прод. А теперь дайте ту же форму человеку (или агенту), у которого в голове только ТЗ, а не код:
- email с пробелом в конце, что будет?
- очень длинный email, 500 символов?
- email в верхнем регистре, найдёт юзера, который зарегался в нижнем?
- два сабмита подряд, создаст двух юзеров?
- emoji в локальной части?
Половину этих кейсов автор сам у себя не найдёт никогда. У него уже есть ответ на вопрос "как оно работает", и он не задаёт вопрос "а как оно может сломаться".
🛠 Что делать Поднять второго агента параллельно, в отдельной рабочей директории, с отдельной ролью: "ты отвечаешь за качество". Он не видит реализации, видит только требования и артефакты, которые отдал dev-агент. Пишет тесты, ищет дыры, заводит "баги" обратно в dev-агента.
По сути это тот же принцип, что у людей: dev и QA не зря разные роли. Один человек не может одновременно быть автором и независимым проверяющим. С агентами ровно так же. Только теперь это вопрос второй вкладки в терминале, а не ставок и оргструктуры.
И вообще идея говно, потому что это похоже на самому ревьювить свой пулл реквест.
· 18.05
Это буквально как самому ревьюить свой PR, да. На практике сталкивался с тем же но без агентов - когда один человек пишет и код и тесты, покрытие формально есть, а баги всё равно в проде. Два агента с разными контекстами звучит логично, но интересно как решать конфликты когда QA-агент заводит баг а dev-агент считает что это фича. У людей это уже полдня спора в комментах к тикету
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 19.05
Ну тут кожаные подключаются)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён