Количественное управление процессом тестирования Александр Александров, Анатолий Галай, Ясна Милькова Люксофт
Содержание Анализ современных методов количественного и статистического управления процессами разработки программного обеспечения – Количественное и статистическое управление в CMMI – Метрики в проектах – Определение возможностей процесса (Process capability Baseline) – Статистический анализ в проекте и количественное управление (на примере процесса тестирования и метрики плотность дефектов) Методы анализа данных – Метод прогнозирования количества дефектов, которые будут обнаружены заказчиком при эксплуатации программного продукта – Метод интерпретации количественных результатов аудитов проектов Среда визуализации данных количественного управления проектами- Quantitative Dashboard (QD)
Cтатистическое управление Статистическое управление (SPC) – это использование статистических методов для обработки и оценки результатов измерений параметров процессов в проекте. В результате применения таких методов становится возможным: определять границы, в которых могут находиться значения параметра, если подпроцесс выполняется штатно (т.е. предсказывать значение параметра подпроцесса), определять значения контролируемого параметра, которые являются следствием воздействия каких-то особенных (одномоментных) причин.
Последовательность проведения SPC
Количественное управление Количественное управление (QPC) – это процесс использования данных проектных измерений, обработанных с помощью статистического управления под процессами (или каких-то других методов) для: определения того, обеспечат ли текущие значения параметра процесса выполнение требований к нему в конце проекта, если текущие результаты не дают уверенности в выполнении конечных требований, то определение корректирующих действий, которые должны быть предприняты для обеспечения достижения установленных целей, последующего контроля эффективности предпринятых мер.
Последовательность проведения QPC
Метрики в проектах (ключевые) Производительность кодирования команды, Плотность дефектов до поставки, Плотность дефектов после поставки, Индекс отклонения от календарного плана(SPI), Индекс отклонения трудозатрат (CPI), Общие удельные трудозатраты (Development efficiency).
Процесс измерения проектов Определить набор метрик, которые интересуют организацию Дать однозначные определения всем метрикам Определить круг инструментов, с помощью которых можно получать эти метрики воспроизводимо и однозначно Собрать историческую информацию по этим метрикам Статистически ее обработать, в результате чего разработать PCB Ставить количественные цели для процессов (процессов) На регулярной основе проводить мониторинг метрик Анализировать метрики Регулярно пересматривать PCB (если необходимо) в разумные периоды времени (например, ежегодно) для постановки новых количественных целей либо при изменении процесса
Границы возможностей процесса (Process Capability Baseline) Цели создания PCB: – Накопление истории измерений – Определение возможностей процесса – Основа для прогнозирования возможностей процесса PCB в Люксофте – Основана на бизнес- целях компании – Ежегодно актуализируется
Выбор процессов для управления (1) Желательно, чтобы выбранный подпроцесс был одним из основных процессов жизненного цикла Основные процессы– это процессы, определяющие основные результаты деятельности компании. Для идентификации основных процессов применяются следующие критерии: – стратегическое значение, – создание воспринимаемой Заказчиками пользы, – ориентация на Заказчика.
Выбор процессов для управления (2) Важно, чтобы во время выполнения проекта количество моментов времени для корректного измерения параметров процессов, подлежащих статистическому управлению, было достаточно большим Подпроцесс, выбираемый для статистического управления, должен иметь достаточно стабильные значения характеризующих его параметров при выполнении данного подпроцесса по установленным правилам Как правило, подпроцесс тестирования отвечает вышеприведенным критериям.
Выбор процессов для управления (3) Процесс нестабильный управлять нельзя Необходимы корректирующие действия
Причины нестабильности процесса Причины Примеры коррекции Низкая квалификация персонала Обучение Нарушение требований процессов Внеочередные аудиты качества и эскалация проблем Отсутствие поставленных процессов Постановка процессов …………….
Критерии выбора метрик Выбранные метрики должны отражать главные, ключевые характеристики процесса Выбранные метрики должны отражать выполнение как минимум одной из целей проекта Метрики должны быть самым полным образом определены, должно быть ясно, каким образом метрики будут собираться и вычисляться Метрики должны позволять использование статистических методов для их анализа
Метрики в тестировании Плотность дефектов (SDD = Число дефектов / Размер кода) Плотность дефектов после поставки (PDDD = Число дефектов после поставки / Размер кода) Доля отклоненных дефектов (DDR = Число отклоненных дефектов / Число дефектов ) «Убойность» тестов (DP = Число дефектов / Число тестов) Эффективность тестирования (TE = Число дефектов / Трудозатраты тестирования) Доля покрытия требований (RCR = Число требований, покрытых тестами / Число требований) Плотность покрытия требований (RCD = Число тестов / Число требований) Доля повторно открытых дефектов (RDR = Число повторно открытых дефектов / Число дефектов ) И много-много других …
Выбор аналитических техник. Контрольные карты XmR (1)
Выбор аналитических техник. Контрольные карты XmR (2) XmR chart (контрольные карты) - это массив данных, где точки располагаются в хронологическом порядке XmR chart включает 2 вида диаграмм: – Individual - контрольная карта размаха (массив измеряемых данных, где точки располагаются в хронологическом порядке) – Moving Range - контрольная карта скользящего размаха (массив данных сдвига между двумя точками измерений) UCL - верхняя контрольная граница CL - среднее LCL - нижняя контрольная граница
Сбор выбранных метрик и статистическая обработка результатов Измерения по установленным правилам Расчет на основе производных метрик, которые впоследствии подвергаются статистическому анализу Расчет среднего значения и границ верхнего и нижнего пределов при получении каждого нового значения метрики Отображение полученных результатов на контрольной карте и анализ стабильности процессов на их основе Последние два действия могут выполняться с помощью специальных программных инструментов, реализующих алгоритм расчета контрольных карт. Нами разработан инструмент для расчета и вывода на диаграмму параметров исследуемых метрик по алгоритму XmR
Определение особых случаев (1) Особый случай – это попадание значения контролируемой метрики за пределы границ, вычисленных с помощью контрольной карты или «особое», необычное поведение последовательности значений метрики, свидетельствующее о ее неслучайном поведении. Число значений
Определение особых случаев (2) Число значений >29 (фаза полноценного SPC) Используется канонический способ определения особых случаев (> ±3G) Число значений от 3 до 29 (фаза накопления данных) Наш опыт говорит о том, что что «кандидатом» на особый случай является выход значения за ±2G
Причины особых случаев и их устранение Поиск причин особых случаев Принятие мер по их недопущению в будущем Понимание того, что причина, приведшая к особому случаю, есть следствие неуправляемых событий или свершившихся рисков, которые наступили и больше не ожидаются При расчете новых границ и среднего значения контролируемого параметра процесса использовать значение особого случая нельзя (если причина особого случая выявлена и устранена), т.к. в противном случае мы получим неоправданно широкие возможные границы параметра
Количественное управление Меры могут быть следующие: Изменение по согласованию с заказчиком установленных целей Улучшение выполнения существующего процесса для уменьшения размаха process capability Введение новых процессных элементов, которые могут обеспечить нужные значения контролируемого параметра процесса Вычисленные ранее естественные границы процесса (process capability, или голос процесса) на этом шаге сравниваются с установленными целями по значению контролируемого параметра (objectives, или голос заказчика). Если голос процесса удовлетворяет голосу заказчика, то ничего предпринимать не надо Если же нет, то необходимо выработать меры по согласованию process capability и customer voice.
Пример распределения метрики SDD (1) Параметры процесса не обеспечивают полностью достижение проектной цели Корректирующие действия
Причины выхода за голос заказчика Причины Примеры коррекции Слабая квалификация разработчиков Обучение, замена Высокие требования заказчика Договориться о снижении требований, повысить показатели Высокое качество тестирования Не требуется дополнительных действий Отсутствие анализа кода Внедрить анализ кода или любое дополнительное статическое тестирование - peer review объектов ……………..
Пример распределения метрики SDD (2) Параметры процесса (при гарантии его неизменности) с вероятностью около 100% обеспечивают достижение проектной цели
Преимущества использования SPC Проактивный подход- своевременно предпринимаются корректирующие/ предупреждающие действия Импульс для улучшения процесса После внесения изменений в процесс, можно объективно оценить, стал ли процесс лучше или хуже Возможность прогнозирования конечного результата
Корреляция метрик Примеры пар метрик, корреляцию которых организации может быть полезно получать: плотность дефектов после передачи программного продукта в Production и плотность дефектов до передачи программного продукта в Production высокие оценки качества проектных аудитов и признание заказчиком проекта как успешного Корреляция метрик помогает на более раннем этапе проекта выявить проблемы и предпринять корректирующие действия
Корреляция метрик- прогнозирование результата (1)
Корреляция метрик- прогнозирование результата (2) Параметр r (множественный коэффициент корреляции/ множественное r/ коэффициент корреляции Пирсона) – характеризует тесноту связи между зависимой переменной и предиктором Параметр r2 (квадрат множественного коэффициента корреляции/ множественный коэффициент детерминации) – коэффициент, показывающий, какая доля дисперсии результативного признака объясняется влиянием независимых переменных Параметр Р – статистическая значимость коэффициента корреляции (например, для уровня значимости 0.05 вероятность ошибки 5 %) Проведенная прямая называется прямой регрессии или прямой, построенной методом наименьших квадратов
Количественное управление результатами аудитов Позволяет продемонстрировать: Оценку качества выполнения проекта в целом Текущую оценку проекта
Quantitative Dashboard (1) Главное меню Массив данных Особый случай
Quantitative Dashboard (2) Пример построения контрольной карты
Quantitative Dashboard (3) Пример распределения сдвига значений (Moving range) Пример гистограммы
Спасибо за внимание! Вопросы?