Метрики и KPI | QArtel
Ко всей базеcareer
Метрики и KPI Около 8 мин чтения
(ISTQB 5.3)
Обзор
Метрики тестирования — это количественные показатели, используемые для мониторинга и управления процессом тестирования. KPI (Key Performance Indicators) — ключевые показатели эффективности, помогающие оценить качество продукта и эффективность тестирования.
ISTQB Foundation Syllabus, раздел 5.3 — метрики поддерживают мониторинг и контроль тестирования, помогая принимать обоснованные решения.
Покрытие тестирования (Test Coverage)
Определение
Покрытие тестирования — это мера того, какая часть тестируемого объекта была протестирована.
Виды покрытия
1. Покрытие требований (Requirements Coverage)
Измеряет, какой процент требований покрыт тест-кейсами.
Покрытие требований = (Кол-во протестированных требований / Общее кол-во требований) × 100%
Пример:
Всего требований: 150
Протестировано: 135
Покрытие: (135 / 150) × 100% = 90%
Целевое значение: 100% для критичных требований
2. Покрытие кода (Code Coverage) Измеряет, какой процент кодавыполняется при выполнении тестов.
Метрика Описание Формула Statement Coverage Покрытие операторов Выполненные операторы / Всего операторов Branch Coverage Покрытие ветвлений Пройденные ветки / Всего веток Path Coverage Покрытие путей Пройденные пути / Всего путей Condition Coverage Покрытие условий Пройденные условия / Всего условий MC/DC Покрытие модифицированных условий/решений Полное покрытие с минимальными тестами
Branch Coverage: ≥ 80% (обычная практика), ≥ 100% (авиация, медицина)
Statement Coverage: ≥ 90%
3. Покрытие рисков (Risk Coverage) Измеряет, какой процент выявленных рисков покрыт тестами.
Покрытие рисков = (Кол-во протестированных рисков / Общее кол-во рисков) × 100%
4. Покрытие функциональности (Feature Coverage) Покрытие функций = (Кол-во протестированных функций / Общее кол-во функций) × 100%
Визуализация покрытия ┌─────────────────────────────────────────┐
│ ПОКРЫТИЕ ТЕСТИРОВАНИЯ │
├─────────────────────────────────────────┤
│ │
│ Требования ████████████████████░░ 90% │
│ Код ████████████████░░░░░ 80% │
│ Риски ██████████████████████ 100% │
│ Функции ██████████████████░░░ 85% │
│ │
└─────────────────────────────────────────┘
Плотность дефектов (Defect Density)
Определение Плотность дефектов — количество дефектов, обнаруженных на единицу размера артефакта.
Формула Плотность дефектов = Количество дефектов / Размер модуля (KLOC, FP, страницы)
Применение Единица измерения Формула Применение Дефектов на KLOC Дефекты / тысячи строк кода Программные модули Дефектов на FP Дефекты / функциональные точки Функциональный анализ Дефектов на страницу Дефекты / страницы документа Документация
Пример расчёта Модуль авторизации:
- Размер: 2000 строк кода (2 KLOC)
- Найдено дефектов: 10
- Плотность: 10 / 2 = 5 дефектов/KLOC
Модуль отчётов:
- Размер: 5000 строк кода (5 KLOC)
- Найдено дефектов: 8
- Плотность: 8 / 5 = 1.6 дефектов/KLOC
Вывод: Модуль авторизации имеет более высокую плотность дефектов и требует дополнительного внимания.
Интерпретация Плотность Оценка Действие < 1 дефект/KLOC Отлично Стандартное тестирование 1-5 дефектов/KLOC Нормально Стандартное тестирование 5-10 дефектов/KLOC Повышенное внимание Усиленное тестирование > 10 дефектов/KLOC Критично Ревью кода, рефакторинг
Эффективность удаления дефектов (Defect Removal Efficiency, DRE)
Определение DRE измеряет эффективность процесса обнаружения и исправления дефектов.
Формула DRE = (Дефекты найдены до релиза / Всего дефектов) × 100%
Дефекты найдены до релиза = внутренние дефекты
Всего дефектов = внутренние + внешние (найденные пользователями)
Пример Дефекты найдены тестировщиками: 95
Дефекты найденные пользователями: 5
Всего дефектов: 100
DRE = (95 / 100) × 100% = 95%
Целевые значения DRE Оценка ≥ 95% Отлично 90-95% Хорошо 80-90% Удовлетворительно < 80% Требует улучшения
Применение по уровням DRE можно рассчитать для каждого уровня тестирования:
DRE(модульное) = Дефекты_найденные_на_модульном / Всего_дефектов_модуля × 100%
DRE(системное) = Дефекты_найденные_на_системном / Всего_дефектов_системы × 100%
Совокупная DRE по проекту:
DRE(проект) = Σ DRE(уровень) для всех уровней
Прогресс выполнения тестирования (Test Execution Progress)
Метрики прогресса
1. Выполнение тест-кейсов Процент выполнения = (Выполненные тесты / Всего запланированных тестов) × 100%
2. Результаты выполнения Статус Описание Passed Тест пройден успешно Failed Тест не пройден Blocked Тест заблокирован (нетпредусловий) Not Executed Тест не выполнен In Progress Тест в процессе выполнения
3. Отчёт о прогрессе ┌─────────────────────────────────────────────┐
│ ПРОГРЕСС ТЕСТИРОВАНИЯ (Спринт 5) │
├─────────────────────────────────────────────┤
│ │
│ Всего тестов: 200 │
│ Passed: 160 (80%) ████████░░ │
│ Failed: 15 ( 7%) █░░░░░░░░░ │
│ Blocked: 5 ( 2%) ░░░░░░░░░░ │
│ Not Executed: 20 (10%) ██░░░░░░░░ │
│ │
│ Общий прогресс: 90% │
│ Осталось выполнить: 40 тестов │
│ │
└─────────────────────────────────────────────┘
Тренды выполнения День Passed Failed Blocked Not Executed Прогресс День 1 20 5 2 173 13.5% День 2 50 8 3 139 30.5% День 3 90 12 4 94 53.0% День 4 130 14 5 51 74.5% День 5 160 15 5 20 90.0%
Диаграмма сгорания (Burn-Down Charts)
Определение Диаграмма сгорания (burn-down chart) — визуальный инструмент, показывающий остаток работы по сравнению с планом.
Типы
1. Burn-Down по тест-кейсам Осталось тестов
│
200 ─┤ ●
│ ╲
150 ─┤ ●
│ ╲
100 ─┤ ●───●
│ ╲
50 ─┤ ●
│ ╲
0 ─┤─────────────●──────────
└────────────────────────→ Время
Д1 Д2 Д3 Д4 Д5 Д6
2. Burn-Down по дефектам Открытые дефекты
│
30 ─┤ ●───●
│ ╱ ╲
20 ─┤ ● ●
│ ╱ ╲
10 ─┤● ●───●
│ ╲
0 ─┤───────────────●───────
└────────────────────────→ Время
3. Ideal vs Actual (Идеальное vs Фактическое) Осталось работ
│
│ Ideal Actual
100% ┤ ● ●
│ ╲ │╲
75% ┤ ╲ │ ╲
│ ╲ │ ●───●
50% ┤ ╲ │ ╲
│ ╲ │ ●
25% ┤ ╲ │ ╲
│ ╲ │ ●
0% ┤──────────●──────│───────────●───
└────────────────────────────────→ Время
Начало План Текущий Конец
Интерпретация Положение Actual vs Ideal Интерпретация Действие Выше линии Ideal Отставание от плана Увеличить ресурсы или пересмотреть scope На линии Ideal В соответствии с планом Продолжать в том же темпе Ниже линии Ideal Опережение плана Можно увеличить scope или сократить ресурсы
Пример данных для burn-down День Ideal (осталось) Actual (осталось) Отклонение 0 200 200 0 1 160 173 +13 2 120 139 +19 3 80 94 +14 4 40 51 +11 5 0 20 +20
Вывод: Фактический прогресс отстаёт от плана. Требуется корректировка.
Другие важные метрики
Метрики дефектов Метрика Формула Описание Скорость обнаружения Дефекты / период Сколько дефектов находится за период Скорость исправления Исправленные / период Сколько дефектов исправляется за период Время жизни дефекта Дата исправления - Дата обнаружения Сколько времени дефект остаётся открытым Дефекты по severity Кол-во по severity Распределение по серьёзности Reopen rate Переоткрытые / Исправленные × 100% Процент некачественных исправлений
Метрики эффективности Метрика Формула Описание Стоимость теста Бюджет / Количество тестов Стоимость одного теста ROI тестирования Сэкономленные потери / Стоимость тестирования Возврат инвестиций Автоматизация Автотесты / Всего тестов × 100% Процент автоматизации Производительность Тесты / Человеко-день Количество тестов на единицу времени
Практическое применение метрик
Дашборд менеджера тестирования ┌────────────────────────────────────────────────────────────┐
│ ТЕСТОВЫЙ ДАШБОРД — Проект X │
├────────────────────────────────────────────────────────────┤
│ │
│ ПОКРЫТИЕ ДЕФЕКТЫ ПРОГРЕСС │
│ Требования: 95% Всего: 147 Выполнено: 85% │
│ Код: 82% Открыто: 23 Passed: 78% │
│ Риски: 100% Критичных: 3 Failed: 5% │
│ DRE: 94% Blocked: 2% │
│ │
│ ПЛОТНОСТЬ ДЕФЕКТОВ BURN-DOWN СТАТУС │
│ Avg: 3.2 / KLOC Отстаём на 15% ⚠️ ВНИМАНИЕ │
│ Max: 8.1 (Модуль X) Скорректирован 📋 В РАБОТЕ │
│ Min: 0.5 (API) │
│ │
└────────────────────────────────────────────────────────────┘
Рекомендации по использованию метрик
Не используйте метрики изолированно — анализируйте в контексте
Сравнивайте с baseline — текущие vs исторические данные
Используйте тренды — абсолютные значения менее информативны
Учитывайте контекст — метрики зависят от типа проекта
Коммуницируйте результаты — метрики должны быть понятны всем
Избегайте метрик-ловушек — не поощряйте «гонку за цифрами»
Ключевые термины Термин Определение Test Coverage Мера того, какая часть тестируемого объекта протестирована Defect Density Количество дефектов на единицу размера DRE Эффективность удаления дефектов (% найденных до релиза) Burn-Down Chart Диаграмма остатка работы по сравнению с планом KPI Ключевой показатель эффективности Metric Количественная мера для оценки процесса или продукта
Связанные темы