Найти в Дзене
deventica.io

Искусственный интеллект (AI) в тестировании - ценный инструмент или просто интересный эксперимент?

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

На данный момент систем ИИ, которые могут использоваться в тестировании, становится все больше. Например, Test.AI или TensorFlow. Однако мы рассмотрим пример генератора ботов для тестирования сайтов "AI Generation and Exploration in Test" или просто AGENT. Этот инструмент использует методы машинного обучения и алгоритмы генетического программирования для создания тестовых данных, которые могут помочь выявить ошибки в продукте. Попробуем разобраться, имеют ли место в арсенале QA подобные инструменты.

Давайте разберемся и попробуем на практике, что же скрывается за названием "AI Generation and Exploration in Test". AGENT - это инструмент, который позволяет создавать ботов с функцией искусственного интеллекта. Эти боты могут быть запущены на определенном сайте, где они будут исследовать его по своим собственным алгоритмам. Более того, они могут автономно обучаться, изучая действия на сайте, его поля и формы.

Чтобы запустить AGENT, нужно выполнить несколько шагов:

1. Скачать IntelliJ IDEA или любую другую IDE, которая вам нравится.

2. Клонировать репозиторий AGENT (https://github.com/tariqking/AGENT).

2. Запустить локальную Docker Machine. Для этого следует скачать и установить Docker с официального сайта.

3. Запустить Docker-контейнеры AGENT и терминал для просмотра журналов.

-2

Также это можно сделать из проекта или из командной строки посредством команд:

docker-compose up -d
docker-compose logs -f

4. Открыть окно просмотра работы ботов и мониторинга с помощью index.html

-3

5. Скачать Postman.

6. В Postman создать POST-запрос и отправить следующую команду в очередь для запуска AGENT на сервисе Gateway (порт 9002).

-4

После запуска AGENT можно наблюдать за тем, как боты сами тестируют нужный нам сайт. В окне браузера, открытом на шаге 4, можно увидеть, как AGENT взаимодействует с клиентом AUT Chrome. Рамка Flower может быть использована для наблюдения за трафиком сообщений Celery. В терминале журнала, открытом на шаге 3, можно наблюдать как трудятся боты, создаваемые AGENT.

Для остановки AGENT следует отправить тот же POST-запрос, но заменив start на stop.

-5

После установки всего необходимого при первом запуске работа инструмента выглядит следующим образом:

  1. Отправляем Post запрос с данными сайта который мы хотим проверить. Для примера будем запускать на google.com.
-6

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

Открытие страницы ботом и запись данного действия.
Открытие страницы ботом и запись данного действия.
Работа бота по открытию страницы, последующему действию на основе предыдущего опыта и закрытию страницы с записью нового опыта.
Работа бота по открытию страницы, последующему действию на основе предыдущего опыта и закрытию страницы с записью нового опыта.

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

Боты за работой.
Боты за работой.

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

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

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

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

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

Дзутцев Руслан Sr. QA-Engineer

____________________________________________________________________________________

Подпишитесь чтобы не пропустить новые статьи, впереди много интересного!

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