34
Количественное управление процессом тестирования Александр Александров, Анатолий Галай, Ясна Милькова Люксофт

Александр Александров

  • Upload
    sqalab

  • View
    1.121

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Александр Александров

Количественное управление процессом тестированияАлександр Александров, Анатолий Галай, Ясна Милькова

Люксофт

Page 2: Александр Александров

Содержание• Анализ современных методов количественного и статистического

управления процессами разработки программного обеспечения – Количественное и статистическое управление в CMMI– Метрики в проектах– Определение возможностей процесса (Process capability

Baseline)– Статистический анализ в проекте и количественное

управление (на примере процесса тестирования и метрики плотность дефектов)

• Методы анализа данных– Метод прогнозирования количества дефектов, которые будут

обнаружены заказчиком при эксплуатации программного продукта

– Метод интерпретации количественных результатов аудитов проектов

• Среда визуализации данных количественного управления проектами- Quantitative Dashboard (QD)

Page 3: Александр Александров

Cтатистическое управление

• Статистическое управление (SPC) – это использование статистических методов для обработки и оценки результатов измерений параметров процессов в проекте.

• В результате применения таких методов становится возможным:• определять границы, в которых могут находиться

значения параметра, если подпроцесс выполняется штатно (т.е. предсказывать значение параметра подпроцесса),

• определять значения контролируемого параметра, которые являются следствием воздействия каких-то особенных (одномоментных) причин.

Page 4: Александр Александров

Последовательностьпроведения SPC

Page 5: Александр Александров

Количественное управление

• Количественное управление (QPC) – это процесс использования данных проектных измерений, обработанных с помощью статистического управления подпроцессами (или каких-то других методов) для:

• определения того, обеспечат ли текущие значения параметра процесса выполнение требований к нему в конце проекта,

• если текущие результаты не дают уверенности в выполнении конечных требований, то определение корректирующих действий, которые должны быть предприняты для обеспечения достижения установленных целей,

• последующего контроля эффективности предпринятых мер.

Page 6: Александр Александров

Последовательностьпроведения QPC

Page 7: Александр Александров

Метрики в проектах (ключевые)

• Производительность кодирования команды,• Плотность дефектов до поставки, • Плотность дефектов после поставки, • Индекс отклонения от календарного плана(SPI),• Индекс отклонения трудозатрат (CPI),• Общие удельные трудозатраты (Development

efficiency).

Page 8: Александр Александров

Процесс измерения проектов

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

получать эти метрики воспроизводимо и однозначно• Собрать историческую информацию по этим метрикам• Статистически ее обработать, в результате чего разработать PCB• Ставить количественные цели для процессов (подпроцессов)• На регулярной основе проводить мониторинг метрик• Анализировать метрики • Регулярно пересматривать PCB (если необходимо) в разумные

периоды времени (например, ежегодно) для постановки новых количественных целей либо при изменении процесса

Page 9: Александр Александров

Границы возможностей процесса (Process Capability Baseline)

• Цели создания PCB:– Накопление истории

измерений– Определение

возможностей процесса– Основа для

прогнозирования возможностей процесса

• PCB в Люксофте– Основана на бизнес-

целях компании– Ежегодно

актуализируется

Page 10: Александр Александров

Выбор подпроцессов для управления (1)

• Желательно, чтобы выбранный подпроцесс был одним из основных подпроцессов жизненного цикла

Основные процессы– это процессы, определяющие основные результаты деятельности компании. Для идентификации основных процессов

применяются следующие критерии: – стратегическое значение,– создание воспринимаемой Заказчиками

пользы,– ориентация на Заказчика.

Page 11: Александр Александров

Выбор подпроцессов для управления (2)

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

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

Как правило, подпроцесс тестирования отвечает вышеприведенным критериям.

Page 12: Александр Александров

Выбор подпроцессов для управления (3)

Процесс нестабильный ─ управлять нельзяНеобходимы корректирующие действия

Page 13: Александр Александров

Причины нестабильности процесса

Причины Примеры коррекции

Низкая квалификация персонала

Обучение

Нарушение требований процессов

Внеочередные аудиты качества и эскалация проблем

Отсутствие поставленных процессов

Постановка процессов

……………. …………….

Page 14: Александр Александров

Критерии выбора метрик• Выбранные метрики должны отражать главные, ключевые

характеристики процесса• Выбранные метрики должны отражать выполнение как минимум

одной из целей проекта• Метрики должны быть самым полным образом определены,

должно быть ясно, каким образом метрики будут собираться и вычисляться

• Метрики должны позволять использование статистических методов для их анализа

Page 15: Александр Александров

Метрики в тестировании• Плотность дефектов (SDD = Число дефектов / Размер кода)• Плотность дефектов после поставки (PDDD = Число дефектов после

поставки / Размер кода)• Доля отклоненных дефектов (DDR = Число отклоненных дефектов /

Число дефектов )• «Убойность» тестов (DP = Число дефектов / Число тестов)• Эффективность тестирования (TE = Число дефектов / Трудозатраты

тестирования)• Доля покрытия требований (RCR = Число требований, покрытых

тестами / Число требований)• Плотность покрытия требований (RCD = Число тестов / Число

требований)• Доля повторно открытых дефектов (RDR = Число повторно открытых

дефектов / Число дефектов )• И много-много других …

Page 16: Александр Александров

Выбор аналитических техник. Контрольные карты XmR (1)

Page 17: Александр Александров

Выбор аналитических техник. Контрольные карты XmR (2)

• XmR chart (контрольные карты) - это массив данных, где точки располагаются в хронологическом порядке

• XmR chart включает 2 вида диаграмм:– Individual - контрольная карта размаха (массив

измеряемых данных, где точки располагаются в хронологическом порядке)

– Moving Range - контрольная карта скользящего размаха (массив данных сдвига между двумя точками измерений)

• UCL - верхняя контрольная граница• CL - среднее• LCL - нижняя контрольная граница

Page 18: Александр Александров

Сбор выбранных метрик и статистическая обработка

результатов• Измерения по установленным правилам • Расчет на основе производных метрик, которые

впоследствии подвергаются статистическому анализу• Расчет среднего значения и границ верхнего и нижнего

пределов при получении каждого нового значения метрики• Отображение полученных результатов на контрольной

карте и анализ стабильности процессов на их основе

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

• Нами разработан инструмент для расчета и вывода на диаграмму параметров исследуемых метрик по алгоритму XmR

Page 19: Александр Александров

Определение особыхслучаев (1)

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

Число значений <3

Особые случаи не определяются

Page 20: Александр Александров

Определение особыхслучаев (2)

Число значений >29 (фаза полноценного SPC)

Используется канонический способ определения особых случаев (> ±3G)

Число значений от 3 до 29 (фаза накопления данных)

Наш опыт говорит о том, что что «кандидатом» на особый случай является выход значения за ±2G

Page 21: Александр Александров

Причины особых случаев и их устранение

• Поиск причин особых случаев• Принятие мер по их недопущению в будущем • Понимание того, что причина, приведшая к особому

случаю, есть следствие неуправляемых событий или свершившихся рисков, которые наступили и больше не ожидаются

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

Page 22: Александр Александров

Количественное управление

Меры могут быть следующие:• Изменение по согласованию с

заказчиком установленных целей• Улучшение выполнения

существующего процесса для уменьшения размаха process capability

• Введение новых процессных элементов, которые могут обеспечить нужные значения контролируемого параметра процесса

• Вычисленные ранее естественные границы процесса (process capability, или голос процесса) на этом шаге сравниваются с установленными целями по значению контролируемого параметра (objectives, или голос заказчика).

• Если голос процесса удовлетворяет голосу заказчика, то ничего предпринимать не надо

• Если же нет, то необходимо выработать меры по согласованию process capability и customer voice.

Page 23: Александр Александров

Пример распределения метрики SDD (1)

Параметры процесса не обеспечивают полностью достижение проектной цели

Корректирующие действия

Page 24: Александр Александров

Причины выхода за “голос заказчика”

Причины Примеры коррекции

Слабая квалификация разработчиков

Обучение, замена

Высокие требования заказчика Договориться о снижении требований, повысить показатели

Высокое качество тестирования Не требуется дополнительных действий

Отсутствие анализа кода Внедрить анализ кода или любое дополнительное статическое тестирование - peer review объектов

…………….. ……………..

Page 25: Александр Александров

Пример распределения метрики SDD (2)

Параметры процесса (при гарантии его неизменности) с вероятностью около 100% обеспечивают достижение проектной цели

Page 26: Александр Александров

Преимущества использования SPC

• Проактивный подход- своевременно предпринимаются корректирующие/ предупреждающие действия

• Импульс для улучшения процесса• После внесения изменений в процесс, можно объективно

оценить, стал ли процесс “лучше” или “хуже” • Возможность прогнозирования конечного результата

Page 27: Александр Александров

Корреляция метрикПримеры пар метрик, корреляцию которых организации может быть полезно получать:

• плотность дефектов после передачи программного продукта в Production и плотность дефектов до передачи программного продукта в Production

• высокие оценки качества проектных аудитов и признание заказчиком проекта как успешного

Корреляция метрик помогает на более раннем этапе проекта выявить проблемы и предпринять корректирующие действия

Page 28: Александр Александров

Корреляция метрик- прогнозирование результата (1)

Page 29: Александр Александров

Корреляция метрик- прогнозирование результата (2)

• Параметр r (множественный коэффициент корреляции/ множественное r/ коэффициент корреляции Пирсона) – характеризует тесноту связи между зависимой переменной и предиктором

• Параметр r2 (квадрат множественного коэффициента корреляции/ множественный коэффициент детерминации) – коэффициент, показывающий, какая доля дисперсии результативного признака объясняется влиянием независимых переменных

• Параметр Р – статистическая значимость коэффициента корреляции (например, для уровня значимости 0.05 вероятность ошибки 5 %)

• Проведенная прямая называется прямой регрессии или прямой, построенной методом наименьших квадратов

Page 30: Александр Александров

Количественное управление результатами аудитов

Позволяет продемонстрировать:• Оценку качества выполнения проекта в целом• Текущую оценку проекта

Page 31: Александр Александров

Quantitative Dashboard (1)

Главное меню Массив данных

Особый случай

Page 32: Александр Александров

Quantitative Dashboard (2)

Пример построения контрольной карты

Page 33: Александр Александров

Quantitative Dashboard (3)

Пример распределения сдвига значений (Moving range) Пример гистограммы

Page 34: Александр Александров

Спасибо за внимание!

Вопросы?