Статья опубликована в рамках: Научного журнала «Студенческий» № 25(363)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал
ПРИМЕНЕНИЕ ТЕХНОЛОГИЙ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ АВТОМАТИЗИРОВАННОЙ ГЕНЕРАЦИИ И ПРИОРИТИЗАЦИИ ТЕСТ-КЕЙСОВ
APPLICATION OF ARTIFICIAL INTELLIGENCE TECHNOLOGIES FOR AUTOMATED GENERATION AND PRIORITIZATION OF TEST CASES
Bolshepaev Iakov Alekseevich
Student, Department of Management and Informatics in Technical Systems, Moscow State Technological University "Stankin",
Russia, Moscow
АННОТАЦИЯ
В статье исследуются методы применения технологий искусственного интеллекта для автоматизации процессов обеспечения качества программного обеспечения. Рассмотрены алгоритмы обработки естественного языка для извлечения тестовых сценариев из текстовых требований. Проанализированы подходы к приоритизации тест-кейсов на основе исторических данных о дефектах с использованием моделей машинного обучения. Описано влияние интеллектуальных алгоритмов на сокращение времени регрессионного тестирования и повышение общей надежности выпускаемых программных продуктов.
ABSTRACT
The article explores methods of applying artificial intelligence technologies to automate software quality assurance processes. Natural language processing algorithms for extracting test scenarios from textual requirements are considered. Approaches to test case prioritization based on historical defect data using machine learning models are analyzed. The impact of intelligent algorithms on reducing regression testing time and increasing the overall reliability of released software products is described.
Ключевые слова: искусственный интеллект; тестирование программного обеспечения; тест-кейсы; машинное обучение; автоматизация.
Keywords: artificial intelligence; software testing; test cases; machine learning; automation.
Усложнение архитектуры современных программных комплексов требует непрерывного совершенствования методов контроля качества. Традиционный подход к тестированию базируется на ручном анализе спецификаций и написании тестовых сценариев инженерами по обеспечению качества. В условиях применения гибких методологий разработки данный процесс становится критическим узким местом, замедляющим выпуск обновлений. Ручное формирование и поддержка актуальности тестовой базы требует значительных временных затрат, а выполнение полного набора регрессионных тестов при каждом изменении исходного кода является экономически нецелесообразным [1, с. 42]. В связи с этим актуальной задачей является внедрение алгоритмов искусственного интеллекта для оптимизации жизненного цикла тестирования.
Первым направлением оптимизации выступает автоматизированная генерация тест-кейсов на основе анализа проектной документации. Для решения этой задачи применяются большие языковые модели и алгоритмы обработки естественного языка. Интеллектуальная система анализирует текстовые требования, пользовательские истории и критерии приемки, выделяя из них ключевые сущности, граничные условия и бизнес-правила. На основе извлеченной информации модель синтезирует структурированные тестовые сценарии, например: шаги воспроизведения, ожидаемые результаты и наборы тестовых данных. Использование нейросетевых архитектур позволяет учитывать контекст разработки и генерировать проверки для неочевидных негативных сценариев, которые часто упускаются при ручном проектировании тестов [2, с. 115].
Вторым важным направлением является интеллектуальная приоритизация существующей базы тест-кейсов. При интеграции новых фрагментов кода в основную ветку проекта возникает необходимость проверки работоспособности смежных модулей. Выполнение всех доступных тестов занимает часы или дни, поэтому требуется отобрать наиболее критичные проверки. Алгоритмы машинного обучения, например: деревья решений и методы градиентного бустинга, анализируют исторические данные о предыдущих запусках конвейеров сборки. Модель учитывает множество факторов, например: частоту обнаружения дефектов в конкретном файле, историю изменений кода, время последнего запуска теста и его покрытие. На основе этих метрик каждому тест-кейсу присваивается динамический вес, определяющий его приоритет в текущей очереди выполнения [3, с. 88].
Таблица 1.
Сравнительная оценка подходов к управлению тест-кейсами
|
Критерий оценки |
Традиционный ручной подход |
Интеллектуальная автоматизация |
|---|---|---|
|
Скорость проектирования тестов |
Низкая, зависит от производительности инженера |
Высокая, автоматическая генерация из текста требований |
|
Точность регрессионной выборки |
Определяется экспертным мнением и интуицией |
Основана на математических моделях и исторической статистике |
|
Адаптивность к изменениям |
Требует ручного обновления документации и кода тестов |
Динамическая корректировка приоритетов и перегенерация сценариев |
Внедрение рассмотренных технологий в конвейеры непрерывной интеграции трансформирует процесс обеспечения качества из реактивного поиска ошибок в проактивный механизм прогнозирования отказов. Анализ результатов показывает, что интеллектуальная приоритизация позволяет сократить время обратной связи для разработчиков на десятки процентов при сохранении высокого уровня выявления дефектов. Применение искусственного интеллекта не заменяет инженеров, а избавляет их от рутинной работы, позволяя сфокусироваться на сложной архитектурной валидации и исследовательском тестировании программных продуктов.
Список литературы:
- Куликов С. С. Тестирование программного обеспечения. Базовый курс. - Минск: Четыре четверти, 2020. - 312 с.
- Чернов А. В. Применение машинного обучения в задачах автоматизации тестирования // Инженерия программного обеспечения. - 2023. - № 2. - С. 110-125.
- Смирнов П. Д. Искусственный интеллект в управлении качеством корпоративных систем: учебное пособие. - М.: Техносфера, 2024. - 198 с.

