Искусственный интеллект

Тестирование программного обеспечения с помощью искусственного интеллекта завоевывает все больше сторонников, но опасения сохраняются

Тестирование программного обеспечения с помощью искусственного интеллекта завоевывает все больше сторонников, но опасения сохраняются

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

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

Однако для достижения долгосрочного успеха в автоматизации тестирования программного обеспечения необходимо сформировать необходимую организационную волю и ресурсы. Короче говоря, перефразируя часто цитируемую фразу гуру менеджмента Питера Друкера: Культура съедает стратегии качества программного обеспечения на завтрак.

«Спор о том, какие виды деятельности по обеспечению качества и тестированию получат наибольшую выгоду от Gen AI, остается нерешенным», - говорят соавторы исследования OpenText, в котором приняли участие 1 755 руководителей технологических компаний штата. Исследование, проведенное компаниями Capgemini и Sogeti (входит в группу Capgemini), указывает на растущее внимание к использованию Gen AI «для создания тестовых отчетов и данных, а не для создания тестовых примеров».

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

Опрос подтвердил, что примерно семь из десяти организаций (68 %) используют Gen AI для помощи в работе над качеством программного обеспечения. По крайней мере 29 % организаций полностью интегрировали Gen AI в свои процессы автоматизации тестирования, а 42 % изучают его потенциал.

Исследование также показало, что в этой новой области автоматизации тестирования преобладают «облачные нативные технологии и роботизированная автоматизация процессов, в которой значительную роль играют Gen AI и предиктивный AI».

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

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

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

«Что касается технологий, то благодаря внедрению новых, более совершенных средств автоматизации тестирования средний уровень автоматизации тестирования достиг 44 %. Однако самой преобразующей тенденцией этого года является быстрое внедрение ИИ, особенно Gen AI, который окажет огромное влияние».

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

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

Отношение к ИИ значительно изменилось за последние 12 месяцев: «Большое количество организаций сейчас переходит от экспериментов к реальному внедрению ИИ для поддержки деятельности по обеспечению качества. Мы искренне верим, что увидим дальнейший прогресс в этой области».

Однако использование ИИ в качестве инструмента обеспечения качества программного обеспечения сопряжено с определенными трудностями. По меньшей мере 61 % респондентов опроса заявили, что опасаются утечки данных, связанной с использованием решений на основе генеративного ИИ. Отсутствие комплексных стратегий автоматизации тестирования и зависимость от унаследованных систем были названы 57 % и 64 % респондентов соответственно в качестве ключевых препятствий для развития усилий по автоматизации.

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

«Это говорит о растущем признании необходимости в инженерах по качеству, которые могут работать независимо от Agile-команд, но при этом вносить свой вклад в достижение общих целей в области качества. Более того, ожидается, что число самостоятельных инженеров по качеству увеличится с 27 до 38 %».

По мнению авторов исследования, увеличение числа высококачественных инженеров может также отражать тенденцию к повышению квалификации Agile-команд для решения задач качества и тестирования программного обеспечения: «Фокус на перекрестном обучении, направленный на более тесное взаимодействие инженеров по качеству с Agile-командами, похоже, принес свои плоды. Результаты опроса этого года показывают, что организации добились значительного прогресса в повышении квалификации своих команд - только 16 % респондентов теперь рассматривают отсутствие навыков как основное узкое место, что значительно лучше, чем 37 % в прошлом году».

Однако, несмотря на этот прогресс, большинство руководителей технологических компаний считают, что недостаточно внимания уделяется качественному проектированию. Более половины (56 %) заявили, что проблема заключается в том, что «инженерное обеспечение качества не рассматривается как стратегическая деятельность в нашей организации». Аналогичная доля респондентов согласилась с тем, что «процесс инженерии качества недостаточно автоматизирован» и что «инженерам по качеству не хватает навыков для поддержки Agile-проектов».

Развитие генеративного и предиктивного ИИ может предложить экономически эффективный и рациональный подход к согласованию усилий по качеству и тестированию с общей разработкой и внедрением программного обеспечения. Среди рекомендаций, предложенных командой OpenText/Sogeti для продвижения вперед в области автоматизации и ИИ в работе над качеством программного обеспечения, были следующие:

  • Взгляните на ситуацию в масштабах всего предприятия: Четко определите «цели и желаемые результаты автоматизации инженерии качества и предварительно выберите области, в которых следует применить, увеличить или усилить автоматизацию тестирования».
  • Начните сейчас и продолжайте экспериментировать: «Если вы еще не изучаете или активно не используете решения Gen AI, очень важно начать прямо сейчас, чтобы оставаться конкурентоспособными. Не спешите выбирать какую-то одну платформу или вариант использования. Вместо этого поэкспериментируйте с несколькими подходами, чтобы выявить те, которые обеспечивают наиболее значительные преимущества».
  • Используйте весь спектр возможностей Gen AI: «Gen AI выходит далеко за рамки генерации автоматизированных тестовых сценариев и помогает реализовать самоадаптивные системы автоматизации тестирования».
  • Увязывайте ключевые показатели эффективности бизнеса: «Определите и используйте ключевые показатели эффективности бизнеса, на которые влияет автоматизация инженерного обеспечения качества, с четкой ориентацией на бизнес-результаты, такие как повышение удовлетворенности клиентов, снижение стоимости бизнес-операций и другие, имеющие значение для бизнеса».
  • Рационализируйте инструменты автоматизации инженерного обеспечения качества: «Убедитесь в том, что ваши средства автоматизации инженерного обеспечения качества оптимизированы и способны интегрироваться с новыми технологиями, такими как Gen AI, для поддержания совместимости и готовности к будущему».
  • Повышение квалификации и расширение ролей инженеров по качеству: «Включайте больше инженеров по качеству и разработке программного обеспечения полного стека в процесс тестирования, чтобы усилить возможности вашей команды».
  • Улучшать, а не заменять: «Поймите, что ИИ поколения не заменит ваших инженеров по качеству, но значительно повысит их производительность. Однако эти улучшения не будут немедленными; дайте достаточно времени, чтобы преимущества стали очевидными».

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

Главным выводом из исследования является то, что инженерия качества программного обеспечения быстро развивается: «Когда-то она определялась как тестирование написанного человеком программного обеспечения, теперь же она эволюционировала в сторону кода, генерируемого искусственным интеллектом».

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

Читайте также