Исследование вопросов качества тестирования с использованием метрик и аналитики
Автор: Клюканов А.В., Штатнов И.А.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Технические науки
Статья в выпуске: 1-3 (100), 2025 года.
Бесплатный доступ
Статья посвящена исследованию вопросов качества тестирования программного обеспечения с использованием метрик и аналитики. В работе рассматриваются основные метрики, применяемые для оценки эффективности тестирования, такие как покрытие кода, процент успешных тестов и количество дефектов. Работа также указывает на перспективы дальнейших исследований в этой области, включая создание более гибких и эффективных методов для интеграции аналитики и метрик в процессы тестирования.
Качество тестирования, метрики тестирования, аналитика тестирования, покрытие кода, машинное обучение, прогнозирование дефектов, анализ больших данных, оптимизация тестирования
Короткий адрес: https://sciup.org/170208726
IDR: 170208726 | DOI: 10.24412/2500-1000-2025-1-3-160-164
Текст научной статьи Исследование вопросов качества тестирования с использованием метрик и аналитики
Качество программного обеспечения является одним из ключевых факторов его успешной эксплуатации. В процессе разработки ПО важную роль играет тестирование, которое помогает выявить дефекты и недочеты в функциональности системы. Однако, качество тестирования также нуждается в оценке и анализе для повышения эффективности процесса. В последние годы активно развиваются подходы, использующие метрики и аналитику, позволяющие улучшить точность оценки качества тестирования и оптимизировать процессы.
По мнению авторов, внедрение систем аналитики в тестировании не только помогает отслеживать качество, но и способствует прогнозированию возможных проблем [3]. Использование метрик дает возможность разработчикам и тестировщикам более точно понимать, насколько эффективно проводится тестирование, какие области нуждаются в до- полнительном внимании и какие ресурсы можно перераспределить.
Анализ современных публикаций. Одним из основоположников концепции метрик в тестировании является Norman Fenton. В своей работе «Software Metrics: A Rigorous and Practical Approach» (2013) он подчеркивает важность метрик для оценки качества тестирования, а также обсуждает различные типы метрик, включая метрики покрытия кода, количество дефектов, а также метрики, связанные с процессами разработки, такие как время выполнения тестов и частота ошибок. Отмечается, что метрики позволяют объективно оценивать как эффективность тестирования, так и общую надежность программного обеспечения [1]. Однако он также предупреждает, что не все метрики можно использовать в любой ситуации, и важно адаптировать их под конкретный контекст проекта.
Рис. 1. Основные метрики, используемые для оценки качества тестирования
Noyes (2019) в своей работе «Analytics in Software Testing: A Comprehensive Approach» рассматривают интеграцию аналитики в процесс тестирования. Они утверждают, что аналитика представляет собой важный шаг вперед по сравнению с традиционным применением метрик. В отличие от простого сбора числовых данных, аналитика направлена на их глубокий анализ и интерпретацию, что позволяет выявить скрытые паттерны и прогнозировать возможные проблемы на ранних стадиях разработки [2]. Авторы исследуют методы машинного обучения, такие как кластеризация и анализ временных рядов, которые могут быть использованы для предсказания качества тестирования и выявления проблемных областей в коде.
Вместе с тем, Fenton и Noyes согласны с тем, что несмотря на развитие аналитики и метрик, существует несколько ограничений в их применении. Например, слишком узкое внимание к количественным показателям может привести к игнорированию более качественных аспектов тестирования, таких как степень удовлетворенности пользователей и тестирование пользовательского опыта. Поэтому важно сочетать метрики с более гибкими и качественными методами оценки.
Влияние метрик покрытия кода на качество тестирования. Метрики покрытия кода занимают центральное место в процессе оценки качества тестирования. Согласно Beizer (1995) в своей книге «Software Testing Techniques», покрытия кода позволяют определить, насколько тщательно тестировщики проверяют каждую строку или блок кода. Однако, он отмечает, что высокая степень покрытия не всегда означает высокое качество тестирования, так как могут быть другие аспекты, такие как корректность или стабильность системы, которые остаются вне поля зрения традиционных метрик [3].
В исследовании, посвященном методам улучшения качества ПО, также упоминается, что покрытие кода важно, но оно не может служить единственным критерием качества тестирования. Необходимо учитывать также контекст, в котором выполняется тестирование, а также взаимодействие различных модулей системы, которое не всегда можно оценить с помощью покрытия кода [7].
В свою очередь, Jiang (2016) в своей статье «Software Test Coverage: A Survey of Existing Techniques» предлагают различные техники улучшения покрытия кода, в том числе методики, основанные на специфических типах тестов, таких как тесты на основе путей, а также тесты, ориентированные на состояния системы. Они подчеркивают, что для оценки покрытия важно учитывать как статическое, так и динамическое покрытие, чтобы достичь более точной оценки.
Сбор данных Аналитика ИН Прогнозирование НН Улучшение
(метрики (Методы ML, Д j дефектов и качества тестирования) статистика) НН проблем НН тестирования
Рис. 2. Процесс анализа данных в тестировании с использованием аналитики и методов машинного обучения для прогнозирования дефектов и улучшения качества тестирования
Проблемы использования метрик и аналитики. Одной из основных проблем, обсуждаемых в литературе, является переизбыточ-ность метрик. Утверждается, что при излишней ориентации на количество метрик может возникать путаница, и тестировщики начинают ориентироваться на простые количественные показатели, такие как число найденных дефектов или процент покрытия, вместо того чтобы оценивать качество тестов в контексте их способности обнаружить дефекты, которые наиболее вероятны или критичны для системы [6].
В исследованиях поднимаются вопросы, связанные с применением метрик, и отмечается, что очень часто организации склонны собирать данные ради самих данных, не осознавая их ограниченность [5]. Например, общие метрики, такие как количество тестов, количество ошибок или процент покрытия, не всегда отражают реальные потребности и приоритеты проекта.
Еще одной проблемой является избыточность и сложность аналитических инструментов. Барвин С.К. в своем исследовании утверждает, что современные аналитические инструменты, такие как системы для анализа больших данных, могут быть слишком сложными для использования без должной подготовки [7]. В то же время он предупреждает, что чрезмерное полагание на инструменты может привести к игнорированию простых, но эффективных подходов.
Затрагивается применение аналитики на уровне всей организации в контексте DevOps и непрерывной интеграции. Аналитика и метрики могут стать ключевыми для достижения высокого качества и гибкости процессов тестирования в современных условиях. Особенно важным является использование аналитики для принятия решений по распределению ресурсов и выявлению слабых мест в процессах разработки и тестирования [9].
Количество дефектов
*
|----------------------------------------------------> Покрытие кода
(низкое) (высокое)
Рис. 3. Влияние покрытия кода на количество обнаруженных дефектов в тестируемом программном обеспечении
Чем больше покрытие, тем ниже вероятность обнаружения дефектов.
Описание диаграммы:
Ось Y (вертикальная) – количество обнаруженных дефектов. Снижение дефектов указывает на повышение качества тестирования.
Ось X (горизонтальная) – процент покрытия кода. Это может быть выражено в процентах от 0% до 100%.
Методы машинного обучения для предсказания качества тестирования. В последние годы большое внимание уделяется применению машинного обучения (ML) в тестировании программного обеспечения. В част- ности, Satapathy S.C. (2020) в своей статье «Machine Learning in Software Testing» рассматривает использование методов машинного обучения для прогнозирования качества тестирования и выявления областей, требующих внимания. Авторы утверждают, что с помощью анализа больших объемов данных о тестах можно создать модели, которые смогут не только прогнозировать, какие модули ПО наиболее вероятно содержат ошибки, но и оптимизировать процесс тестирования, автоматически выделяя наиболее критичные участки для проверки [4].

Входные данные (Покрытие кода,тесты, количество дефектов)

Модель машинного обучения (Классификация дефектов)


Выходные данные (Прогнозируемые дефекты)

Рис. 4. Модели машинного обучения для предсказания дефектов в коде на основе анализа дан- ных тестирования
Применение методов машинного обучения позволяет тестировщикам с высокой точностью предсказать, какие участки кода будут наиболее уязвимы к дефектам, и таким образом, сосредоточить тестирование на этих участках. Например, модели на основе машинного обучения могут использоваться для классификации дефектов по типам и для оптимизации тестов, повышая таким образом эффективность тестирования.
Вывод. Вопросы качества тестирования с использованием метрик и аналитики остаются актуальными и многогранными. Существует множество подходов и методик, которые могут быть адаптированы в зависимости от кон- кретного контекста проекта. Однако несмотря на значительный прогресс в использовании аналитики и метрик, остается множество нерешенных проблем, связанных с их правильной интерпретацией, интеграцией в процессы разработки и сложностью использования сложных аналитических инструментов.
Будущие исследования должны сосредоточиться на интеграции метрик и аналитики в общий процесс разработки, а также на разработке более гибких и эффективных инстру- ментов для анализа качества тестирования с использованием машинного обучения и других современных технологий.
Список литературы Исследование вопросов качества тестирования с использованием метрик и аналитики
- Fenton N., Bieman J. Software metrics: a rigorous and practical approach. - CRC Press, 2014.
- Noyes J. et al. Qualitative evidence // Cochrane Handbook for Systematic Reviews of Interventions. - 2019. - С. 525-545.
- Pecorelli F., Palomba F., De Lucia A. The relation of test-related factors to software quality: a case study on Apache systems // Empirical Software Engineering. - 2021. - Т. 26. - С. 1-42.
- Satapathy S.C. et al. Usage of machine learning in software testing // Automated Software Engineering: A Deep Learning-Based Approach. - 2020. - С. 39-54.
- Software & Systems Engineering Standards Committee of the IEEE Computer Society. IEEE Standard for Soft ware and System Test Documentation. - IEEE, 2008.
- Рахманов В.Ю., Тимченко Б.Д. Метрики в современном тестировании // Научно-технический вестник информационных технологий, механики и оптики. - 2003. - № 10. - С. 108-111.
- Барвин С.К., Попов Д.В. Метрики автоматизированного тестирования web-приложения // Современные научные исследования и инновации. - 2019. - № 4. - С. 4-4.
- Горщар Р.С., Таран В.Н. Алгоритмические подходы для средств аналитики результатов тестирования систем дистанционного обучения // Системы компьютерной математики и их приложения. - 2019. - № 20-2. - С. 180-185.
- Кошик А. Веб-аналитика 2.0 на практике // Тонкости и лучшие методики. - 2011. - С. 528.