Приведу пример. В моей практике была работа с мобильным приложением интернет-магазина, которое скачали 100 пользователей, а заказ из него совершил только один человек. Веб-версия магазина при этом конвертировала в 10 раз лучше. Именно благодаря этим продуктовым метрикам удалось выяснить, что в жизненный цикл заказа закралась ошибка, которая никаким иным способом не регистрировалась.
Еще один пример. Была база данных, которая ежедневно обогащалась сотней новых пользователей, но в какой-то из дней в базу попало всего семь человек. Мы следили за этой продуктовой метрикой и вовремя забили тревогу — в сценарии очевидно что-то сломалось. Нужно было искать проблему и тестировать.
Пример третий. Процент использования приложения на определенном устройстве может помочь с определением процента времени, выделяемого на тесты на этом девайсе, а также общие ресурсы, доступные для тестирования.
Метрики качества определяют верность технических составляющих. Они иллюстрируют не только соответствие продукта техническому заданию или идее, но и насколько эффективно выстроен процесс контроля качества. Отдельно можно вывести метрики производительности: время загрузки, крэши и время отклика.
Я применяю собственную классификацию метрик качества для тестирования: от простейших количественных — сколько багов найдено, сколько тестов написано, сколько времени затрачено на прохождения теста — до производных.
Количественные универсальные — мастхэв на каждом проекте.
Количественные специфические. Метрики, которые используются на проекте по необходимости.
Производные метрики. Для лучшего понимания что из себя представляют такие метрики приведу пример, как мы, взяв количественные показатели, вывели производную метрику для одного из проектов.
Тестировщики во время приемки находили баги высокого приоритета на проекте, где severity и priority были слиты в одну сущность. Согласно проектным требованиям этот билд нельзя было пропускать в релиз. Возник вопрос: почему на проекте, где тестирование происходит постоянно, в финальном билде так много багов?
Мы стали разбирать баги и обнаружили, что, несмотря на высокий приоритет, они не влияли на релиз существенным образом. Возникла необходимость создать формулу определения приоритета, и получился такой результат: П=Серьёзность*(Воспроизводимость+Частота). «Серьезность» показывает, насколько заметен дефект, «Воспроизводимость» — насколько легко баг воспроизвести, а «Частота» — то, как много пользователей столкнется с дефектом. Мы перемножили между собой количественные метрики и получили метрику производную, которая дает новую информацию о продукте. Благодаря ей удалось актуализировать приоритеты багов, исходя из бизнес-потребности.
Также производные метрики могут учитывать:
Инструменты, которые помогут в анализе и сборе метрик: