Привет, меня зовут Сергей, я занимаюсь автоматизаций тестирования в компании ITFB Group, и хочу поделиться опытом внедрения AI-агентов в наши процессы.

Наверняка всем тестировщикам знакома ситуация, когда остаётся всего пара дней до релиза, а команда тестирования всё ещё работает над задачами по новым фичам и не может приступать к регрессу? Или перед передачей новой версии заказчику тестировщики успевают проверить только smoke-сценарии, засиживаясь допоздна? А до написания чек-листов и тест-кейсов по новым функциям руки дойдут вообще не скоро. У нас тоже такое нет-нет, да и случается.

Самое первое, что приходит в голову после таких авралов – нам нужна автоматизация регресса. Но как в кратчайшие сроки сделать из ручных сценариев автотесты, если никто в команде тестирования не пишет код, и нужно изучать всё с нуля. И это при том, что и так ни на что не хватает времени? На помощь придёт вездесущий AI!

Чтобы избежать повторения описанной выше ситуации, ускорить процесс тестирования, снизить time-to-market, не потерять при этом в качестве, без увеличения издержек, мы разрабатываем своего AI-агента для тестирования на базе нашей платформы Agentum AI. Агент нацелен на максимальную автоматизацию всех рутинных задач команды тестирования: от тестирования исходных требований, составления чек-листов по новому функционалу, до автоматизации end-to-end сценариев.

Самой сложной, в плане реализации с помощью AI-инструментов, задачей является автоматизация пользовательских UI-сценариев. Даже при классическом подходе к написанию автотестов такие сценарии являются самыми трудоёмкими, при этом тесты получаются не такими стабильными как unit или интеграционные. В этой статье мы сконцентрируемся на решении этой нетривиальной задачи.

Чтобы не изобретать свой велосипед, мы провели анализ имеющихся AI-решений в области UI-автотестов, поэкспериментировали с несколькими из них и, взвесив все за и против, выбрали активно развивающееся отечественное решение для автоматизации тестов на естественном языке - BugBuster. Мы интегрировали его с нашей платформой так, чтобы передавать на вход требования из тикетов Jira или страниц Confluence и на выходе получать автотесты в системе BugBuster.

Что умеет наш AI-тестировщик

Наша платформа Agentum AI – это универсальная основа для внедрения инструментов искусственного интеллекта во все процессы компании, начиная от набора новых сотрудников и заканчивая продажей продуктов. Наш департамент один из первых начал прорабатывать возможности AI для автоматизации рутинных задач, которые составляют значительную часть работы тестировщика.

На данный момент наш AI-тестировщик умеет:

  1. Проводить первичный анализ требований на предмет отсутствия противоречий, ясность, полноту, а также пригодность для тестирования.

  2. Составлять чек-листы на основе задач в Jira и документации в Confluence с последующим их импортом в TMS-систему.

  3. Генерировать детализированные тест-кейсы на основе требований из Jira и Confluence и выгружать их в TMS.

  4. Отправлять сгенерированные тест-кейсы на естественном языке на автоматизацию в BugBuster.

Схема работы AI-агента для тестирования
Схема работы AI-агента для тестирования

Как выглядит наш агент на платформе Agentum AI:

Работа с агентом

На данный момент работа с агентом представляет из себя обычный диалог с AI-чатом, но в отличии от обычного чата наш агент умеет получать необходимые ему данные из таких систем как Jira и Confluence, если указать это в запросе, а также выгружать сгенерированные тест-кейсы в нужную нам TMS систему или в BugBuster для дальнейшей автоматизации.

Генерация тест-кейсов на основе требований из Confluence:

Выгрузка сгенерированных результатов в BugBuster:

Контекст внедрения

Внедрение нашего AI-агента мы начали сразу на нескольких проектах компании. На только начинающихся проектах мы используем агент для тестирования требований и создания тестовой документации, а на более зрелых автоматизируем уже имеющиеся ручные сценарии. Важно отметить, что на текущий момент BugBuster поддерживает автоматизацию только веб приложений, но в перспективе планируется добавить поддержку и мобильного тестирования. Сейчас мы используем облачную версию платформы, но существует и on-premise решение, которое можно развернуть на собственной инфраструктуре и не переживать за чувствительные данные, которые не хочется отправлять в облако.

Команда тестирования смогла быстро освоить инструментарий нашего AI-тестировщика и начала его активное использование. Для базового освоения инструмента достаточно было провести для коллег часовой мастер-класс, по итогу которого они смогли сгенерировать свои первые тест-кейсы и даже автоматизировать их выполнение без знания программирования. Это впечатляющий результат, если сравнивать его с временными затратами на освоение языка программирования и его библиотек автоматизации, которое занимает, в лучшем случае, несколько недель или месяцев интенсивного обучения.

Принцип работы

Взаимодействие с агентом происходит в формате чата, в который мы можем передать ссылку или ID задачи или страницы документации, которую надо протестировать или на основе которой мы будем генерировать чек-листы или тест-кейсы. По результатам тестирования документации мы получим список найденных в ней проблем с подробным описанием того, на что нужно обратить внимание. Сгенерированные тест-кейсы и чек-листы будут сначала выведены в чат, после чего можно будет попросить агента дополнить их недостающими проверками, скорректировать или исключить из результатов лишние сценарии. После корректировки получившихся кейсов мы можем попросить агента отправить их в нужную нам TMS-систему или сразу загрузить в BugBuster для того, чтобы превратить их в автотесты.

BugBuster имеет привычный тестировщикам интерфейс TMS-системы с разделением на проекты, тест-сьюты и возможностью создания тестовых прогонов:

Тест-кейсы в системе представляют из себя набор шагов и проверок, описанных на естественном языке. Жёсткого шаблона для описания шагов нет — достаточно, чтобы в шаге были указаны действие и объект. Это позволяет системе понять, какое действие требуется выполнить и над чем именно. Наш AI-тестировщик генерирует кейсы в адаптированном под BugBuster формате, чтобы минимизировать необходимость исправления сценария вручную.

Пример сценария в интерфейсе BugBuster:

После запуска теста открывается страница, отображающая ход выполнения сценария в реальном времени, для каждого выполненного шага приводятся скриншоты страницы интерфейса до и после выполнения действия:

После завершения теста можно посмотреть запись видео его выполнения.

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

По окончании прогона нам доступны детальные результаты, позволяющие просмотреть логи выполнения каждого из тестов:

Помимо этого, доступен trace-лог в реальном времени с шагами, таймингами, скриншотами и debug-данными.

Сравнение с классическим подходом к тестированию

Создание тестовой документации

Несомненно, наш AI-тестировщик является лишь помощником настоящему специалисту и не освобождает от необходимости изучения требований к тестируемому продукту, но проверка корректности этих требований и создание тестовой документации на их основе значительно упрощается и ускоряет все эти процессы. Специалисту, по большей части, требуется только контролировать полученные результаты и корректировать их. Использование нашего агента также решает одну из самых сложных проблем, возникающих на старте любого проекта, оно позволяет без лишних переживаний приступить к работе, ведь начать – всегда самое сложное, а наш AI-тестировщик без лишних раздумий даст вам основу, отталкиваться от которой будет намного легче. Сравним скорость выполнения задач ручного тестировщика с применением AI-агента и без него на основе нашей проектной статистики.

Таблица 1. Сравнение скорости работы с документацией

Задача

Без применения AI-агента

С применением AI-агента

Комментарий

Тестирование требований

1 - 4 часа / требование

0.5 - 2 часа / требование

AI-агент быстро находит формальные противоречия и пропущенные условия. Но человек должен проверить контекст и сформулировать вопросы бизнесу.

Создание чек-листов

1 - 2 часа / требование

20 - 40 минут / требование

ИИ идеален для этой задачи. Он мгновенно генерирует около 80% проверок. Роль человека - удалить лишнее, добавить специфичные для проекта пункты и отредактировать формулировки.

Создание тест-кейсов

3 - 6 часов / требование

1 – 2 часа / требование

AI-агент генерирует большой объем кейсов за секунды. Однако человек должен проверить корректность шагов и данных, объединить повторяющиеся кейсы и добавить сложные негативные сценарии, если агент их упустил.

 

Таким образом внедрение AI-агента в решение рассмотренных задач команды тестирования в среднем ускоряет работу специалиста в 3 раза. При этом нужно учитывать, что при использовании агента качество результата по-прежнему будет зависеть от многих факторов, таких как качество исходных данных, сложность логики продукта и опыт специалиста по тестированию. В качестве дополнительных преимуществ применения AI-тестировщика можно выделить повышение полноты покрытия (ИИ реже забывает очевидные варианты проверок, которые человек может упустить), снижение когнитивной нагрузки (AI экономит силы специалиста в рутинных задачах, что позволяет сконцентрироваться на сложных сценариях), унификация формата (ИИ генерирует тестовую документацию в едином стиле и упрощает их использование и поддержку другими членами команды).

Разработка автотестов

На наших проектах мы провели ряд экспериментов, которые позволили сравнить скорость разработки автотестов с использованием традиционных технологий автоматизации (Python + Selenium) и нашего AI-агента в связке с BugBuster. В процессе мы по заранее описанному ручному тест-кейсу реализовывали один и тот же сценарий на языке Python и в системе BugBuster, засекая время, необходимое для создания работоспособного автотеста. Тест на Python мы писали с использованием уже подготовленного фреймворка, но все шаги сценария реализовывались «с нуля». В эксперименте принимали участие несколько сотрудников с разным опытом, чтобы можно было сравнить эффект от внедрения BugBuster у начинающих специалистов и специалистов с опытом.

Наш эксперимент показал значительное увеличение скорости создания тестов при переходе от написания их на Python к использованию BugBuster. Опытный специалист по автоматизации в среднем тратит в 4,5 раз меньше времени на создание сценария в BugBuster по сравнению с традиционным подходом (Python + Selenium), а работа начинающего специалиста ускорилась в среднем в целых 10 раз. Дополнительным преимуществом является почти полное отсутствие какого-либо порога для входа в автоматизацию для ручных тестировщиков. Стоит отметить, что скорость разработки автотестов на Python и в BugBuster при использовании уже реализованных тестовых шагов сопоставима, особенно если в автотестах используется BDD фреймворк.

Давайте рассмотрим преимущества и недостатки использования AI-агента по сравнению с классическим подходим к разработке автотестов.

К преимуществам можно отнести:

  • Быстрый старт автоматизации

  • Минимальный порог входа для специалистов

  • Возможность превращения уже готовых ручных сценариев в автотесты

  • Высокая стабильность автотестов

К недостаткам можно отнести:

  • Подходит не для всех сценариев

  • Долгое время выполнения автотестов

  • Сценарии необходимо адаптировать

  • On-premise решение требует наличия GPU-ресурсов (например, видеокарт уровня RTX 5090 или 2×4090)

  • Сложность встраивания в имеющийся CI/CD процесс

Проведение регрессионного тестирования

Если сравнивать скорость выполнения готовых тестов между ручным вариантом, классическими автотестами и AI-агентом, то выполнение тестов на ИИ-платформе будет уступать классическим автотестам, но всё равно будет быстрее ручной проверки, ведь AI-тестировщика ничего не отвлекает, он может выполнять параллельно сразу несколько сценариев и делать это без перерывов, обеда и сна. В сравнении с классическим автотестом AI-агент каждый раз заново проводит анализ каждого шага сценария, распознаёт снимок интерфейса и ищет координаты элементов, а классический автотест просто выполняет действия с заданными в виде локаторов элементам, что позволяет ему работать быстрее.

Таблица 2. Сравнение скорости выполнения тестов

Сценарий

Ручное выполнение

Python + Selenium

BugBuster

15 шагов

600 сек

25 сек

150 сек

Стабильность автотестов

Если сравнивать стабильность работы классических автотестов и тестов, созданных с помощью AI-агента, то второй подход избавляет нас от основной боли автоматизаторов тестирования, связанной с изменениями локаторов веб-элементов. BugBuster даже не заметит, если у элемента изменится тип в DOM-дереве или если он переместится на другой конец интерфейса, AI найдет новые координаты элемента за то же время, что и до этих изменений, в то время как классический автотест упадёт, а специалисту придется искать причину падения, подбирать новый локатор, исправлять автотест, отлаживать его, проходить через процедуру код-ревью, и только после этого мы получим работающий тест в регрессионном наборе.

Подводные камни

По результатам наших экспериментов с BugBuster мы выявили, что он подходит не для всех тестовых сценариев, что ограничивает его применение. Например, платформа пока не умеет генерировать тестовые данные и загружать файлы, а выполнение произвольного JavaScript-кода в шагах недоступно. При этом в новой версии уже добавлены API-запросы (с переменными и валидациями) и шаги с запросами к базе данных, что закрывает часть интеграционных сценариев. Из-за отсутствия возможности генерации уникальных тестовых данных не все тесты можно запускать многократно, без дополнительной очистки данных на тестовом стенде.

С ограничением по возможности генерации уникальных тестовых данных мы столкнулись при создании автотестов на регистрацию новых пользователей и добавление уникальных записей в справочники. Ранее такие тесты мы могли запускать только один раз, ведь логин пользователя и уникальное имя объекта справочника приходилось «захардкодить», а при повторном запуске сценарий падал. Это ограничение нам удалось обойти через дополнительные шаги обращения к сторонним сервисам генерации данных, откуда мы копировали уникальные значения и вставляли в нужные нам поля. Теперь в BugBuster появились возможность отправлять API-запросы и сохранять полученные значения из ответа в динамические переменные, поэтому мы планируем переработать имеющиеся сценарии, требующие уникальных данных, и получать уникальные значения от внешних сервисов генерации данных через API.

Сложности так же может вызвать описание элементов интерфейса для использования в шаге, если на той же странице есть похожий на него элемент, содержащий тот-же текст. У нас, например, раздел меню «Документы» содержит в себе пункт «Документы», и потребовалось поломать голову над тем, как объяснить LLM модели, что сначала нам нужно открыть меню «Документы», а потом выбрать пункт «Документы» из этого меню.

Некоторые неудобства также вызывает невозможность создания общих предусловий для блока тестов, из-за чего приходится по несколько раз дублировать повторяющиеся наборы шагов в нескольких сценариях.

Так же мы столкнулись с нестабильностью некоторых формулировок шагов, которые то срабатывают отлично, то перестают отрабатывать без каких-либо изменений как в сценарии, так и в самом интерфейсе приложения, это связано с тем, что модель каждый раз заново анализирует текущее состояние интерфейса и может по-разному воспринимать неоднозначные формулировки шагов.

Разработчики BugBuster активно дорабатывают свой продукт и быстро реагируют на выявляемые пользователями проблемы, поэтому исправление всех описанных выше моментов уже запланировано. Для описания элементов планируется добавить возможность выделять область интерфейса с автогенерацией корректного описания, для снижения дублирования шагов — внедрение Shared Steps, а для повышения стабильности выполнения шагов — обновлённые механизмы интерпретации формулировок.

Адаптация ручных сценариев

Если просто импортировать имеющиеся ручные сценарии в BugBuster, то получившиеся шаги автотеста могут отличаться от необходимого формата, а также автотесты могут получиться нестабильными из-за непредсказуемого времени загрузки некоторых страниц и элементов интерфейса. Чтобы адаптировать ручной сценарий вам потребуется потратить дополнительные ресурсы на изменение его формата, разделить шаги на действия и проверки и конкретизировать описание элементов интерфейса, чтобы AI-агент мог их идентифицировать. Адаптация сценария опытным пользователем платформы, хорошо разбирающимся в тестируемом продукте, занимает около двух минут на один исходный шаг тест-кейса, для специалиста, только начинающего использовать платформу, стоит закладывать около 4 минут на исходный шаг при работе над несколькими первыми автотестами. Приведем часть полученной нами статистики по адаптации готовых ручных сценариев под формат платформы.

Таблица 3. Адаптация ручных сценариев к формату BugBuster

Исполнитель

Количество шагов исходного сценария

Время на адаптацию сценария для BugBuster

Опытный пользователь BugBuster

9 шагов

25 мин

Опытный пользователь BugBuster

20 шагов

45 мин

Опытный пользователь BugBuster

7 шагов

40 мин

Опытный пользователь BugBuster

28 шагов

58 мин

Опытный пользователь BugBuster

38 шагов

35 мин

Опытный пользователь BugBuster

Среднее значение: 2 мин / шаг

Начинающий пользователь BugBuster

21 шаг

120 мин

Начинающий пользователь BugBuster

20 шагов

30 мин

Начинающий пользователь BugBuster

9 шагов

80 мин

Начинающий пользователь BugBuster

21 шаг

62 мин

Начинающий пользователь BugBuster

Среднее значение: 4 мин / шаг

Заключение

Внедрение AI-агента в процессы тестирования позволило нашей команде значительно повысить эффективность своей работы, минимизировать рутину и убрать порог входа специалистов при создании автотестов. Качество продуктов при этом не только не страдает, но и повышается, а специалисты по тестированию по максимуму освободились от рутины, что позволило им выделить больше времени на решение сложных, творческих задач и поиск неочевидных проблем.

Таблица 4. Ускорение от внедрения AI-агента

Задача

Классический подход

С применением AI-агента

Ускорение

Тестирование требований

60 мин

30 мин

В 2 раза

Создание чек-листов

60 мин

20 мин

В 3 раза

Создание тест-кейсов

120 мин

60 мин

В 3 раза

Автоматизация тестов

90 мин

20 мин

В 4,5 раза

 Вам стоит задуматься о внедрении AI-инструментов в процессы тестирования если:

  • Команда QA перегружена рутинной работой в виде написания тест-кейсов и их ручных прогонов

  • У вас в команде нет выделенных специалистов по автоматизации тестирования

  • Вы хотите сократить время на проведение регресса и выпускать релизы чаще

  • Вы хотите снизить влияние человеческого фактора на процесс тестирования

  • Вы хотите в целом повысить качество своего продукта без расширения команды и увеличения издержек

Мы не утверждаем, что наш подход — это серебряная пуля для всех проектов. У каждого своя специфика. Но наш опыт доказывает: AI уже сегодня может кардинально изменить процесс тестирования, уменьшить рутину и повысить качество.

А что думаете вы? Готовы ли доверить ИИ создание тест-кейсов?

Если ваши боли совпадают с теми, что мы описали выше, давайте обсудим, как Agentum AI может помочь именно вашей команде. Напишите нам mail@itfbgroup.ru мы подберем удобное время и покажем, как интегрировать AI-тестировщика в ваши процессы.

Комментарии (3)


  1. RodionGork
    29.09.2025 15:57

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

    так изучите :)

    ну вот правда, чем тратить время на написание статей "как мы в очередной раз выкрутились лишь бы не делать правильно" - можно было заняться прокачиванием в программизьме

    сами же потом нахлебаетесь от своих ИИ-нагенеренных тестов, это шляпа уже известная

    главное - писать о том что у вас тестировщики не умеют писать автотесты и вы делегируете это стороннему ИИ - это же антиреклама конторы :) не думаю что все заказчики восхитятся


  1. Vitrion
    29.09.2025 15:57

    ИИ развивается такими темпами, что его внедрять просто необходимо. В какой-то момент произойдёт качественный сдвиг и все, кто не применял останутся на таких задворках, что в аврале кинутся внедрять. Пусть ИИ не может писать полный код целиком без ошибок, это лишь проблема сохранения контекста. А вот поиск и редактирование умеет хорошо. Программист всегда проиграет Программисту+ИИ.


  1. Paczuk
    29.09.2025 15:57

    Хотел почитать про внедрение ИИ, а почитал обычную, ничем не прекрытую рекламу какого-то инструмента BugBuster