- Выгодно для компании
- Препятствие — мультиплатформенность
- ИИ облегчает автоматизацию
- Как реализовать потенциал ИИ
Искусственный интеллект (AI, далее ИИ) и машинное обучение (ML) помогают там, где не справляются люди, и чаще всего применяются, в настоящее время, в обработке данных в реальном времени.
В ходе цифровой трансформации ИИ-инструменты помогают тестировщикам находить баги, которые трудно обнаружить в ходе ручного или автоматизированного тестирования. По крайней мере так утверждается в отчете «Преимущества автоматизации и искусственного интеллекта в функциональном тестировании», составленном президентом и владельцем компании StarCIO Исааком Саколиком. Они опросили 200 CIO (директоров по информационным технологиям), CISO (директоров по ИТ-безопасности), видных разработчиков, гуру тестирования, а также операционных директоров крупных компаний, чтобы те описали свои стратегии и практики тестирования.
«Удивило, сколько людей в индустрии активно применяют ИИ и знают его преимущества в тестировании. Намного больше, чем я думал» — И.Саколик
Итак, рассмотрим выгоды от ИИ в тестировании.
1. Выгодно для компании
Почти все 200 опрошенных заявили, что экспериментируют с ИИ в тестировании (лишь 1%, то есть двое человек заявили обратное), и почти половина (49%) из них уже видит явные преимущества для своей компании.
Сферы, где машинное обучение (ML), как считает большинство, имеет наибольший потенциал: “определение аномалий; компьютерное зрение, определяющее изменения в пользовательском интерфейсе; а также обработка речи”, говорится в отчете.
Составитель отчета утверждает, что применение ИИ уже достаточно широко в любом ИТ-бизнесе вообще. «Если вы спросите, сколько таких компаний, я скажу: их 15-20%. Это принимая во внимание, что тестирование с применением ИИ все еще недооцененная и “недоинвестированная” сфера, особенно что касается применения ИИ в жизненном цикле разработки.»
Главная причина, по которой организации применяют ИИ в тестировании — руководство видит, что у разработчиков не хватает времени на тестирование (а иногда не хватает и навыков ручного тестирования). Поэтому они ищут ИИ-инструменты. И этих инструментов уже вполне достаточно, по крайней мере в последние пять лет.
«В приложение, то есть в его код, вносятся изменения. Как быстро обновить тесты? Здесь поможет ИИ»
Применение ИИ значительно уменьшает время на обслуживание скриптов и приложений, говорит Крис Тримпер, архитектор автоматизации тестов в Independent Health. «Когда QA-команда переходит на новую парадигму разработки, это всегда влияет на тестирование, а именно на поддержку кода», говорит Тримпер.
Обладая возможностями ИИ, тестировщики уже могут написать всего один набор мультиплатформенных скриптов для iOS и Android, уменьшив свои рутинные операции на 45%.
2. Препятствие для автоматизации — мультиплатформенность
Опрошенные также утверждают (и мы разумеется соглашаемся), что тестирование для многих браузеров, девайсов и операционных систем это всегда проблема. Недостаточное покрытие тестами целевой платформы — большое препятствие для автоматизации тестов.
23% опрошенных сказали, что обычно используют одни и те же тест-кейсы для всех платформ. 77% говорят, что пишут отдельные тесты для каждой платформы (вариант: модифицируют тесты под каждую платформу).
Дональд Джексон, директор по технологиям в Micro Focus, утверждает, что удивился, видя как много клиентов сейчас могут себе позволить написать один тест для всех платформ, без какой-либо модификации.
«Думаю, некоторые опрошенные возможно не поняли, что мы имели в виду под отдельными тест-кейсами»
Дональд Джексон
Что касается взаимодействия между высшим руководством и тестировщиками, существует некоторое непонимание между руководством и QA-командами, которые как раз понимают эти нюансы, возможно потому что высшее руководство не особенно вникает в детали, чем занимаются QA-команды, полагает Джексон.
«Забавно, когда мы говорим о «едином кейсе на все платформы» в данном опросе, имеем в виду возможность запускать один и тот же тестовый скрипт на Мас, MacOS, iOS, Android и Windows», говорит Джексон. «Когда спрашиваем руководство компаний, 38% отвечают, что у них в компании пишут (или способны писать) один ИИ-тест, запускаемый на любой платформе без какой-либо модификации. А когда спрашиваем о том же разработчиков и тестировщиков, то лишь 19% так отвечают.»
3. ИИ облегчает автоматизацию
Явная выгода, которую дает искусственный интеллект, это понижение “барьера” для автоматизации, говорит Тримпер, и видит две причины. Первая это то, что автоматизация идет проще, и для нее не нужны какая-то особенные навыки, как в «традиционной» автоматизации. Так что можно привлечь больше тестировщиков.
Кроме того, могут привлекаться к автоматизации и разработчики. Они лучше всех знают продукт, потому что писали его, и им не обязательно быть специалистами в автоматизации, поскольку “барьер для входа в автоматизацию” очень низкий.
«ИИ позволяет, по идее, начать автоматизацию с первого же дня, люди не проходят длительное обучение, и не обязательно быть гуру в двух довольно отдаленных ролях: разработчика и автоматизированного тестировщика. Здесь нужны только разработчики, и они могут сами все автоматизировать.»
Крис Тримпер
Масштабная автоматизация в процессе разработки, и расширение охвата тестированием, включая производительность, безопасность, функции и интерфейс — является подвидом стратегии «сдвига влево» в таймлайне, по мнению участников опроса:
«Такая инвестиция позволяет удовлетворить клиента, снизить количество дефектов в продакшене, и быстро откорректировать приложение, ничего не нарушая в нем. Машинное обучение и искусственный интеллект в тестировании позволяют найти самые запутанные баги.»
Как реализовать потенциал ИИ
Команды, применяющие ИИ лишь для коррекции имеющихся автоматизированных тестов, не всегда раскрывают потенциал ИИ, считает Тэд Паркер, СЕО и основатель Proof’d, автоматизированной тестовой платформы для облачных и веб-приложений.
«Опора на ИИ нужна как QA-команде, так и руководству — ИИ сильно уменьшает время и затраты на покрытие. Инструменты, полностью ориентированные на ИИ, устраняют запрос на создание тестов для всех браузеров и операционных систем. Тестировщики сосредотачиваются на качестве, а не на механической работе с тестами».