alexandrov alex quality

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

Upload: sef2009

Post on 28-Nov-2014

743 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Alexandrov Alex Quality

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

Люксофт

Page 2: Alexandrov Alex Quality

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

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

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

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

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

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

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

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

Page 3: Alexandrov Alex Quality

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

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

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

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

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

Page 4: Alexandrov Alex Quality

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

Page 5: Alexandrov Alex Quality

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

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

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

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

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

Page 6: Alexandrov Alex Quality

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

Page 7: Alexandrov Alex Quality

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

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

efficiency).

Page 8: Alexandrov Alex Quality

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

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

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

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

Page 9: Alexandrov Alex Quality

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

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

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

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

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

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

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

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

Page 10: Alexandrov Alex Quality

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

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

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

Для идентификации основных процессов применяются следующие критерии:

– стратегическое значение,– создание воспринимаемой Заказчиками

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

Page 11: Alexandrov Alex Quality

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

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

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

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

Page 12: Alexandrov Alex Quality

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

Процесс нестабильный ─ управлять нельзя

Необходимы корректирующие действия

Page 13: Alexandrov Alex Quality

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

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

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

Обучение

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

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

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

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

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

Page 14: Alexandrov Alex Quality

Критерии выбора метрик

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

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

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

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

Page 15: Alexandrov Alex Quality

Метрики в тестировании

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

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

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

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

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

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

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

Page 16: Alexandrov Alex Quality

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

Page 17: Alexandrov Alex Quality

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

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

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

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

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

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

Page 18: Alexandrov Alex Quality

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

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

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

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

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

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

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

Page 19: Alexandrov Alex Quality

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

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

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

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

Page 20: Alexandrov Alex Quality

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

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

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

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

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

Page 21: Alexandrov Alex Quality

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

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

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

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

Page 22: Alexandrov Alex Quality

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

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

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

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

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

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

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

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

Page 23: Alexandrov Alex Quality

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

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

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

Page 24: Alexandrov Alex Quality

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

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

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

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

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

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

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

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

Page 25: Alexandrov Alex Quality

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

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

Page 26: Alexandrov Alex Quality

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

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

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

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

Page 27: Alexandrov Alex Quality

Корреляция метрик

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

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

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

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

Page 28: Alexandrov Alex Quality

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

Page 29: Alexandrov Alex Quality

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

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

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

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

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

Page 30: Alexandrov Alex Quality

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

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

Page 31: Alexandrov Alex Quality

Quantitative Dashboard (1)

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

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

Page 32: Alexandrov Alex Quality

Quantitative Dashboard (2)

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

Page 33: Alexandrov Alex Quality

Quantitative Dashboard (3)

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

Page 34: Alexandrov Alex Quality

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

Вопросы?