Простые метрики по качеству: как их вести и зачем они нужны |
16.01.2023 00:00 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Заходит тестировщик в бар, а бармен ему говорит: сегодня не работаем, у меня инвентаризация просроченного пива. Всем привет! Меня зовут Алиса, я — ведущий тестировщик в компании Constanta, и сегодня расскажу вам о простых QA метриках, помогающих отслеживать качество продукта. Если мы вобьем в поисковой строке незамысловатое словосочетание “метрики QA”, то увидим, что почти все ссылки ведут на классические метрики: процент покрытия требований кейсами, коэффициент регрессии, скорость работы QA команды и т. д. Если вы их не видели — то можете легко найти. Большинство из них полезны, и некоторые будут использованы в статье, но немного в другом формате. Подобные метрики обычно выглядят как n/m, где n и m — количество какого-либо параметра. Например: количество переоткрытых дефектов, общее количество дефектов и время исправления найденных дефектов. Я же хочу рассказать о чуть более аналитической работе: мы будем смотреть не только сухие цифры, но и делать выводы о том, откуда эти цифры взялись. Ближе к концу статьи я поделюсь некоторыми идеями о том, как решать возникшие проблемы. Начнем с того, что сбор информации — это рабочий процесс, и при внедрении чего-либо в этот процесс, нужно задать два главных вопроса:
Отвечаю сразу на оба:
Небольшое пояснение: заранее хочу проговорить, что примеры я буду брать из личного опыта, который почти весь проходил в сфере мобильной разработки. То, что примеры будут связаны с мобилками, никак не отменяет их универсальности для любых проектов. Баги после релизаСамая универсальная и распространенная метрика, которая не нуждается в представлении, она есть в жизни каждого тестировщика. На чем смотрим: Если у нас крупные релизы, то мы можем собирать статистику по каждому релизу, если у нас небольшие выкатки (например, это веб, который выпускает по 1-2 задаче), то смотрим по коротким периодам (например, 1-2 недели). Что собираем: количество и причины багов, которые были обнаружены на продакшене после релиза. Как это может выглядеть:
???? Всегда добавляйте в эту метрику баги от саппорта, если он у вас есть. Как говорится: все, что не протестировали QA — протестируют пользователи. Еще это может помочь вам увидеть, сколько багов вообще приходит от саппорта. Пример уже с саппортом:
Баги во время регрессаМетрика для тех, у кого есть регресс перед релизом (хотелось бы верить, что он есть у всех, но знаю, что иногда его не вводят). Если на прошлой метрике у вас много багов — вводите регресс :) На чем смотрим: Если у нас крупные релизы, то мы можем собирать статистику по каждому релизу, если у нас небольшие выкатки (например, это веб, который выпускает по 1-2 задаче), то смотрим по коротким периодам (например 1-2 недели). Что собираем: количество и причины багов, которые были обнаружены во время регресса. Как это может выглядеть (уже в совокупности с первой метрикой):
Как еще можно использовать данную информацию:
На основе этого будет понятно, где у нас проблемы, и каким образом их нужно решать. Пример из жизни: Однажды мы отлаживали процессы на проекте, который занимается интеграцией платежных сервисов. У команды QA часто возникали баги во время регресса, из-за чего он затягивался. Первое, о чем подумали — плохо тестируются задачи. Но сразу обвинять во всем команду — неправильно, мы решили вначале разобрать причины возникновения. После того, как мы собрали статистику багов за 2 месяца и объединили их в группы, оказалось, что багов из-за упущения проверки в задаче всего 10%. Все остальные были из-за конфликтов задач между собой после слияния, ошибок со стороны других платежных систем и проблем с настройками конфигов. После этого команда (не QA, а вся команда) пересмотрела свои процессы и количество багов в следующем месяце убавилось. Опциональная метрика из сторонних сервисовЕсли есть сервис, который собирает статистику и проблемы, добавляйте его отдельным столбцом. Сервисы могут быть любыми, для примера я добавлю Crashlytics (сервис, который помогает собирать, анализировать и систематизировать отчеты о сбоях приложений). ???? Чаще всего мониторить статистику в таких сервисах стоит в первые часы и первые дни после релиза, потому что, если вы заметите аномалию в самом начале, то вы сможете подготовить хот-фикс быстрее, чем начнутся массовые жалобы. Как теперь будет выглядеть наша табличка:
Что мы можем сделать, чтобы исправить проблемыТеперь стоит поговорить о том, как мы можем улучшить нашу ситуацию. Конечно многое зависит от вашего проекта, но я все же постараюсь дать несколько советов по улучшению качества. Решаемые силами QA проблемы 1. Если мы наблюдаем тенденцию того, что в новых задачах много багов:
Не решаемые силами QA проблемы
???? Самый простой вариант — это поднять проблему на общих собраниях команды и попросить разработчиков ее рассмотреть. Вариант посложнее: добавить смок после мержа задачи еще до релиза (если на вашем проекте это возможно).
???? Заводите на каждый инцидент баг в вашу багтрекинговую систему, иначе это никогда не исправится. Спрашивайте разработчиков о причине каждого инцидента, иногда некоторые проблемы можно предотвратить еще на этапе тестирования.
???? Поднимите вопрос на общих собраниях, чтобы вместе подумать, как эту проблему решить. Например, можно всегда держать тестовый стенд/конфиг в состоянии аналогичном продовому, или вы можете добавить короткий чек-лист для релиза, в котором будет пункт про проверку настроек (такой чек-лист надо проверять в первую очередь, если полноценный чек-лист не набирается — добавляем такую проверку в смок).
???? Если решить проблему никак не получается на уровне процессов команды, то поможет внедрение тестирования требований.
???? Мы можем обратиться к документации или саппорту с другой стороны, иногда такие вещи действительно решаются. Подумайте, что можно сделать на нашей стороне, чтобы эта ошибка не влияла на работу. Если придумать ничего не получается — обращайтесь к другой команде. А как понять, что все улучшилось?Сравниваем статистику за определенный промежуток времени, оптимальным вариантом будет раз в один или два месяца и раз в полгода, брать статистику за меньший срок может быть нецелесообразно — в случае, если вы только начинаете решать проблемы, на это потребуется время.
Пример того, как можно отсматривать:
|