РОЛЬ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В АВТОМАТИЗАЦИИ ПРОЦЕССА ТЕСТИРОВАНИЯ И ПОВЫШЕНИЯ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - Студенческий научный форум

XVII Международная студенческая научная конференция Студенческий научный форум - 2025

РОЛЬ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В АВТОМАТИЗАЦИИ ПРОЦЕССА ТЕСТИРОВАНИЯ И ПОВЫШЕНИЯ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Паниченко А.А. 1, Трусов Е.А. 2
1Мелитопольский государственный университет
2Мелитопольский государственный университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

Материал и методы исследования

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

Для анализа были выбраны наиболее популярные и широко используемые инструменты автоматизированного тестирования с применением ИИ, такие как Selenium, Test.ai, Applitools и AI-powered тестовые платформы, например, Mabl.

Датасеты: В исследовании использовались открытые репозитории с тестовыми сценариями и отчетами о дефектах программного обеспечения.

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

Методы исследования

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

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

Экспериментальный подход: Проведены тестирования программных продуктов с использованием ИИ-ориентированных инструментов и сравнение полученных результатов с тестированием вручную.

Оценка точности и производительности: Анализировалась точность предсказаний дефектов и уровень покрытия кода тестами при применении различных инструментов.

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

Результаты исследования и их обсуждение

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

Рисунок 1— Основные направления использования ИИ

ИИ включает несколько ключевых направлений [1]:

  1. Машинное обучение (ML): Позволяет системам обучаться на данных без явного программирования.

  2. Глубокое обучение (DL): Подраздел ML, использующий нейронные сети для решения сложных задач.

  3. Обработка естественного языка (NLP): Фокусируется на взаимодействии компьютеров с человеческим языком.

  4. Компьютерное зрение: Позволяет ИИ интерпретировать и анализировать визуальную информацию из мира.

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

Использование искусственного интеллекта для автоматической генерации тестов предоставляет множество преимуществ, существенно улучшая процесс тестирования программного обеспечения [2].

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

Во-вторых, ИИ может обеспечить более высокое покрытие тестами, чем ручное тестирование. Алгоритмы ИИ способны анализировать большие объемы данных и выявлять скрытые зависимости и возможные сценарии использования. Это позволяет выявить больше дефектов на ранних стадиях разработки и улучшить качество конечного продукта. Например, многофункциональные базы знаний, описанные в статье «Machine Learning Research», демонстрируют, как ИИ может поддерживать различные экспертные задачи, включая генерацию тестов (табл.1) [4].

Таблица 1 — Ключевые различия между традиционным тестированием и подходами на основе ИИ

Аспект

Традиционное тестирование

Тестирование с использованием искусственного интеллекта

Создание тестового случая

Написано вручную на основе предопределенных скриптов и пользовательских сценариев

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

Адаптивность

Ограниченная адаптируемость к изменениям кода; требует ручного обновления тестовых скриптов

Динамически адаптируется к изменениям в приложении, сокращая необходимость ручного вмешательства.

Скорость выполнения теста

Медленнее из-за ручного выполнения и вмешательства

Быстрее, поскольку ИИ может проводить тесты одновременно и автономно

Обнаружение ошибок

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

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

Утилизация ресурсов

Высокая степень человеческого участия, особенно в разработке и выполнении тестовых случаев

Оптимизирует распределение ресурсов за счет автоматизации задач и позволяет тестировщикам сосредоточиться на стратегических областях.

Регрессионное тестирование

Ручная проверка приложения после каждого обновления

Автоматически повторно запускает тесты для проверки функциональности системы при каждом новом обновлении или итерации.

Подводя итог, можно сказать, что ИИ для тестирования ПО выводит традиционное тестирование на новый уровень, повышая производительность, предоставляя более интеллектуальные идеи и повышая эффективность [5].

Рассмотрим следующие определения алгоритмов для понимания глубокого обучения в сравнении с машинным обучением и искусственным интеллектом.

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

Машинное обучение — это подмножество искусственного интеллекта, при котором используются методы (например, глубокое обучение), позволяющие компьютерам использовать опыт для совершенствования в решении задач. Процесс обучения основан на следующих действиях [3].

В следующей таблице приведено более подробное сравнение этих двух методов [6].

Таблица 2 — Сравнение методов обучения ИИ

Аспект

Все машинное обучение

Только глубокое обучение

Количество точек данных

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

Необходимо использовать большие объемы обучающих данных для создания прогнозов.

Зависимость от оборудования

Может работать на маломощных компьютерах. Не требуются крупные вычислительные мощности.

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

Процесс конструирования признаков

Требует точного определения признаков и их создания пользователями.

Распознает признаки высокого уровня на основе данных и самостоятельно создает новые признаки.

Подход к обучению

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

Задача решается методом сквозного анализа.

Время выполнения

Обучение занимает сравнительно мало времени — от нескольких секунд до нескольких часов.

Как правило, процесс обучения занимает много времени, поскольку алгоритм глубокого обучения включает много уровней.

Выходные данные

Выходными данными обычно является числовое значение, например оценка или классификация.

Выходные данные могут иметь несколько форматов, например текст, оценка или звук.

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

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

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

Список литературы

  1. Bukreiev D. Neuro-network technologies as a mean for creating individualization conditions for students learning //SHS Web of Conferences. – EDP Sciences, 2020. – Т. 75. – С. 04013.

  2. Букреев Д. А., Сердюк И. Н. Метод использования нейронной сети для прогнозирования эффективности работы студентов //Информационные технологии в освещении и науке: сб. науч. раб. – 2019. – №. 11. – С. 61-64.

  3. Осадчий В. В., Круглик В. С., Букреев Д. А. Разработка программного обеспечения для прогнозирования поступления абитуриентов в заведения высшего образования // Украинский журнал образования и информационных технологий. – 2018. – Т. 6. – №. 3. – С. 55-69.

  4. ИИ в тестировании программного обеспечения: повышение эффективности и точности [Электронный ресурс]. URL: https://na-journal.ru/8-2024-информационные-технологии/14465-ИИ-в-тестировании-программного-обеспечения-повышение-эффективности-и-точности (дата обращения: 02.01.2025).

  5. Глубокое обучение и машинное обучение [Электронный ресурс]: Руководство Microsoft Azure. URL: https://learn.microsoft.com/ru-ru/azure/машинноеобучение/концепцияглубокогообученияпротивмашинногообучения?view=azureml-api-2 (дата обращения: 03.01.2025).

  6. Как искусственный интеллект изменит тестирование программного обеспечения [Электронный ресурс]. URL: https://visuresolutions.com/ru/Блог/как-искусственный-интеллект-изменит-тестирование-программного-обеспечения/ (дата обращения: 03.01.2025).

Просмотров работы: 13