Что такое риск-тестирование?

Цель тестирования на основе рисков — сфокусироваться на ключевых функциях и уделить им больше времени. 

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

Что такое тестирование на основе рисков?

Тестирование на основе рисков (risk-based testing) — это метод тестирования программного обеспечения, который базируется на вероятности рисков. 

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

При тестировании на основе рисков наибольший приоритет получает проверка самых важных и потенциально имеющих недостатки функций.

В результате, если пользователь даже и обнаружит дефект, это не помешает ему использовать приложение и не окажет существенного влияния на бизнес.

Риски продукта, проекта и процесса

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

Существует три группы рисков, с которыми команда может столкнуться в процессе разработки программного обеспечения:

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

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

Стратегия тестирования на основе рисков

В стратегии risk-based testing риск используется в качестве критерия во всех фазах цикла тестирования, включая планирование, проектирование, реализацию, выполнение и отчетность. 

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

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

Анализ рисков — первый шаг перед началом любого тестирования на основе рисков.

Преимущества тестирования на основе рисков

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

Улучшение качества. В risk-based testing приоритет отдается областям, наиболее подверженным рискам. Из них в первую очередь проверяются наиболее важные функции. В результате программа может быть выпущена с гарантией того, что ее основные и важные для клиентов функциональные возможности находятся на должном уровне.

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

Когда использовать тестирование на основе рисков

Риски могут возрасти из-за целого ряда факторов. В частности, из-за неудачного проектирования, плохого тайм-менеджмента и неадекватных ресурсов. Это именно те ситуации, когда следует использовать risk-based testing.

Тестирование на основе рисков в Agile

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

В risk-based testing при определении рисков учитываются потребности потребителей и разработчиков и выделяются наиболее важные для клиентов функции. При этом создается иерархия критериев тестирования для управления бюджетами, согласования сроков и предотвращения задержек.

Выбор объектов тестирования

Итак, кто должен оценивать риски и как проходит этот процесс? Лучшие кандидаты в оценщики — те, кто хорошо осведомлен о проблемах приложения в целом. 

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

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

Тестирование на основе рисков включает в себя планирование, разработку и выполнение операций тестирования на основе приоритета модулей. В приоритете должны быть:

  • области, подверженные дефектам
  • критически важная для бизнеса функциональность
  • часто используемые функции 
  • функциональность, связанная с безопасностью приложения
  • особо сложные части
  • изменения в новом продукте.

Распространенные ошибки при тестировании на основе рисков

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

Критически важно начать анализ рисков еще на стадиях планирования и разработки. Это позволяет должным образом проанализировать приложение и разработать эффективный подход к тестированию. 

Заключение

При эффективном выполнении оценка рисков и risk-based testing могут быстро принести хорошие результаты. Эффективность тестирования на основе рисков и развертывания будет определяться рядом важных факторов: строгим и хорошо структурированным анализом, планом тестирования и его выполнением, а также надлежащим обменом информацией со всеми заинтересованными сторонами проекта.

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас