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