Метрики качества ПО

Содержание:

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

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

Метрики качества ПО

Качество V. S. бизнес

Без обеспечения высокого качества бизнесу будет сложно работать в долгосрочной перспективе. Необходимо связка между ними. Если ее не будет, может возникнуть серьезные проблемы.

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

  1. Добиваться качества необходимо в нужном месте и объеме. В некоторых случаях допустимо выпускать продукты с багами. Однако нужно адекватно оценивать имеющиеся риски.
  2. Бизнес должен понимать, какая задача является приоритетной. Ему нужно определить, что важно именно в текущий момент времени: выйти на рынок, оперативно масштабироваться или получить прибыль. После определения ключевой задачи бизнес должен передать эти цели в технический отдел.

Иногда бывают и ситуации из серии «бизнес без качества». В подобных проектах даже может присутствовать отдел тестировщиков. Однако если QA обладает слабым тестом, и работает в стиле monkey testing, то качество вряд ли будет на высоте.

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

  • Наличие проблем. Для начала нужно найти слабое место в продукте. Если изначально вы его не находите, значит нужно искать лучше. Вероятнее всего проблемы у вашего продукта есть, но они пока еще не обнаружены.
  • Наличие результата. Задача любого коммерческого проекта заключается в получении прибыли. Поэтому нужно тщательно и точно фиксировать уровень конверсии и другие показатели.
  • Текущее положение дел. Нужно понимать, на какой стадии вы находитесь прямо сейчас. Сколько у вашего продукта багов, и успеваете ли вы справиться с ними в обозначенные сроки.

Выбор метрик

Подбирать метрики для оценки качества продукта можно по нескольким принципам:

  • Очевидные баги. Если с продуктом произошел какой-либо неприятный инцидент, необходимо изучить суть проблемы, и подобрать метрики для определения того, как исправляются баги, и с какой скоростью.
  • Целевой подход. Этот принцип позволяет ориентироваться на конкретную цель. Речь может идти о длительности автоматизации, ускорении автотестирования, и т. д.

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

Бизнес бывает разнообразным, как и стадии проекта. Развивающейся фирме, стартапу или сервису на этапе расширения необходимы разные метрики.

Стадии проекта

Теперь разберемся в том, какие метрики подходят стартапу, и растущей и развивающейся компании.

Startup

На этапе стартапа сервис только разрабатывается. Вам нужно проверить какую-либо гипотезу, и убедиться в том, что на ваш продукт есть спрос. На этом этапе бизнесу необходимо, чтобы идеи доходили до юзеров максимально быстро, чтобы можно было их протестировать. Поэтому особо важным показателем будет time-to-market. Он показывает скорость доставки идеи до юзеров (до продакшн). Еще один важный показатель — число пользователей.

Для QA важными будут следующие метрики:

  • число ошибок, доходящих до релиза;
  • их уровень критичности;
  • число багов с боя.

В большинстве случаев собирать метрики можно в Excel. Ежемесячно вносите информацию в таблицы, и анализируйте ее.

Стадия роста

После запуска проекта, наступает этап его роста. В этих условиях необходимы метрики для измерения следующих показателей:

  1. Масштабирование. Определите насколько можно вырасти со стороны разработки, и самого продукта.
  2. Трафик. Когда становится очевидным, что продукт пользуется спросом, нужно стремиться максимально увеличить трафик, например за счет использования партнерских программ.

В этапе роста метрик для QA становится больше. Их число возрастает до 10-15. В стартапе мы разрабатывали продукт на основе собственных ощущений. Сейчас же нужно ориентироваться на пользователей. Например, можно проверять фичи через A/B-тесты, и анализировать полученные результаты.

Необходима автоматизация. Она позволит сделать регрессионное тестирование быстрей. Измеряйте быстроту тестирования релиза. Будет обидно, если на формирование автоматизации потрачено несколько месяцев, а релизы не стали быстрее.

Следующий показатель — объем релиза. Он позволит определить вашу эффективность. Например, этот показатель даст сигнал в ситуации, когда объем релиза не увеличился, но при этом штат разработчиков разросся.

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

  • Сбор данных о юзерах — Google Analytics.
  • Автоматизация — Allure.
  • Менеджер-система — TestRail.

В результате система начнет формировать в себе отчетность и метрики.

Стадия расширения

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

  • Конверсия. На стадии масштабирования не разрабатывается новый продукт, а «доводится до ума» уже имеющийся.
  • Данные. Появляется необходимость в обработке и хранении пользовательских, продуктовых и технических данных. Безопасность становится крайне актуальным вопросом.
  • SLA. После того, как пользователи начинают активно пользоваться продуктом, его доступность приобретает критичное значение. Помните, что любой простой будет генерировать убытки.
  • Репутация. У вашего бренда должна быть узнаваемость.
  • LTV. Удерживайте юзеров. На стадии расширения крайне важно, не дать пользователю уйти к конкурентам.

Число метрик для QA возрастает до 30-50. Теперь нужно точно измерять следующие показатели:

  • Покрытие автоматизации.
  • Стабильность автоматизации. Показатель напрямую влияет на быстроту релизов. На данной стадии проекта следует забыть о ручной регрессии.
  • Быстрота релизов.
  • Безопасность.

Нагрузки: серверная, Backend, frontend. Измерять показатели следует в разных срезах.

На стадии масштабирования сбор данных происходит, как и раньше. Однако число дополнительных систем и сервисов возрастает.

Метрики качества ПО

Краткие итоги

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

На курсах DevEducation вы сможете приобрести массу навыков, полезных как для разработки продукта, так и его тестирования. Наш образовательных хаб позволит вам сделать мощный старт карьеры в IT!

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!