Про тестирование на основе рисков |
17.01.2023 00:00 |
Автор: Венкат Рамакришнан (Venkat Ramakrishnan) Тестирование ПО – это область с огромными возможностями для более глубокого изучения качественного тестирования систем. Для тест-стратегий есть множество разных подходов, и один из них – это тестирование на основе рисков. Термины «риск» и «исследование» в обороте довольно давно, их обсуждают в соцсетях и на конференциях, посвященных тестированию. Рассмотрим тестирование на основе рисков. Я нашел отличную статью про тестирование на основе рисков, и она подтолкнула меня к размышлениям. Если кратко, в статье сказано, что для анализа рисков важны три вещи – влияние, шанс провала, и частота использования/возникновение. Это хорошее резюме для анализа. Я поговорил с автором в Twitter, и в процессе размышлял о достоинствах и недостатках тестирования на основе рисков. Анализ автора хорош для оценки рисков отдельных тест-кейсов или тест-сценариев, что дает нам хороший шаблон для присвоения тест-сценариям приоритетов. Это немного похоже на юнит-тесты, где с рисками разбираются на уровне «модулей». Мои основные мысли тут касаются оценки значимости рисков. Приоритезируя кейсы на основе рисков, очень важно оценить значимость риска для конкретного тест-кейса или сценария, чтобы их можно было приоритезировать. Мы склонны нормализовать значимость рисков, и это становится рутинной задачей. Затем очень привлекательной идеей становится автоматизация оценки значимости рисков при помощи RPA или машинного обучения, дабы мы смогли сконцентрироваться на более «важных» вещах. В итоге мы получим проблему, потому что оценка рисков и их приоритезация эффективны только тогда, когда выполнены людьми. Люди, однако, игнорируют этот факт, так как спешат автоматизировать все на свете. Следующая проблема с приоритезацией, по моему мнению, в том, что оценка значимости рисков локализована и имеет дело с отдельными тест-сценариями или тест-кейсами. Большие проблемы в приложения возникают зачастую от того, что множество функций приложения взаимодействует друг с другом неожиданным образом. Как правило, тест-сценарий с низким или очень низким риском взаимодействует с другой функцией – и в результате мы имеем огромную проблему на проде. В сложных решениях такое происходит часто, поэтому недостаточно оценивать только риски отдельных кейсов. Нужно также оценить кумулятивное значение риска на основании взаимодействия этих функций в разных сценариях. Даже если мы можем оценить риски для тестирования сценариев в сложных системах, с шансами эту метрику будут неправильно использовать, интерпретировать и отображать на досках – это в обычных повседневных условиях высокоскоростного бизнеса куда более вероятно, нежели использование оценок рисков в качестве направляющего фактора для создания более эффективных тест-сценариев. В этом случае стоит потратить время на то, чтобы сразу проработать тест-сценарии лучше – вместо того, чтобы концентрироваться на оценке значимости рисков и ее присвоении. Каждый практик тестирования должен, тем не менее, стремиться приоритезировать риски на уровне системных сценариев в дополнение к отдельным сценариям, чтобы эти усилия окупились, помогая найти неприятные дефекты. Однако будьте осторожны – эффективность создания сценариев и присвоения им верных приоритетов все еще зависит от компетентности конкретного специалиста. |