Искусственный интеллект медленно формировался с 1960-х годов, проникая во многие области, такие как розничная торговля, медицина, банковское дело, социальные сети и многие другие, сегодня, когда мы говорим.

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

  • Недетерминированные правила - например, фильтр спама. Представьте, что вам нужно добавить список правил для создания спам-фильтра. Как только вы придумали набор слов, которые нужно отметить как спам, появятся еще несколько слов. ИИ помогает в обучении и предлагает решения для этого недетерминизма.
  • Развитие взаимодействий, например чтение из рукописного файла (чек-ридер), прослушивание голоса (голосовые помощники), классификация изображений (распознавание лиц) и многое другое.
  • Получение информации из огромного набора данных для прогнозирования следующего набора действий как «информированный» бизнес. Если бы не ИИ, решения будут приниматься на основе человеческого понимания ограниченных данных, которые могут быть искажены.
  • Автоматизация повторяющихся предсказуемых задач, таких как эластичная инфраструктура.

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

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

Если вы все настроены, то давайте начнем с знакомства с днем ​​нашего ведущего QA, Памелы! Она работает в группе гибкой разработки программного обеспечения и отвечает за тестирование приложения, которое состоит из веб-интерфейса и мобильного интерфейса с серверными службами. Похоже на типичную работу QA?

Доброе утро, Памела!

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

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

Если ИИ сможет помочь Памеле здесь-

  1. Может ли в инструментах автоматизации тестирования быть интеллект, чтобы понять, что сбой теста на самом деле является проблемой в тесте, и предложить Памелу с автокоррекцией?
  2. Может ли ИИ выявить системные проблемы во время тестового запуска и остановить дальнейшее выполнение тестов? Может ли команда разработчиков быть предупреждена о проблеме с системой во время ее сбоя? Тем более, что он может попытаться исправить общие системные сбои, попытавшись перезагрузить службу и т. Д.?
  3. Может ли ИИ помочь выявлять дефекты приложений и регистрировать их при утверждении, учитывая, что уже есть механизмы для съемки видео, снимков экрана и слоя BDD?
  4. Может ли быть помощь в извлечении информации из сбоев набора тестов, таких как функции с частыми сбоями в последнее время, связанные проблемы в пути пользователя, процентное соотношение различных функций за выбранный период? Это поможет в анализе первопричин и даст команде разработчиков возможность использовать правильные методы.

ReportPortal.io помогает решить вышеуказанные вопросы, но не все. Инструмент помогает пометить результаты тестирования по категориям дефектов, сбоев тестирования и системных проблем из журналов. Такие инструменты, как Test.ai, Functionize и т. Д., Также помогают в обслуживании тестов, когда есть изменения на уровне пользовательского интерфейса, как в пункте 1.

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

Одно из таких выступлений превратилось в Вуаля-ланч!

Памела пообедала со своей коллегой Джиной, другим QA, рассказав обо всех утренних событиях и о том, как она чувствовала, что у нее не хватает возможностей и нет решений для улучшения ситуации до тех пор, пока не будет нанят новый QA. Джина вспомнила об увлекательных инструментах создания тестов с помощью ИИ, о которых она услышала на недавней конференции - Test.ai, Functionize, Appvance, Testim, TestCraft и т. Д. (Некоторые из них находятся на стадии бета-тестирования и платные инструменты) и подробно рассказала Памеле о том же. Памела не могла сдержать своего любопытства и решила поднять карточку тестирования, чтобы изучить эти инструменты в следующей итерации!

Памела увлечена искусственным интеллектом в автоматизации тестирования!

Поскольку проблема способности увеличить охват тестированием была решена до определенной степени, Памела задалась вопросом, сможет ли она найти решения других проблем в ретроспективе. После обеда она отправилась на поиски инструментов искусственного интеллекта, которые помогут лучше «понять» области покрытия тестами, особенно те области, которые не имеют достаточного покрытия. Плюс инструменты, позволяющие получить представление о покрытии на разных уровнях. Инструмент под названием Sealights пытался решить то же самое с ИИ (снова платный инструмент), и она добавила это тоже в список всплесков.

Интересно, появятся ли инструменты в будущем?

  • Чтобы найти повторяющиеся тестовые примеры и сделать набор более четким.
  • Чтобы автоматически предлагать минимальный набор тестов для запуска при каждом изменении фиксации.
  • Чтобы автоматизировать API с помощью значимых тестовых данных в домене

Памела хочет больше ИИ в ручном тестировании!

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

  • Может ли ИИ помочь в создании значимых тестовых данных с учетом предметной модели БД?
  • Может ли ИИ помочь в исследовательском тестировании крайних случаев с использованием таких методологий, как тестирование граничных значений, тестирование всех пар формы или API?
  • Может ли ИИ помочь в тестировании интернационализации текста через Интернет и мобильный интерфейс?
  • Может ли ИИ помочь в визуальном тестировании внешнего вида и отзывчивости пользовательского интерфейса в браузерах?
  • Есть ли помощь в проведении базовых проверок безопасности на веб-сайте?
  • Можно ли автоматически преобразовать ее исследовательское тестирование в тестовые примеры и помочь в их документировании?

По мере того, как день подходил к концу, она исследовала вышеупомянутые вопросы. Она узнала, что визуальное тестирование становится все более распространенным с технологией Applitools Eyes AI, и добавила ее в свой список пиков. Она также узнала, что инструменты Zap Spidering помогают ей с проверками безопасности. Так что есть некоторое облегчение и с аспектом ручного тестирования.

«Что за день!» - радостно воскликнула она, выключая ноутбук!

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

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