Comments 15
Спасибо за статью и за то, что поделился инструментом
Быстро ушли в технические детали реализации, но ценность инструмента и то, как он перформит, раскрыли не до конца.
Не очень понял, а зачем нужно приложение? Мы такое уже давно делаем через агента с нужными скиллами в Claude code, просто говоришь ему "реализуй таску номер taskid в жире" и он сам лезет и в жиру и в конфлюенс и тестрэйл и нужные репы продукта качает, билдит, пишет тесты, сам их гоняет, фиксит и в итоге PR создаёт.
Проект задумывался и начинался, когда claude ещё не существовало. Так же: 1) как claude может ресерчить в закрытой инфре? - с помощью mcp с контролем того, какая информация доступна 2)Какого качества получатся тесты? - такие, которые надо дорабатывать
Вот и получается, что нужен какой-то инструмент, с помощью которого получится собрать нужную информацию и потом результат обработки как-то провалидировать, подправить и сохранить. Плюс удобно, что все в одном месте и работает централизованно.
В целом можно все тоже самое сделать с помощью claude с прослойками, но будет ли удобнее? Все равно надо же оценивать и редактировать то, что сделала нейронка, куда-то переходить, прокликивать каждый тест кейс. А если у claude есть фул доступ, то наверно ещё и лишние токена тратятся будут, пока инфу найдет нужную.
Я с claude не много работал, поэтому могу ошибаться и инструмент и вправду уже устарел)
1) клод имеет тот уровень доступа который вы ему дадите, ограничивая в соотвествующей системе. Например в жире, есть возможность получить API ключ с ограниченным уровнем доступа. Но многие конечно не парятся и дают ключи со всем доступом какой есть у них, но с ограничениями через скиллы.
2) Тесты получаются достаточного качества, чтобы тест инженеру достаточно было сделать ревью и внести пару косметических правок. Все зависит от того как вы обучите клод писать тесты через скиллы. Впрочем еще зависит от самой модели, если использовать Sonnet 4.6 то вполне уже хорошо, Опус еще лучше, но намного дороже. Да, получается дороговато в целом. Но есть способы оптимизации, но это уже на грани исскуства )
Впрочем, это не полностью автономный агент, скорее хороший помощьник который делает 80% рутины, а инженеру остается делать ревью и вносить правки. Причем правки не только в сами тесты, но в скиллы (обучая) агента. И кстати, у нас все тесты написаны в геркен стиле (BDD), поэтому зачастую правки касаются только фича-файлов и сценариев, тогда как большая часть реализация самих степов уже зафиксирована и агент её просто переиспользует иногда добавляя новые степы.
Спасибо, что детально расписали, как у вас устроено, покопаюсь в этом направлении, но думаю, что в моем случае это вряд-ли получится т.к всегда работал в финтехе и в таких компаниях наружу напрямую ничего не торчит (через удаленные машины или впн доступ обычно), как приделать к этому клод не понимаю пока что)
Также использую Claude для этого, все запускается одной командой куда кидаю ссылку на тикет.
Для генерации тест-кейсов подтягивается описание самого тикета, комменты из тикета и анализ кода из при-атачченых PRs (работает через MCP соответственно).
Также анализируются существующие кейсы из регрессионного test-suite.
Вдобавок, создал ряд скилов, которые представляют собой набор проверок в зависимости от того, какая часть приложения тестируются.
Сократили в итоге штат после этого? Частично.
Здравствуйте Илья, спасибо большое за хорошую статью. Я бы хотел использовать этот интрумент в моем отделе технической поддержки для QA специалистов, в рамках ежедневных релизов, данная тулза думаю была бы кстати. У меня нет никакого бэкенд бэкграунда и в коде я еще слабоват, хотелось бы видеть более развернутую инструкцию/гайд, по работе с инструментом, возможно мини видео, спасибо 🙏
postman_generator
Забавен сам факт, что вы автоматизировали неавтоматизированное тестирование, при этом не дойдя до автоматизированного тестирования. Вместо нормальной автоматизации или хотя бы переходом на newman...
Запускала похожий генератор по OpenAPI спеку, смотрела на вывод.
Два паттерна повторялись: хардкодные ID без setup (offerId = 1) - в CI такой тест видит 404; и ассерции на errorCode без значения - модель нашла поле, но заполнить не смогла, потому что конкретные коды в спеке не были прописаны как enum.
Был ещё один неочевидный: авторизация через браузер в API-only тесте, потому что генератор не знал о существующей request-фикстуре в проекте.
Итого файл использую как чеклист кейсов и черновик структуры а не как готовый тест.
Как я сократил рутину QA до пары кликов: генератор API-тестов и тест-кейсов на LLM, которым хочу поделиться