Секция

Технические науки

Ключевые слова

метрики качества
ключевые показатели эффективности (KPI)
тестирование программного обеспечения
автоматизация тестирования
производительность тестирования
дефекты
покрытие требований

Аннотация статьи

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

Текст статьи

Актуальность исследования

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

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

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

Цель исследования

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

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

Материалы исследования: данные из научной литературы, отраслевых отчётов и практических кейсов внедрения метрик и KPI в различных сферах разработки ПО.

Методы исследования: анализ литературы, кейс-анализ, эмпирический анализ.

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

Метрики качества в контексте тестирования ПО представляют собой количественные показатели, которые описывают различные аспекты качества программного продукта, такие как стабильность, производительность, удобство использования и отсутствие дефектов. Эти метрики необходимы для объективной оценки степени готовности ПО и оценки эффективности процессов тестирования. В то же время KPI являются специфическими показателями, которые направлены на измерение результатов деятельности команды или процессов, установленных для достижения стратегических целей проекта или организации. KPI для тестирования ПО помогают не только измерить производительность тестировщиков, но и оценить эффективность реализации всего цикла тестирования.

Использование метрик и KPI в тестировании позволяет:

  • Объективно оценивать эффективность тестирования, измеряя скорость выполнения тестов, количество найденных дефектов, время их исправления.
  • Прогнозировать качество продукта – на основе данных о покрытии кода тестами, плотности дефектов, вероятности возникновения дефектов в будущем.
  • Управлять ресурсами – KPI помогают выявить узкие места в процессе тестирования и перераспределить ресурсы для улучшения результатов.
  • Постоянно улучшать процессы тестирования – метрики позволяют отслеживать изменения в качестве тестирования и вырабатывать меры для его улучшения.

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

Таблица 1

Классификация метрик качества в тестировании

Категория метрикМетрикаОписаниеЕдиница измерения
Метрики процесса тестированияПроцент завершённых тестовДоля завершённых тестов от общего числа запланированных%
 Время выполнения тестовСреднее время, затраченное на выполнение одного тестаЧасы / Минуты
 Долгота тестового циклаСреднее время для выполнения всех тестов или одного теста в контексте циклаЧасы / Минуты
Метрики покрытия тестамиПокрытие кода тестамиПроцент строк кода, покрытых тестами, от общего числа строк%
 Покрытие функциональностиПроцент протестированных функций или модулей ПО%
 Покрытие требованийПроцент требований, которые были протестированы%
Метрики дефектовКоличество выявленных дефектовОбщее количество дефектов, найденных в процессе тестированияШтуки
 Плотность дефектовКоличество дефектов на 1000 строк кодаДефектов / 1000 строк
 Процент повторных дефектовДоля дефектов, которые были найдены после их исправления%
 Среднее время исправления дефектовСреднее время, необходимое для исправления дефекта после его обнаруженияЧасы / Минуты
Метрики производительностиЧисло автоматизированных тестовДоля тестов, которые были автоматизированы, в общем числе тестов%
 Время отклика системыСреднее время отклика системы на запросы или действия пользователя (для тестов производительности)Миллисекунды
 Пропускная способностьСпособность системы обрабатывать определённое количество операций за единицу времениОпераций / секунду

Ключевые показатели эффективности тесно связаны с целями и задачами проекта, а также с результатами работы всей команды разработки [3, с. 47]. Некоторые из них включают:

1) Процент завершённых тестов.

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

Формула:

image.png

2) Доля автоматизированных тестов.

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

Формула:

image.png

3) Время выполнения тестов.

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

Формула:

image.png

4) Процент исправленных дефектов.

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

Формула:

image.png

5) Количество дефектов на единицу объёма кода (плотность дефектов).

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

Формула:

image.png

6) Время отклика системы.

Этот KPI относится к тестированию производительности и измеряет, сколько времени требуется системе для отклика на запрос или действие пользователя. Время отклика имеет важное значение для оценки производительности и удобства использования ПО.

Формула:

image.png

Несмотря на очевидные преимущества использования метрик и KPI в тестировании, их внедрение сталкивается с рядом сложностей. Эти проблемы могут быть связаны с недостаточной осведомлённостью, неверной интерпретацией данных, сопротивлением со стороны команды или организационными ограничениями [1, с. 168]. Рассмотрим основные проблемы внедрения метрик и KPI, подкрепляя анализ конкретными данными и примерами.

1. Выбор неподходящих метрик и KPI.

Одной из наиболее частых проблем является выбор метрик и KPI, которые не соответствуют целям проекта. Например, фокусировка только на скорости выполнения тестов может игнорировать качество и полноту тестирования, что приведёт к выпуску программного продукта с дефектами.

Пример: компания внедрила KPI «количество тестов, выполненных в день». Итогом стало снижение качества тестов, так как тестировщики начали фокусироваться на быстром выполнении задач, а не на полноте и глубине проверки.

Рекомендации:

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

2. Сложность измерения и сбора данных.

Сбор данных для расчёта метрик и KPI может быть затруднён из-за отсутствия автоматизированных инструментов или несовершенной инфраструктуры. Например, если в компании не используются системы управления тестированием, оценка покрытия кода тестами или процент завершённых тестов может требовать ручной работы, что увеличивает затраты времени.

Пример таблицы для оценки сложности сбора данных представлен ниже (таблица 2).

Таблица 2

Оценка сложности сбора данных

Метрика/KPIНаличие автоматизацииТрудоёмкость сбора данных (часы)Риск ошибок при расчёте
Покрытие кода тестамиНет10Высокий
Процент завершённых тестовЧастичная4Средний
Плотность дефектовПолная1Низкий

Рекомендации:

  • Инвестировать в системы автоматизации, такие как Jira, TestRail или Zephyr, которые интегрируются с инструментами разработки.
  • Использовать CI/CD-платформы (например, Jenkins, GitLab CI) для автоматического сбора данных.

3. Неверная интерпретация результатов.

Метрики и KPI могут быть неправильно интерпретированы. Например, высокий процент завершённых тестов может быть воспринят как гарантия качества, хотя на практике может указывать на поверхностное тестирование. Без анализа контекста данные могут создавать иллюзию контроля, но не обеспечивать реального улучшения.

На рисунке 1 показано, как неверная интерпретация метрики «процент завершённых тестов» может привести к снижению качества продукта.

image.png

Рис. 1. Связь между процентом завершённых тестов и числом дефектов

Рекомендации:

  • Проводить обучающие сессии для команд по интерпретации данных.
  • Сопровождать метрики дополнительными пояснениями и контекстом (например, данные о сложности тестов или важности протестированных функций).

4. Сопротивление со стороны команды.

Команды тестировщиков могут воспринимать внедрение метрик и KPI как инструмент контроля и давления. Это может вызывать снижение мотивации, попытки манипулировать данными или формальное выполнение работы ради показателей.

Причины сопротивления:

  • Непрозрачные цели внедрения метрик.
  • Несправедливая оценка индивидуальных вкладов на основе командных метрик.
  • Изменение привычных процессов работы.

Рекомендации:

  • Обеспечить прозрачность целей внедрения метрик.
  • Фокусироваться на командных, а не индивидуальных KPI.
  • Внедрять метрики постепенно, с обсуждением и корректировкой на основе обратной связи.

5. Сложность интеграции метрик в процессы.

Метрики и KPI должны быть интегрированы в существующие процессы тестирования и разработки. Однако несоответствие инструментов, методологий или культуры компании может затруднить эту задачу [2, с. 4590]. Например, команды, работающие по Agile, могут испытывать сложности с использованием метрик, требующих долгосрочного анализа.

Пример: при попытке внедрения плотности дефектов в Agile-команде выяснилось, что метрика плохо коррелирует с краткосрочными спринтами, так как не учитывает специфику изменений в требованиях.

Рекомендации:

  • Использовать адаптированные метрики для гибких методологий (например, velocity в Agile).
  • Регулярно пересматривать метрики и KPI в зависимости от изменения процессов.

Практическое использование метрик и ключевых показателей эффективности в тестировании программного обеспечения иллюстрирует их роль в реальных проектах. Рассмотрим несколько примеров успешного применения метрик и KPI.

Пример 1: улучшение производительности тестирования в компании-разработчике SaaS.

Компания, специализирующаяся на разработке SaaS-решений, внедрила систему метрик и KPI для улучшения производительности тестирования и повышения скорости выпуска обновлений.

Основными показателями стали:

  • Доля автоматизированных тестов.
  • Среднее время исправления дефектов.
  • Процент повторных дефектов.

Итоги внедрения:

  • Повышение доли автоматизации: компания начала с 30% автоматизированных тестов, через год этот показатель вырос до 70%, что позволило ускорить тестирование и снизить затраты.
  • Сокращение времени исправления дефектов: среднее время исправления снизилось с 10 часов до 6 часов благодаря интеграции систем мониторинга дефектов и управления задачами.
  • Снижение процента повторных дефектов: введение регрессионного тестирования снизило долю повторных дефектов с 15% до 5%.

Пример 2: оценка покрытия тестами в медицинском ПО.

В разработке медицинского ПО, где качество является критически важным, компания использовала следующие метрики:

  • Покрытие требований тестами.
  • Плотность дефектов.

Компания оценила, что на начальном этапе разработки только 60% требований были покрыты тестами. После внедрения новых подходов (включая систематическую трассировку требований) этот показатель увеличился до 95%.

График (рис. 2) иллюстрирует динамику увеличения процента покрытия требований тестами в течение четырёх кварталов. Это демонстрирует успешное применение подходов к тестированию, направленных на повышение полноты проверки требований.

image.png

Рис. 2. Динамика покрытия требований тестами

Пример 3: контроль времени выполнения тестов в e-commerce компании.

E-commerce компания столкнулась с проблемой увеличения времени тестирования из-за роста функциональности системы.

Для решения задачи были выбраны:

  • Среднее время выполнения тестов.
  • Число тестов, выполненных за спринт.

Результаты:

  1. Среднее время выполнения тестов снизилось с 2 часов до 1,5 часов за счёт оптимизации тестовых сценариев.
  2. Число тестов за спринт увеличилось с 200 до 250 благодаря повышению автоматизации.

Приведённые примеры демонстрируют, как применение метрик и KPI позволяет: оптимизировать процессы тестирования, улучшать качество продукта, сокращать время на исправление дефектов, обеспечивать соответствие требованиям в критически важных системах.

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

Выводы

Результаты исследования подтверждают, что метрики качества и KPI являются важными инструментами в управлении процессами тестирования. Их правильный выбор и использование позволяют: повысить прозрачность и предсказуемость процессов, выявить узкие места в тестировании, оптимизировать ресурсы и улучшать взаимодействие внутри команды, снизить число дефектов и повысить удовлетворённость пользователей.

Основные трудности связаны с выбором релевантных метрик, интеграцией их в существующие процессы и интерпретацией данных. Для успешного внедрения метрик и KPI рекомендуется: определять цели тестирования перед выбором метрик, внедрять инструменты автоматизации для сбора и анализа данных, уделять внимание обучению команды для правильной интерпретации результатов.

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

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

  1. Бурдыко Т.Г., Бушмелева К.И. Использование метрик для тестирования программного продукта // Труды международного симпозиума «Надежность и качество». – 2019. – Т. 2. – С. 167-169.
  2. Жарко Е.Ф. Сравнение моделей качества программного обеспечения: аналитический подход // XII всероссийское совещание по проблемам управления ВСПУ-2014. – 2014. – С. 4585-4594.
  3. Ставицкая О.С. KPI – ключевые показатели эффективности, их виды и применение // Проблемы современной науки и образования. – 2018. – № 7(127). – С. 45-51.

Поделиться

Шейнман В. А. Метрики качества и KPI для тестирования // Проблемы и вызовы научно-технологического развития в глобализирующемся мире : сборник научных трудов по материалам Международной научно-практической конференции 13 декабря 2023г. Белгород : ООО Агентство перспективных научных исследований (АПНИ), 2023. URL: https://apni.ru/article/7832-metriki-kachestva-i-kpi-dlya-testirovaniya

Обнаружили грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики)? Напишите письмо в редакцию журнала: info@apni.ru
Актуальные исследования

#3 (238)

Прием материалов

18 января - 24 января

осталось 6 дней

Размещение PDF-версии журнала

29 января

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

12 февраля