126
Anton Semenchenko Метрики Автоматизированного тестирования на пальцах

Метрики автоматизированного тестирования на пальцах

  • Upload
    sqalab

  • View
    2.934

  • Download
    8

Embed Size (px)

Citation preview

Page 1: Метрики автоматизированного тестирования на пальцах

Anton Semenchenko

Метрики Автоматизированного

тестирования на пальцах

Page 2: Метрики автоматизированного тестирования на пальцах

About Организатор сообществ www.COMAQA.BY и www.CoreHard.by, учередитель компании www.DPI.Solutions, «хитрый» менеджер в EPAM Systems. Почти 15 лет опыта в IT, основная специализация: Автоматизированное тестирование, разработка на С++ и ниже, менеджмент, продажи.

Page 3: Метрики автоматизированного тестирования на пальцах

Agenda, part 1 (введение)• QA и QC• Определение понятия метрика• Потенциальные сложности• Где взять данные для рассчета метрик?• Алгоритм трансформации данных в информацию• Источники данных для рассчета метрик• Взаимосвязь метрик• Светофор – метрик• Эквалайзер - метрик• «Пожарные» метрики

Page 4: Метрики автоматизированного тестирования на пальцах

Agenda, part 2 (основная)• 3 вида классификации метрик• Классификация с точки зрения тех специалистов• Классификация с точки зрения бизнеса• Классификация с точки зрения менеджмента на

стороне исполнителя• Важность классификации• Стандартные QA Риски как вариант

классификации метрик• 2 вида проектов• Ниболее популярные метрики АТ• Метрики – пожарные извещатели• Ниболее популярные метрики общие как для

Ручного, так и для Автоматизированного тестирования

• Метрики личной эффективности• Как выбрать и использовать набор метрик?

Page 5: Метрики автоматизированного тестирования на пальцах

Agenda, part 3 (заключение)• «Увлекательные» истории• “Актуальность” информации• “Источники” информации• “Take away” points• Что дальше?• «Внеклассное чтение»

Page 6: Метрики автоматизированного тестирования на пальцах

QA и QC• Контроль качества (QC) — это измерение

параметров качества продукта

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

Page 7: Метрики автоматизированного тестирования на пальцах

Метрика• Метрика программного обеспечения — мера,

позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций.

• Метрика – как механизм обратной связи• Том ДеМарко, «вы не можете контролировать

то, что не можете измерить».

Page 8: Метрики автоматизированного тестирования на пальцах

Потенциальные сложности• Что такое качество тестирования?• Не тривиальный вопрос, очень комплексное

понятие.• Успеваем ли мы уложиться в проектные

ограничения?• Дата Релиза• Бюджет

Page 9: Метрики автоматизированного тестирования на пальцах

Потенциальные сложности• Как можно улучшить процесс тестирования и

разработки ПО в целом?• Успешна ли АТ, текущий статус АТ, не

отклонились ли мы от намеченной траектории• И многие другие

Page 10: Метрики автоматизированного тестирования на пальцах

Где взять данные?• Этот вопрос регулярно задают не только

молодые, но и опытные специалисты. Пример: фактически, значимая часть панельной дискусии на конференции CodeFest 2016, посвященная метрикам тестирования, была сфокусирована на вопросе «Где взять данные?»

Page 11: Метрики автоматизированного тестирования на пальцах

Трансформация• Трансформация:• Данные• =>• Информация (фильтрация данных)• =>• Визуализация информации (сложение,

вычитание, деление)• =>• Работа с «Трендом»

• Примеры:• Биржа• Любой BigData проект

Page 12: Метрики автоматизированного тестирования на пальцах

Где взять данные?• Test Plan• Test Reports• Continues Integration (CI)• Bug Tracking Systems• Task Tracking Systems• Test Management Systems (TMS)• Test Strategy• Другие источники

Page 13: Метрики автоматизированного тестирования на пальцах

Взаимосвязь метрик

Page 14: Метрики автоматизированного тестирования на пальцах

Светофор - метрик• Светофор – как способ максимально быстро

получить актуальную высокоуровневую информацию о проекте. Многие метрики можно и нужно использовать в стиле «светофор».

• Красный – надо срочно обратить детальное внимание

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

• Зеленый – не требует вмешательства\внимания

Page 15: Метрики автоматизированного тестирования на пальцах

Эквалайзер - метрик• The power of music (Metrics )

Page 16: Метрики автоматизированного тестирования на пальцах

«Пожарные» метрики

Page 17: Метрики автоматизированного тестирования на пальцах

«Пожарные» метрики• Если процесс разработки и тестирования ПО

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

• Если же процесс разработки и тестирования ПО не эффективен – что бы мы ни делали, какими бы замечательными отдельные показатели не были, проект прочти наверняка «провалится».

• «Пожарные» метрики + принцип светофора + принцип эквалайзера – дают гарантию того, что процесс разработки приемлемо высокого качества.

Page 18: Метрики автоматизированного тестирования на пальцах

Классификация (IT stuff)• Классификация по «областям»• Качество Продукта (Quality)• Прогресс той или иной активности в тестировании

(Progress)• Покрытие (Coverage)• Цена / время (Cost / time)• Процесс обеспечения качества и разработки в

целом (Process)

Page 19: Метрики автоматизированного тестирования на пальцах

Классификация (Business)• Классификация «Что должно быть

исправлено в первую очередь»• Качество Продукта (Quality)• Время тестирования продукта / впуска продукта

(Time)• Стоимость тестирования продукта (Costs/efforts)• Прозрачность тестирования продукта (Testing

visibility)• Автоматизация тестирования (Test automation

approach)

Page 20: Метрики автоматизированного тестирования на пальцах

К-я менеджмента• Классификация менеджмента• Метрики – пожарные извещатели• Все остальные метрики

Page 21: Метрики автоматизированного тестирования на пальцах

3 варианта классификации?• Классификация с точки зрения технического

специалиста / исполнителя• Классификация с точки зрения заказчика• Классификация с точки зрения менеджмента

• Любая классификация не идеальна и рассматривает «поблемную» область под определенным углом зрения

• Метрика – инструмент• А классификация – инструмент для эффективной

работы с инструментом-метрикой

Page 22: Метрики автоматизированного тестирования на пальцах

Важность классификации

Page 23: Метрики автоматизированного тестирования на пальцах

2 вида проектов?• Outsourcing

• Own product development

Page 24: Метрики автоматизированного тестирования на пальцах

Метрики АТ• Процент тестов, поддающихся автоматизации

(ППА)• Прогресс автоматизации (ПА)• Процент покрытия автоматизированными тестами

(ПП АТ)• Частота проведения регрессии (ЧР)• Стабильность Автоматизированных Тестов (САТ)• Колличество дефектов, на Автоматизированный

Тест (ДАТ)

Page 25: Метрики автоматизированного тестирования на пальцах

Метрики АТ• Окно автоматизации тестирования• Окно анализа результатов тестирования

• Время на создание автоматизированного теста• Время на поддержку автоматизированного теста• Экономическая целесообразность АТ (ROI)

Page 26: Метрики автоматизированного тестирования на пальцах

% т, поддающихся А (ППА)• Определение• Процент тестов, поддающихся автоматизации

= # тест кейсов которые можно автоматизировать (ПА) / # общее количество тест кейсов (ОТК)

• «Физический смысл»• Отражает адаптированность приложения к

автоматизированному тестированию с точки зрения технологий и архитектуры

Page 27: Метрики автоматизированного тестирования на пальцах

% т, поддающихся А (ППА)• Границы• Для большинства относительно новых

приложений этот параметр, как правило, превышает 90%

• Где взять информацию• Информация получается на базе тест-плана и

экспертной оценки

Page 28: Метрики автоматизированного тестирования на пальцах

% т, поддающихся А (ППА)• Примеры• Mature Data Protection Solution, new SQL Denali

plug-in, close to 100%;• Mature Secure VPN (Russian), технологический

стек;• Социальные сети (Facebook, Bamboo), CMS,

шаблоны для CMS - до появления средств автоматизации визуального тестирования процент автоматизируемых тестов был относительно невысок;

• MS и Google;

Page 29: Метрики автоматизированного тестирования на пальцах

% т, поддающихся А (ППА)• Визуализация• Более 90% - зеленый цвет• От 70% до 90% - желтый цвет• Менее 70% - красный цвет

• Связь с другими метриками• Прогресс автоматизации (ПА)• Процент покрытия автоматизированными

тестами (ПП АТ)

• Категория:• Качество• Автоматизация тестирования

Page 30: Метрики автоматизированного тестирования на пальцах

Прогресс А (ПА)• Определение• Прогресс автоматизации (ПА) = # количество

автоматизированных на данный момент тест кейсов (АТК) / # общее количество тест кейсов автоматизации (ОАТК)

• «Физический смысл»• Отражение статуса во времени для понимания

достижимости или недостижимости поставленных целей

• Как много тест кейсов команда покрыла Автоматизацией в течении последней итерации (Sprint, Release)? Способ убедиться в том, что текущий прогресс позволяет достичь намеченных целей до Deadline-а

Page 31: Метрики автоматизированного тестирования на пальцах

Прогресс А (ПА)• Границы• Границы: 0 – 100%

• Где взять информацию• Test Plan• Test Reports• Continues Integration (CI)• Test Management Systems (TMS)

Page 32: Метрики автоматизированного тестирования на пальцах

Прогресс А (ПА)• Примеры• Mature Secure VPN (Russian), технологический

стек;

Page 33: Метрики автоматизированного тестирования на пальцах

Прогресс А (ПА)• Визуализация• Круговая диаграмма (2 типа):• Общее колличество запланированных для

Автоматизации тестов к уже реализованным• Общее колличество запланированных часов к

уже использованному

Page 34: Метрики автоматизированного тестирования на пальцах

Прогресс А (ПА)• Связь с другими метриками• Процент покрытия автоматизированными

тестами (ПП АТ);• Колличество найденных дефектов на

Автоматизированный тест;• Окно Автоматизации Тестирования;• Окно Анализа результатов;• Экономическая целесообразность АТ (ROI);

• Категория:• Прогресс• Автоматизация тестирования

Page 35: Метрики автоматизированного тестирования на пальцах

% покрытия АТ (coverage)• Определение• Процент покрытия автоматизированными

тестами (ПП АТ) = Покрытие автоматизированными тестами (ПАТ) / Общее покрытие (ОП) (KLOC, FP, etc.)

• Метрику можно «интерпретировать» очень по-разному

Page 36: Метрики автоматизированного тестирования на пальцах

% покрытия АТ (ПП АТ)• «Физический смысл»• Данная метрика помогает выявить, насколько

«эффективна» / «разумна» автоматизация.• Выявить, какие тесты стоит

Автоматизировать в первую очередь (например, начать со Smoke и Regression, если эти тест кейсы достаточно формализованы) и сравнить с текущим покрытием (подразумевается что АТ запускаются регулярно и выявляют дефекты).

• Удостовериться, в том, что Автоматизированные тесты проверяют именно то, что должны проверять.

Page 37: Метрики автоматизированного тестирования на пальцах

% покрытия АТ (ПП АТ)• Границы• Границы: 0 – 100%

• Где взять информацию• Test Reports• Continues Integration (CI)• Test Management Systems (TMS)

Page 38: Метрики автоматизированного тестирования на пальцах

% покрытия АТ (ПП АТ)• Примеры• Mature Data Protection Solution, new SQL Denali

plug-in, close to 100%;• MS and Windows Millennium• Data Protection Giant and Automation

Page 39: Метрики автоматизированного тестирования на пальцах

% покрытия АТ (ПП АТ)• Визуализация• Термин test coverage matrix и traceability matrix

взаимозаменяемы в большинстве случаев• Karen Johnson's использовать trace matrix как

индикатор test coverage.

• Связь с другими метриками• Процент покрытия автоматизированными

тестами (ПП АТ);• Прогресс Автоматизации

• Категория:• Покрытие• Автоматизация тестирования

Page 40: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР)• Определение• Частота проведения регрессии (ЧР) = Как

часто проводится автоматизированная регрессия?

• «Физический смысл»• Чем выше частота использования продукта,

тем выше его ценность. Это касается и автоматизированных тестов, чем выше частота регрессии, а соответственно и частота прогонов автотестов, тем выше их ценность для заказчика. Таким образом данная метрика является одной из ключевых при оценке ROI автоматизации тестирования.

Page 41: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР)• Границы• Широкораспространенные границы /

рекомендации:o smoke - каждую ночьo full-regression - каждые выходные

• Где взять информацию• Automation reports• Continuous Integration (CI)

Page 42: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР)• Примеры• ЧР и Экономическая целесообразность АТ (ROI);• Facebook и Bamboo• Kanban, ЧР, опыт WG• Доведенные до «абсолюта» «рекоммендации»• «Окно commit-а»

Page 43: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР)• Визуализация• Не реже чем 1 раз в неделю - зеленый цвет• Не реже чем 1 раз в 2 недели - желтый цвет• Реже чем 1 раз в месяц - красный цвет• Чаще чем раз в день - красный цвет

• Связь с другими метриками• Экономическая целесообразность АТ (ROI);• Окно автоматизации тестирования;• Окно анализа результатов тестирования; • “Окно commit-а“

• Категория:• Качество• Автоматизация тестирования

Page 44: Метрики автоматизированного тестирования на пальцах

Стабильность АТ• Определение• Стабильность Автоматизированных тестов =

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

• «Физический смысл»• Отражает качество автотестов и

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

Page 45: Метрики автоматизированного тестирования на пальцах

Стабильность АТ• Границы• Цель – процент «случайных» падений не

превышает 5%

• Где взять информацию• Test Reports

Page 46: Метрики автоматизированного тестирования на пальцах

Стабильность АТ• Примеры• Множество проектов;• Стандартная «проблема» при работе с middle+

специалистами по Автоматизированному тестированию «старой формации»

Page 47: Метрики автоматизированного тестирования на пальцах

Стабильность АТ• Визуализация• Более 95% - зеленый цвет• Более 90%, менее 95% - желтый цвет• Менее 90% - красный цвет

• Связь с другими метриками• Колличество дефектов на

Автоматизированный тест

• Категория:• Качество / Процесс• Автоматизация тестирования

Page 48: Метрики автоматизированного тестирования на пальцах

# дефектов на АТ• Определение• Колличество дефектов на

Автоматизированный Тест = ведется подсчет дефектов, как Автоматизированных, так и Ручных;

• Если Автоматизированное тестирование не находит дефектов или лишь незначительное колличество дефектов, то:

• Выделить области Автоматизации для улучшения;

• Репреоретизировать усилия в Автоматизации;• Отказаться от Автоматизации;

Page 49: Метрики автоматизированного тестирования на пальцах

# дефектов на АТ• «Физический смысл»• Отражает эффективность автотестов с

точки зрения нахождения дефектов

• Границы• Отсутствие найденных дефектов может

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

• Где взять информацию• Test Reports

Page 50: Метрики автоматизированного тестирования на пальцах

# дефектов на АТ• Примеры• Множество проектов;• Стандартная «проблема» Автоматизации ради

Автоматизации• Стандартная «проблема» получения прибыли

исполнителем в ущерб заказчику

Page 51: Метрики автоматизированного тестирования на пальцах

# дефектов на АТ• Визуализация• Более 5% (минимальный процент зависит от

фазы и деталей проекта) - зеленый цвет• От 1 до 5% - желтый цвет• Менее 1% - красный цвет

• Связь с другими метриками• Стабильность Автоматизированных тестов

• Категория:• Качество / Процесс• Автоматизация тестирования

Page 52: Метрики автоматизированного тестирования на пальцах

«Окно» АТ• Определение• «Окно» Автоматизированного тестирования –

как много физического времени занимает прогон Автоматизированных тестов (полное или подмножество)

• «Окно» Автоматизированного тестирования – как много системного \ «лабороторного» времени занимает прогон Автоматизированных тестов (полное или подмножество)

Page 53: Метрики автоматизированного тестирования на пальцах

«Окно» АТ• «Физический смысл»• Время, требуемое для прогона автотестов

необходимо учитывать при оценке экономической эффективности автоматизации, при анализе ROI и сравнении с ручным тестированием. Метрика необходима как при принятии решения о целесообразности внедрения автоматизации, так и при оценке текущего состояния уже реализованной автоматизации с целью выявления узких мест.

Page 54: Метрики автоматизированного тестирования на пальцах

«Окно» АТ• Границы• В зависимости от размера проекта может

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

• Где взять информацию• Test Reports• Continuous Integration (CI)

Page 55: Метрики автоматизированного тестирования на пальцах

«Окно» АТ• Примеры• Социальные сети (Facebook, Bamboo), CMS,

шаблоны для CMS - до появления средств автоматизации визуального тестирования процент автоматизируемых тестов был относительно невысок;

• Контр пример – физическое время• Контр пример – машинное время (Claud)• Технические детали: Stateless и Statefull

Автоматизация, параллельный запуск• Технические детали: Эффективные ожидания• Технические детали: Преждевременная

оптимизация

Page 56: Метрики автоматизированного тестирования на пальцах

«Окно» АТ• Визуализация• Smoke <= 1 час, Full Regression <= 12 часов (ночь)

- зеленый цвет• Smoke <= 2 часа, Full Regression <= 2 дня

(выходные) - желтый цвет• Smoke > 2 часа, Full Regression > 2 дня

(выходные) - красный цвет

Page 57: Метрики автоматизированного тестирования на пальцах

«Окно» АТ• Связь с другими метриками• Прогресс автоматизации• Процент покрытия автоматизированными

тестами• Частота проведения регрессии• Стабильность Автоматизированных Тестов • «Окно» анализа результатов тестирования

• Категория:• Цена / Время• Автоматизация тестирования

Page 58: Метрики автоматизированного тестирования на пальцах

«Окно» анализа р-тов АТ• Определение• «Окно» анализа результатов

Автоматизированного Тестирования = Сколько времени требуется чтобы проанализировать полученные данные?

• «Физический смысл»• Метрика показывает, насколько

исчерпывающими и читабильными являются отчеты. При слишком большом окне анализа меньше времени будет уделяться фактическому написанию тестов, или анализ будет проводиться недостаточно тщательно, что обесценит value Автоматизации

Page 59: Метрики автоматизированного тестирования на пальцах

«Окно» анализа р-тов АТ• Границы• В зависимости от размера проекта может

занимать от нескольких минут до многих часов. Как правило, анализ результатов Smoke тестов после commit - должен занимать считанные минуты, анализ результатов полной Регрессии – должен занимать считанные часы, в идеале, меньше часа.

• Где взять информацию• Test Reports• Continuous Integration (CI)• Task Tracking Systems

Page 60: Метрики автоматизированного тестирования на пальцах

«Окно» анализа р-тов АТ• Примеры• Социальные сети (Facebook, Bamboo), CMS,

шаблоны для CMS - до появления средств автоматизации визуального тестирования процент автоматизируемых тестов был относительно невысок;

• Mature Data Protection Solution, new SQL Denali plug-in, close to 100%;

• Mature Secure VPN (Russian), технологический стек;

• Контрпримеры

Page 61: Метрики автоматизированного тестирования на пальцах

«Окно» анализа р-тов АТ• Визуализация• Smoke <= 10 минут, Full Regression <= 2 часа -

зеленый цвет• Smoke <= 20 минут, Full Regression <= 4 часа -

желтый цвет• Smoke > 20 минут, Full Regression > 4 часов -

красный цвет

Page 62: Метрики автоматизированного тестирования на пальцах

«Окно» анализа р-тов АТ• Связь с другими метриками• Прогресс автоматизации• Процент покрытия автоматизированными тестами• Частота проведения регрессии• Стабильность Автоматизированных Тестов • «Окно» анализа результатов тестирования

• Категория:• Цена / Время• Автоматизация тестирования

Page 63: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Определение• Среднее время разработки Автоматизированного

Теста = # всех автоматизированных тестов / время на создание

• «Физический смысл»• Информация о времени на разработку одного

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

Page 64: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Границы• Границы: 1-16 часов на тест, в зависимости от

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

• Где взять информацию• Task Tracking System

Page 65: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Примеры• Множество проектов• Стандартная «проблема» при работе с middle+

специалистами по Автоматизированному тестированию «старой формации»

Page 66: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Визуализация• Менее 4 часов- зеленый цвет• Менее 8 часов, но более 4 часов - желтый цвет• Более 8 часов - красный цвет

• Связь с другими метриками• Время на поддержку автоматизированного

теста• Экономическая целесообразность АТ (ROI)

• Категория:• Цена / время• Автоматизация тестирования

Page 67: Метрики автоматизированного тестирования на пальцах

t поддержки АТ-а• Определение• Среднее время уделяемое поддержке

Автоматизированного Теста в течении указанного периуда времени = # всех автоматизированных тестов / время на поддержку.

Page 68: Метрики автоматизированного тестирования на пальцах

t поддержки АТ-а• «Физический смысл»• Любой программный продукт при работе по

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

Page 69: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Границы• Границы: от 0.5 часа на тест в год, до ... чуть

ли не бесконечности (заниматься тонкой балансировкой Sleep-ов можно сколько угодно – стабилизация так и не наступит) ... Безусловно конкретные показатели зависят от множества факторов – стабильности требований, стабильности приложения, технологического стека – как приложения, так и автоматизации, но время не должно превышать 4 часов в большиснтве случаев.

• Где взять информацию• Task Tracking System

Page 70: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Примеры• Множество проектов• Стандартная «проблема» при работе с middle+

специалистами по Автоматизированному тестированию «старой формации»

Page 71: Метрики автоматизированного тестирования на пальцах

t разработки АТ-а• Визуализация• Менее 0,5 часа на тест в год - зеленый цвет• Не более 1 часа на тест в год - желтый цвет• Более 2 часов на тест в год - красный цвет

• Связь с другими метриками• Время на поддержку автоматизированного

теста• Экономическая целесообразность АТ (ROI)

• Категория:• Цена / время• Автоматизация тестирования

Page 72: Метрики автоматизированного тестирования на пальцах

ROI (out of scope, but )• Определение• Экономическая целесообразность

Автоматизированного Тестирования (ROI) = Manual efforts – (Automation efforts + Automation investment) / QA investment * 100%

• «Физический смысл»• Указывает на то, имеет ли смысл внедрять

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

Page 73: Метрики автоматизированного тестирования на пальцах

ROI• Границы• Out of scope

• Где взять информацию• Test Strategy• Test Plan• Test Management Systems (TMS)

Page 74: Метрики автоматизированного тестирования на пальцах

ROI• Примеры• Множество проектов• Стандартная «проблема» при работе с middle+

специалистами по Автоматизированному тестированию «старой формации»

Page 75: Метрики автоматизированного тестирования на пальцах

ROI (+ доп выгоды)• Визуализация• Сравнение трендов• Ручное тестирование• Целый вариант опций введения / развития

Автоматизированного тестирования• Выбор оптимальной команды-тренда здесь и

сейчас

Page 76: Метрики автоматизированного тестирования на пальцах

ROI• Связь с другими метриками• Процент тестов, поддающихся автоматизации

(ППА)• Частота проведения регрессии (ЧР)• Стабильность Автоматизированных Тестов

(САТ)• Окно автоматизации тестирования• Окно анализа результатов тестирования• Время на создание автоматизированного

теста• Время на поддержку автоматизированного

теста• Категория:• Цена / время• Автоматизация тестирования

Page 77: Метрики автоматизированного тестирования на пальцах

Пожарные извещатели• Частота проведения регрессии (ЧР) - fire• % проанализированных тестов в Test Report-е• % ошибок / дефектов приложения• % ошибок Автоматизации Тестирования• % системных ошибок• «Окно» Автоматизированного тестирования

(Время выполнения) - fire• Окно анализа результатов тестирования - fire

Page 78: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР) - fire• Определение• Частота проведения регрессии как пожарный

извещатель (ЧР) = Как часто проводится автоматизированная регрессия?

• «Физический смысл»• Чем выше частота использования продукта,

тем выше его ценность. Это касается и автоматизированных тестов, чем выше частота регрессии, а соответственно и частота прогонов автотестов, тем выше их ценность для заказчика. Таким образом данная метрика является одной из ключевых при оценке ROI автоматизации тестирования.

Page 79: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР) - fire• Границы• Широкораспространенные границы /

рекомендации:o smoke - каждую ночьo full-regression - каждые выходные

• Где взять информацию• Automation reports• Continuous Integration (CI)

Page 80: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР) - fire• Примеры• ЧР и Экономическая целесообразность АТ (ROI);• Facebook и Bamboo• Kanban, ЧР, опыт WG• Доведенные до «абсолюта» «рекоммендации»• «Окно commit-а»

Page 81: Метрики автоматизированного тестирования на пальцах

Частота регрессии (ЧР) - fire• Визуализация• Не реже чем 1 раз в неделю - зеленый цвет• Не реже чем 1 раз в 2 недели - желтый цвет• Реже чем 1 раз в месяц - красный цвет• Чаще чем раз в день - красный цвет

• Связь с другими метриками• Экономическая целесообразность АТ (ROI);• Окно автоматизации тестирования;• Окно анализа результатов тестирования; • “Окно commit-а“

• Категория:• Качество• Автоматизация тестирования

Page 82: Метрики автоматизированного тестирования на пальцах

% of TA results analyzed - fire• Определение• Процент проанализированных негативных

результатов запуска Автоматизированных тестов. Если негативные результаты не проанализированны, Автоматизация не принесла никакой пользы

1. # of not analyzed failed test cases (TI)2. # of failed due to product bug (PB)3. # of failed due to automation issues (AB)4. # of failed due to system issue (SI)5. Formula = TI / (PB+AB+SI+TI)

Page 83: Метрики автоматизированного тестирования на пальцах

% of TA results analyzed - fire• «Физический смысл»• Чем выше частота использования продукта,

тем выше его ценность. Это касается и автоматизированных тестов, чем выше частота регрессии, а соответственно и частота прогонов автотестов, тем выше их ценность для заказчика. Но если только нет анализа негативных результатов, вся value превращается в ноль. Таким образом данная метрика является одной из ключевых при оценке ROI автоматизации тестирования.

Page 84: Метрики автоматизированного тестирования на пальцах

% of TA results analyzed - fire• Границы• % >95% (в идеале, 100%) – зеленый• 85% <% < 95% – желтый• %<= 85 – красный

• Где взять информацию• Automation reports• Continuous Integration (CI)

• Примеры• Множество негативных примеров

• Категория:• Процесс (fire-эквалайзер)• Автоматизация тестирования

Page 85: Метрики автоматизированного тестирования на пальцах

% of TA results analyzed - fire• Визуализация• % >95% – зеленый• 85% <% < 95% – желтый• %<= 85 – красный

• Связь с другими метриками• Прогресс автоматизации (ПА)• Колличество дефектов, на

Автоматизированный Тест (ДАТ)• Окно анализа результатов тестирования• Экономическая целесообразность АТ (ROI)• % of product issues• % of automation issues• % of system issues

Page 86: Метрики автоматизированного тестирования на пальцах

% of product issues - fire• Определение• Важно понимать как много дефектов находит

Автоматизированное Тестирование, а так же процентное соотношения найденных дефектов к общему колличеству ложных срабатываний, что показывает стабильность Автоматизации

1. # of not analyzed failed test cases (TI)2. # of failed due to product bug (PB)3. # of failed due to automation issues (AB)4. # of failed due to system issue (SI)5. Formula = PB / (PB+AB+SI+TI)

Page 87: Метрики автоматизированного тестирования на пальцах

% of product issues - fire• «Физический смысл»• Чем выше частота использования продукта,

тем выше его ценность. Это касается и автоматизированных тестов, чем выше частота регрессии, а соответственно и частота прогонов автотестов, тем выше их ценность для заказчика. Но если только нет анализа негативных результатов, вся value превращается в ноль. Таким образом данная метрика является одной из ключевых при оценке ROI автоматизации тестирования.

Page 88: Метрики автоматизированного тестирования на пальцах

% of product issues - fire• Границы• 5% > % (в идеале, 0) – зеленый• 10% > % > 5% – желтый• % >= 10 – красный

• Где взять информацию• Automation reports• Continuous Integration (CI)

• Примеры• Множество негативных примеров

• Категория:• Процесс (fire-эквалайзер)• Автоматизация тестирования

Page 89: Метрики автоматизированного тестирования на пальцах

% of product issues - fire• Визуализация• 5% > % – зеленый• 10% >% > 5% – желтый• % >= 10 – красный

• Связь с другими метриками• Прогресс автоматизации (ПА)• Колличество дефектов, на

Автоматизированный Тест (ДАТ)• Окно анализа результатов тестирования• Экономическая целесообразность АТ (ROI)• % of TA results analyzed• % of automation issues• % of system issues

Page 90: Метрики автоматизированного тестирования на пальцах

% of automation issues - fire• Определение• Важно понимать как много

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

1. # of not analyzed failed test cases (TI)2. # of failed due to product bug (PB)3. # of failed due to automation issues (AB)4. # of failed due to system issue (SI)5. Formula = AB / (PB+AB+SI+TI)

Page 91: Метрики автоматизированного тестирования на пальцах

% of automation issues - fire• «Физический смысл»• Чем выше частота использования продукта,

тем выше его ценность. Это касается и автоматизированных тестов, чем выше частота регрессии, а соответственно и частота прогонов автотестов, тем выше их ценность для заказчика. Но если только нет анализа негативных результатов, вся value превращается в ноль. Таким образом данная метрика является одной из ключевых при оценке ROI автоматизации тестирования.

Page 92: Метрики автоматизированного тестирования на пальцах

% of automation issues - fire• Границы• 5% > % (в идеале, 0) – зеленый• 10% > % > 5% – желтый• % >= 10 – красный

• Где взять информацию• Automation reports• Continuous Integration (CI)

• Примеры• Множество негативных примеров

• Категория:• Процесс (fire-эквалайзер)• Автоматизация тестирования

Page 93: Метрики автоматизированного тестирования на пальцах

% of automation issues - fire• Визуализация• 5% > % – зеленый• 10% >% > 5% – желтый• % >= 10 – красный

• Связь с другими метриками• Прогресс автоматизации (ПА)• Колличество дефектов, на

Автоматизированный Тест (ДАТ)• Окно анализа результатов тестирования• Экономическая целесообразность АТ (ROI)• % of TA results analyzed• % of product issues• % of system issues

Page 94: Метрики автоматизированного тестирования на пальцах

% of system issues• Определение• Важно понимать как много

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

1. # of not analyzed failed test cases (TI)2. # of failed due to product bug (PB)3. # of failed due to automation issues (AB)4. # of failed due to system issue (SI)5. Formula = SI / (PB+AB+SI+TI)

Page 95: Метрики автоматизированного тестирования на пальцах

% of system issues• «Физический смысл»• Чем выше частота использования продукта,

тем выше его ценность. Это касается и автоматизированных тестов, чем выше частота регрессии, а соответственно и частота прогонов автотестов, тем выше их ценность для заказчика. Но если только нет анализа негативных результатов, вся value превращается в ноль. Таким образом данная метрика является одной из ключевых при оценке ROI автоматизации тестирования.

Page 96: Метрики автоматизированного тестирования на пальцах

% of system issues• Границы• 5% > % (в идеале, 0) – зеленый• 10% > % > 5% – желтый• % >= 10 – красный

• Где взять информацию• Automation reports• Continuous Integration (CI)

• Примеры• Множество негативных примеров

• Категория:• Процесс (fire-эквалайзер)• Автоматизация тестирования

Page 97: Метрики автоматизированного тестирования на пальцах

% of system issues• Визуализация• 5% > % – зеленый• 10% >% > 5% – желтый• % >= 10 – красный

• Связь с другими метриками• Прогресс автоматизации (ПА)• Колличество дефектов, на

Автоматизированный Тест (ДАТ)• Окно анализа результатов тестирования• Экономическая целесообразность АТ (ROI)• % of TA results analyzed• % of product issues• % of automation issues

Page 98: Метрики автоматизированного тестирования на пальцах

«Окно» АТ - fire• Определение• «Окно» Автоматизированного тестирования

(как пожарный извещатель) – как много физического времени занимает прогон Автоматизированных тестов (полное или подмножество)

• «Окно» Автоматизированного тестирования – как много системного \ «лабороторного» времени занимает прогон Автоматизированных тестов (полное или подмножество)

Page 99: Метрики автоматизированного тестирования на пальцах

«Окно» АТ - fire• «Физический смысл»• Время, требуемое для прогона автотестов

необходимо учитывать при оценке экономической эффективности автоматизации, при анализе ROI и сравнении с ручным тестированием. Метрика необходима как при принятии решения о целесообразности внедрения автоматизации, так и при оценке текущего состояния уже реализованной автоматизации с целью выявления узких мест.

Page 100: Метрики автоматизированного тестирования на пальцах

«Окно» АТ - fire• Границы• В зависимости от размера проекта может

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

• Где взять информацию• Test Reports• Continuous Integration (CI)

Page 101: Метрики автоматизированного тестирования на пальцах

«Окно» АТ - fire• Примеры• Социальные сети (Facebook, Bamboo), CMS,

шаблоны для CMS - до появления средств автоматизации визуального тестирования процент автоматизируемых тестов был относительно невысок;

• Контр пример – физическое время• Контр пример – машинное время (Claud)• Технические детали: Stateless и Statefull

Автоматизация, параллельный запуск• Технические детали: Эффективные ожидания• Технические детали: Преждевременная

оптимизация

Page 102: Метрики автоматизированного тестирования на пальцах

«Окно» АТ - fire• Визуализация• Smoke <= 1 час, Full Regression <= 12 часов (ночь)

- зеленый цвет• Smoke <= 2 часа, Full Regression <= 2 дня

(выходные) - желтый цвет• Smoke > 2 часа, Full Regression > 2 дня

(выходные) - красный цвет

Page 103: Метрики автоматизированного тестирования на пальцах

«Окно» АТ - fire• Связь с другими метриками• Прогресс автоматизации• Процент покрытия автоматизированными

тестами• Частота проведения регрессии• Стабильность Автоматизированных Тестов • «Окно» анализа результатов тестирования

• Категория:• Цена / Время• Автоматизация тестирования

Page 104: Метрики автоматизированного тестирования на пальцах

«Окно» анализа АТ - fire• Определение• «Окно» анализа результатов

Автоматизированного Тестирования (как пожарный извещатель) = Сколько времени требуется чтобы проанализировать полученные данные?

• «Физический смысл»• Метрика показывает, насколько

исчерпывающими и читабильными являются отчеты. При слишком большом окне анализа меньше времени будет уделяться фактическому написанию тестов, или анализ будет проводиться недостаточно тщательно, что обесценит value Автоматизации

Page 105: Метрики автоматизированного тестирования на пальцах

«Окно» анализа АТ - fire• Границы• В зависимости от размера проекта может

занимать от нескольких минут до многих часов. Как правило, анализ результатов Smoke тестов после commit - должен занимать считанные минуты, анализ результатов полной Регрессии – должен занимать считанные часы, в идеале, меньше часа.

• Где взять информацию• Test Reports• Continuous Integration (CI)• Task Tracking Systems

Page 106: Метрики автоматизированного тестирования на пальцах

«Окно» анализа АТ - fire• Примеры• Социальные сети (Facebook, Bamboo), CMS,

шаблоны для CMS - до появления средств автоматизации визуального тестирования процент автоматизируемых тестов был относительно невысок;

• Mature Data Protection Solution, new SQL Denali plug-in, close to 100%;

• Mature Secure VPN (Russian), технологический стек;

• Контрпримеры

Page 107: Метрики автоматизированного тестирования на пальцах

«Окно» анализа АТ - fire• Визуализация• Smoke <= 10 минут, Full Regression <= 2 часа -

зеленый цвет• Smoke <= 20 минут, Full Regression <= 4 часа -

желтый цвет• Smoke > 20 минут, Full Regression > 4 часов -

красный цвет

Page 108: Метрики автоматизированного тестирования на пальцах

«Окно» анализа АТ - fire• Связь с другими метриками• Прогресс автоматизации• Процент покрытия автоматизированными тестами• Частота проведения регрессии• Стабильность Автоматизированных Тестов • «Окно» анализа результатов тестирования

• Категория:• Цена / Время• Автоматизация тестирования

Page 109: Метрики автоматизированного тестирования на пальцах

М личной эффективности• Определение• Большинство метрик применимо к изучению

личной эффективности, но не в контексте проекта, а в контексте индивидуального профессионального развития.

• Пример• Экономическая целесообразность Автоматизации

(ROI)

Page 110: Метрики автоматизированного тестирования на пальцах

Как выбрать и исп. набор м?• Out of scope, but …

Page 111: Метрики автоматизированного тестирования на пальцах

Как выбрать и исп. набор м?• Сформулируйте цели проекта• Выберете метрики, которые смогут дать

некоторую информацию по сформулированным целям

• Путем экспертной оценки определите границы выбранных метрик для вашего проекта

• Автоматизируйте подсчет метрик• Визуализируйте значения метрик на базе

определенных границ• Не забывайте про эквалайзер и принцип

светофора

Page 112: Метрики автоматизированного тестирования на пальцах

Как выбрать и исп. набор м?• Заблаговременно разработайте план действий

при выходе значений той или иной метрики из приемлемого диапазона

• Регулярно пересматривайте цели проекта и набор метрик

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

• Регулярно «балансируйте» эквалайзер под ваш проект в данной фазе

Page 113: Метрики автоматизированного тестирования на пальцах

«Увлекательные» истории• Результаты голосования в РБ• Результаты голосования в РФ• Панельная дискуссия CodeFest 2016 Новосибирск• Уголок QA Secon 2016 в Пензе• Панельная дискуссия в EPAM Systems, Минск• Панельная дискуссия в EPAM Systems, Санкт-

Петербург• Панельная дискуссия в EPAM Systems, Саратов

Page 114: Метрики автоматизированного тестирования на пальцах

“Актуальность” информации

• Результаты голосования в РБ• Результаты голосования в РФ

• EPAM Systems best practices• DPI.Solutions best practices

• EPAM IT Week и Open Days• Панельная дискуссия в EPAM Systems, Минск• Панельная дискуссия в EPAM Systems, Санкт-Петербург• Панельная дискуссия в EPAM Systems, Саратов

• Панельная дискуссия CodeFest 2016 Новосибирск• Уголок QA Secon 2016 в Пензе

Page 115: Метрики автоматизированного тестирования на пальцах

“Источники” информации

• ISTQB certifications

• “Implementing Automated Software Testing,” by Elfriede Dustin, Thom Garrett, Bernie Gauf

• “Useful Automated Software Testing Metrics” by Thom Garrett

• Результаты голосования в РБ от COMAQA• Результаты голосования в РФ от Software-Testing.ru

• EPAM Systems best practices• DPI.Solutions best practices

Page 116: Метрики автоматизированного тестирования на пальцах

“Take away” points

• Уверен, презентация не бесполезна в нашей ежедневной работе. Коллеги, пожалуйста перечитывайте, при случае, презентацию, прежде всего слайды посвященные непосредственно метрикам. Спасибо!

Page 117: Метрики автоматизированного тестирования на пальцах

Что дальше?

• Применяйте метрики • Внимательно «всмотритесь» в ваш проект – скорее

всего какие-то метрики, пусть и в неявном виде, но используются. Идентифицируйте неявно используемые метрики.

• Классифицируйте выявленные метрики• Постарайтесь установить связь / корреляцию между

метриками• Дополните метрики• Регулярно рассчитывайте значения метрик

(Автоматически)• Используйте полученные данные• Постоянно адаптируйте процесс• Например, стоит ввести стандартные QA риски в качестве варанта классификации • Спасибо …

Page 118: Метрики автоматизированного тестирования на пальцах

IT overview• Фредерик Брукс «Мифический человеко-месяц или Как

создаются программные системы»Notes: «Мировоззренческая» книга ... очень легко читается, около художественная литература ... рекоммендую прочитать дважды.

• Том де Марко «Peopleware: Productive Projects and Teams.»Notes: «Мировоззренческая» книга ... очень легко читается, около художественная литература ... рекоммендую прочитать дважды.

Page 119: Метрики автоматизированного тестирования на пальцах

IT overview• Том де Марко «The Deadline: A Novel About Project

Management»Notes: «Мировоззренческая» книга ... очень легко читается, около художественная литература ... рекоммендую прочитать дважды.

• Кент Бек «Экстремальное программирование. Разработка через тестирование»

Notes: IMHO Легкая для прочтения, концептуально целостная книга, с полезными примерами

Page 120: Метрики автоматизированного тестирования на пальцах

Tech overview• Гради Буч «Объектно Ориентированный Анализ и

проектирование с примерами приложений на С++»Notes: Не стоит пугаться примеров на С++, 95% материала концептуального, не зависящего от конретного языка программирования.На мой взгляд это одна из лучших книг для настоящего, а не шапочного, знакомство с ООП.

• Стив Макконнелл «Совершенный код»Notes: Не стоит бояться размера книги ... ее стоит или читать перед сном с любого места ... или выборочные главы, что бы освежить свои знания в конкретной проблемной области.

Page 121: Метрики автоматизированного тестирования на пальцах

Tech overview• Мартин Фаулер «Рефакторинг»

Notes: IMHO категорически рекомендую прочитать от корки до корки, 2 раза подряд, что бы содержание книги стало вашим активным профессиональным багажом.

• Gang of four “Design patterns”Notes: IMHO категорически рекомендую прочитать от корки до корки, как минимум, 2 раза подряд, что бы содержание книги стало вашим активным профессиональным багажом.

• Д. Томас, Эндрю Хант «Программист-прагматик. Путь от подмастерья к мастеру»Notes: Замечательная книга, состоящая из множества атомарных советов. IMHO стоит прочитать от корки до корки 2 раза, а затем пролистывать выборочные главы при подготовке к обсуждению с заказчиком или интервью.

Page 122: Метрики автоматизированного тестирования на пальцах

CONTACT [email protected]

dpi.semenchenko

https://www.linkedin.com/in/anton-semenchenko-612a926b

https://www.facebook.com/semenchenko.anton.v

https://twitter.com/comaqa

Page 123: Метрики автоматизированного тестирования на пальцах

www.COMAQA.BYАудитория сообществаСпециалисты по тестированию (как ручному, так и автоматизированному)Разработчики средств автоматизацииМенеджеры и специалисты по продажам в ITIT-специалисты, думающие о переходе в автоматизациюСтуденты в поиске перспективной профессииЦель сообществаСоздать единую площадку для эффективного общения всех IT-специалистов в контексте автоматизированного тестированияВаша выгодаВозможность услышать доклады ведущих IT-профессионалов и поделиться своим опытомБесплатно участвовать в “промо” - версиях топовых IT-конференций стран СНГРегулярно встречаться лично, на тематическом форуме, в “филиалах” сообщества в социальных сетях и мессенджерах

Page 124: Метрики автоматизированного тестирования на пальцах

www.COMAQA.BY

[email protected]

https://www.facebook.com/comaqa.by/

http://vk.com/comaqaby

+375 33 33 46 120+375 44 74 00 385

Page 125: Метрики автоматизированного тестирования на пальцах

www.CoreHard.byАудитория сообщества«Суровые» разработчики на С++ & co, IoT, BigData, High Load, Parallel ComputingРазработчики средств автоматизацииМенеджеры и специалисты по продажам в ITСтуденты в поиске перспективной профессииЦель сообществаСоздать единую площадку для эффективного общения всех IT-специалистов в контексте “суровой” разработкиВаша выгодаВозможность услышать доклады ведущих IT-профессионалов и поделиться своим опытомБесплатно участвовать в “промо” - версиях топовых IT-конференций стран СНГРегулярно встречаться лично, на тематическом форуме, в “филиалах” сообщества в социальных сетях и мессенджерах