Введение в проблему
Тестировщики-инженеры тратят часы на прохождение одних и тех же тестовых сценариев после каждого спринта. Они пишут одни и те же тикеты в Jira, прикрепляют одни и те же скриншоты и ловят очевидные ошибки. Однако более тонкие ошибки, которые появляются только при использовании определенных учетных записей или наборов данных, часто остаются незамеченными.
Создание Verifai
Мы построили Verifai, чтобы решить эту проблему. Verifai - это агент ИИ, который читает тикеты Jira, открывает реальный браузер, тестирует ваше приложение так, как это делает человеческий тестировщик, и создает тикеты Jira для найденных ошибок, включая скриншоты и шаги воспроизведения.
Основная идея: Агент, который видит перед действием
Большинство инструментов автоматизации браузера следуют сценарию. Playwright запускает последовательность команд, Selenium кликает на селекторы. Если макет страницы изменится или элемент переместится, тест ломается. Verifai не запускает сценарии. Для каждого действия он следует этому циклу:
- Сделать скриншот текущего состояния браузера
- Отправить скриншот в Gemini с помощью инструмента Computer Use
- Gemini анализирует, что находится на экране, и решает, что делать дальше
- Выполнить одно действие в браузере
- Сделать еще один скриншот и проверить, произошел ли ожидаемый результат
- Повторить до тех пор, пока тестовый шаг не пройдет, не завершится или не сможет быть завершен
ИИ видит живую страницу перед каждым решением. Если кнопка переместилась, форма входа выглядит иначе или появился неожиданный попап, Gemini адаптируется. Это принципиально отличается от запуска предварительно написанного тестового сценария - это агент Computer Use, который как раз занимается тестированием.
Три модели Gemini, три различных задания
Одним из наиболее важных решений по дизайну было разделение работы между тремя специализированными моделями Gemini вместо использования одной модели для всего. Каждая модель была выбрана для выполнения конкретной задачи, что позволило нам создать более эффективный и адаптивный агент тестирования.