Количественное управление процессом тестирования
DESCRIPTION
Александр Александров, Анатолий Галай, Ясна Милькова, Люксофт, Москва, РоссияTRANSCRIPT
![Page 1: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/1.jpg)
Количественное управление процессом тестированияАлександр Александров, Анатолий Галай, Ясна Милькова
Люксофт
![Page 2: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/2.jpg)
Содержание• Анализ современных методов количественного и статистического
управления процессами разработки программного обеспечения – Количественное и статистическое управление в CMMI– Метрики в проектах– Определение возможностей процесса (Process capability
Baseline)– Статистический анализ в проекте и количественное
управление (на примере процесса тестирования и метрики плотность дефектов)
• Методы анализа данных– Метод прогнозирования количества дефектов, которые
будут обнаружены заказчиком при эксплуатации программного продукта
– Метод интерпретации количественных результатов аудитов проектов
• Среда визуализации данных количественного управления проектами- Quantitative Dashboard (QD)
![Page 3: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/3.jpg)
Cтатистическое управление
• Статистическое управление (SPC) – это использование статистических методов для обработки и оценки результатов измерений параметров процессов в проекте.
• В результате применения таких методов становится возможным:
• определять границы, в которых могут находиться значения параметра, если подпроцесс выполняется штатно (т.е. предсказывать значение параметра подпроцесса),
• определять значения контролируемого параметра, которые являются следствием воздействия каких-то особенных (одномоментных) причин.
![Page 4: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/4.jpg)
Последовательностьпроведения SPC
![Page 5: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/5.jpg)
Количественное управление
• Количественное управление (QPC) – это процесс использования данных проектных измерений, обработанных с помощью статистического управления подпроцессами (или каких-то других методов) для:
• определения того, обеспечат ли текущие значения параметра процесса выполнение требований к нему в конце проекта,
• если текущие результаты не дают уверенности в выполнении конечных требований, то определение корректирующих действий, которые должны быть предприняты для обеспечения достижения установленных целей,
• последующего контроля эффективности предпринятых мер.
![Page 6: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/6.jpg)
Последовательностьпроведения QPC
![Page 7: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/7.jpg)
Метрики в проектах (ключевые)
• Производительность кодирования команды,• Плотность дефектов до поставки, • Плотность дефектов после поставки, • Индекс отклонения от календарного плана(SPI),• Индекс отклонения трудозатрат (CPI),• Общие удельные трудозатраты (Development
efficiency).
![Page 8: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/8.jpg)
Процесс измерения проектов
• Определить набор метрик, которые интересуют организацию
• Дать однозначные определения всем метрикам
• Определить круг инструментов, с помощью которых можно получать эти метрики воспроизводимо и однозначно
• Собрать историческую информацию по этим метрикам
• Статистически ее обработать, в результате чего разработать PCB
• Ставить количественные цели для процессов (подпроцессов)
• На регулярной основе проводить мониторинг метрик
• Анализировать метрики
• Регулярно пересматривать PCB (если необходимо) в разумные периоды времени (например, ежегодно) для постановки новых количественных целей либо при изменении процесса
![Page 9: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/9.jpg)
Границы возможностей процесса (Process Capability Baseline)
• Цели создания PCB:
– Накопление истории измерений
– Определение возможностей процесса
– Основа для прогнозирования возможностей процесса
• PCB в Люксофте
– Основана на бизнес-целях компании
– Ежегодно актуализируется
![Page 10: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/10.jpg)
Выбор подпроцессов для управления (1)
• Желательно, чтобы выбранный подпроцесс был одним из основных подпроцессов жизненного цикла
Основные процессы– это процессы, определяющие основные результаты деятельности компании.
Для идентификации основных процессов применяются следующие критерии:
– стратегическое значение,– создание воспринимаемой Заказчиками
пользы,– ориентация на Заказчика.
![Page 11: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/11.jpg)
Выбор подпроцессов для управления (2)
• Важно, чтобы во время выполнения проекта количество моментов времени для корректного измерения параметров процессов, подлежащих статистическому управлению, было достаточно большим
• Подпроцесс, выбираемый для статистического управления, должен иметь достаточно стабильные значения характеризующих его параметров при выполнении данного подпроцесса по установленным правилам
Как правило, подпроцесс тестирования отвечает вышеприведенным критериям.
![Page 12: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/12.jpg)
Выбор подпроцессов для управления (3)
Процесс нестабильный ─ управлять нельзя
Необходимы корректирующие действия
![Page 13: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/13.jpg)
Причины нестабильности процесса
Причины Примеры коррекции
Низкая квалификация персонала
Обучение
Нарушение требований процессов
Внеочередные аудиты качества и эскалация проблем
Отсутствие поставленных процессов
Постановка процессов
……………. …………….
![Page 14: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/14.jpg)
Критерии выбора метрик
• Выбранные метрики должны отражать главные, ключевые характеристики процесса
• Выбранные метрики должны отражать выполнение как минимум одной из целей проекта
• Метрики должны быть самым полным образом определены, должно быть ясно, каким образом метрики будут собираться и вычисляться
• Метрики должны позволять использование статистических методов для их анализа
![Page 15: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/15.jpg)
Метрики в тестировании
• Плотность дефектов (SDD = Число дефектов / Размер кода)
• Плотность дефектов после поставки (PDDD = Число дефектов после поставки / Размер кода)
• Доля отклоненных дефектов (DDR = Число отклоненных дефектов / Число дефектов )
• «Убойность» тестов (DP = Число дефектов / Число тестов)
• Эффективность тестирования (TE = Число дефектов / Трудозатраты тестирования)
• Доля покрытия требований (RCR = Число требований, покрытых тестами / Число требований)
• Плотность покрытия требований (RCD = Число тестов / Число требований)
• Доля повторно открытых дефектов (RDR = Число повторно открытых дефектов / Число дефектов )
• И много-много других …
![Page 16: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/16.jpg)
Выбор аналитических техник. Контрольные карты XmR (1)
![Page 17: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/17.jpg)
Выбор аналитических техник. Контрольные карты XmR (2)
• XmR chart (контрольные карты) - это массив данных, где точки располагаются в хронологическом порядке
• XmR chart включает 2 вида диаграмм:– Individual - контрольная карта размаха (массив
измеряемых данных, где точки располагаются в хронологическом порядке)
– Moving Range - контрольная карта скользящего размаха (массив данных сдвига между двумя точками измерений)
• UCL - верхняя контрольная граница• CL - среднее• LCL - нижняя контрольная граница
![Page 18: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/18.jpg)
Сбор выбранных метрик и статистическая обработка
результатов• Измерения по установленным правилам • Расчет на основе производных метрик, которые
впоследствии подвергаются статистическому анализу• Расчет среднего значения и границ верхнего и нижнего
пределов при получении каждого нового значения метрики• Отображение полученных результатов на контрольной
карте и анализ стабильности процессов на их основе
• Последние два действия могут выполняться с помощью специальных программных инструментов, реализующих алгоритм расчета контрольных карт.
• Нами разработан инструмент для расчета и вывода на диаграмму параметров исследуемых метрик по алгоритму XmR
![Page 19: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/19.jpg)
Определение особыхслучаев (1)
Особый случай – это попадание значения контролируемой метрики за пределы границ, вычисленных с помощью контрольной карты или «особое», необычное поведение последовательности значений метрики, свидетельствующее о ее неслучайном поведении.
Число значений <3
Особые случаи не определяются
![Page 20: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/20.jpg)
Определение особыхслучаев (2)
Число значений >29 (фаза полноценного SPC)
Используется канонический способ определения особых случаев (> ±3G)
Число значений от 3 до 29 (фаза накопления данных)
Наш опыт говорит о том, что что «кандидатом» на особый случай является выход значения за ±2G
![Page 21: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/21.jpg)
Причины особых случаев и их устранение
• Поиск причин особых случаев• Принятие мер по их недопущению в будущем • Понимание того, что причина, приведшая к особому
случаю, есть следствие неуправляемых событий или свершившихся рисков, которые наступили и больше не ожидаются
При расчете новых границ и среднего значения контролируемого параметра процесса использовать значение особого случая нельзя (если причина особого случая выявлена и устранена), т.к. в противном случае мы получим неоправданно широкие возможные границы параметра
![Page 22: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/22.jpg)
Количественное управление
Меры могут быть следующие:• Изменение по согласованию с
заказчиком установленных целей• Улучшение выполнения
существующего процесса для уменьшения размаха process capability
• Введение новых процессных элементов, которые могут обеспечить нужные значения контролируемого параметра процесса
• Вычисленные ранее естественные границы процесса (process capability, или голос процесса) на этом шаге сравниваются с установленными целями по значению контролируемого параметра (objectives, или голос заказчика).
• Если голос процесса удовлетворяет голосу заказчика, то ничего предпринимать не надо
• Если же нет, то необходимо выработать меры по согласованию process capability и customer voice.
![Page 23: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/23.jpg)
Пример распределения метрики SDD (1)
Параметры процесса не обеспечивают полностью достижение проектной цели
Корректирующие действия
![Page 24: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/24.jpg)
Причины выхода за “голос заказчика”
Причины Примеры коррекции
Слабая квалификация разработчиков
Обучение, замена
Высокие требования заказчика Договориться о снижении требований, повысить показатели
Высокое качество тестирования Не требуется дополнительных действий
Отсутствие анализа кода Внедрить анализ кода или любое дополнительное статическое тестирование - peer review объектов
…………….. ……………..
![Page 25: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/25.jpg)
Пример распределения метрики SDD (2)
Параметры процесса (при гарантии его неизменности) с вероятностью около 100% обеспечивают достижение проектной цели
![Page 26: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/26.jpg)
Преимущества использования SPC
• Проактивный подход- своевременно предпринимаются корректирующие/ предупреждающие действия
• Импульс для улучшения процесса
• После внесения изменений в процесс, можно объективно оценить, стал ли процесс “лучше” или “хуже”
• Возможность прогнозирования конечного результата
![Page 27: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/27.jpg)
Корреляция метрик
Примеры пар метрик, корреляцию которых организации может быть полезно получать:
• плотность дефектов после передачи программного продукта в Production и плотность дефектов до передачи программного продукта в Production
• высокие оценки качества проектных аудитов и признание заказчиком проекта как успешного
Корреляция метрик помогает на более раннем этапе проекта выявить проблемы и предпринять корректирующие действия
![Page 28: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/28.jpg)
Корреляция метрик- прогнозирование результата (1)
![Page 29: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/29.jpg)
Корреляция метрик- прогнозирование результата (2)
• Параметр r (множественный коэффициент корреляции/ множественное r/ коэффициент корреляции Пирсона) – характеризует тесноту связи между зависимой переменной и предиктором
• Параметр r2 (квадрат множественного коэффициента корреляции/ множественный коэффициент детерминации) – коэффициент, показывающий, какая доля дисперсии результативного признака объясняется влиянием независимых переменных
• Параметр Р – статистическая значимость коэффициента корреляции (например, для уровня значимости 0.05 вероятность ошибки 5 %)
• Проведенная прямая называется прямой регрессии или прямой, построенной методом наименьших квадратов
![Page 30: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/30.jpg)
Количественное управление результатами аудитов
Позволяет продемонстрировать:• Оценку качества выполнения проекта в целом• Текущую оценку проекта
![Page 31: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/31.jpg)
Quantitative Dashboard (1)
Главное меню Массив данных
Особый случай
![Page 32: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/32.jpg)
Quantitative Dashboard (2)
Пример построения контрольной карты
![Page 33: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/33.jpg)
Quantitative Dashboard (3)
Пример распределения сдвига значений (Moving range) Пример гистограммы
![Page 34: Количественное управление процессом тестирования](https://reader035.vdocuments.mx/reader035/viewer/2022081414/54c2e4ba4a79599d628b4595/html5/thumbnails/34.jpg)
Спасибо за внимание!
Вопросы?