Тестирование на основе рисков, часть 1: говорить о рисках, а не о типах тестирования |
12.09.2019 14:10 |
Автор: Дэн Эшби (Dan Ashby) Это первая статья из трех, рассказывающая о взаимоотношениях между тестированием и продуктовыми рисками. В этой статье я расскажу о том, как сконцентрировать разговоры о тестировании на типах риска вместо того, чтобы говорить о различных типах тестирования. Типы тестирования или типы рисков? Когда вы описываете свое тестирование кому-то, кто не знаком с профессией (да даже если знаком), говорите ли вы о типах тестирования, которое проводите? Или же вы рассказываете о рисках? И о том, и об этом? Ни о чем из перечисленного? В чем тут разница? Разница есть. Однако она может быть неочевидна, поэтому вначале давайте разберемся, что я имею в виду под каждым понятием, а затем я поясню, почему считаю важным и более уместным говорить о типах рисков, а не о типах тестирования. Типы тестированияЛюди довольно часто обсуждают типы тестирования. К примеру, функциональное, регрессионное, тестирование производительности, юзабилити, доступности, безопасности, интеграции, и так далее, и тому подобное. Все эти типы тестирования описывают тестирование по отношению к определенным интересующим нас областям. Но если задуматься, то эти типы просто описывают тестирование, особо концентрирующееся на тест-типах продуктовых рисков. Функциональное тестирование – это тестирование, сконцентрированное на функциональных рисках. Регрессионное тестирование – это тестирование, сконцентрированное на рисках, относящихся к регрессу ПО после внесения изменений. Интеграционное тестирование – это тестирование, сконцентрированное на интеграционных рисках по отношению к фиче, компоненту или какой-то части ПО и их работе совместно с другими фичами, компонентами, или связанными с ними частями. "Исследовательское тестирование" и "Скриптовое тестирование" – это подходы к тестированию, а "черноящичное" или "белоящичное" – техники тестирования, поэтому их я сюда не включаю. Типы рисковПредставьте, что вы что-то тестируете. Подумайте о единице тестирования – тест-идее, которая у вас, вероятно, есть. Что движет этой идеей? Тестируя ПО, мы связываем наши тесты с каким-то типом продуктового риска. Под продуктовым риском я имею в виду риски, которые напрямую относятся к продукту – в отличие от бизнес-рисков, человеческих рисков, проектных рисков или прочих категорий риска, лежащих за пределами продукта. Неважно, связан ли ваш тест с заранее созданным сценарием проверки ожиданий, или же это часть вашего исследовательского тестирования определенной идеи – этот тест вызван к жизни каким-то типом продуктового риска. Мы вводим сложные данные в поле, чтобы протестировать риск, что эти сложные данные неправильно обрабатываются. Мы симулируем десять тысяч человек, пользующихся фичей одновременно, чтобы протестировать риски, связанные с пользовательской нагрузкой. Мы используем инструменты и сравниваем ПО со стандартами доступности, чтобы протестировать риск того, что ПО не соответствует стандартам. Тест всегда относится к какому-то риску, который мы тестируем. "XYZ-тестирование" – это тестирование, сконцентрированное на рисках XYZ. Как я уже говорил выше, рассказывая о типах тестирования, тип тестирования – это тестирование, сконцентрированное на определенном типе риска. Но вот в чем подвох… Знаете ли вы, что существует более сотни различных типов продуктовых рисков? Некоторые из них мы и не подумаем называть "типами тестирования". Если бы я попросил вас назвать максимальное количество типов тестирования, вы бы отлично справились, назвав 15-20. Я пробовал просить об этом команды в разных компаниях и внутри тест-сообщества, и обычно люди сходу называют около 15. Однако если бы я попросил вас назвать различные типы продуктовых рисков, то точно знаю, что вы назвали бы больше. Спрашивая о типах продуктовых рисков те же самые группы людей, вспомнивших о 15 типах тестирования, я получал около 50-60 ответов, прежде чем заканчивалось отведенное время. Они бы и больше назвали. Вот ряд примеров:
Почему нужно говорить о типах рисков, а не о типах тестированияВы немедленно увидите ряд преимуществ, если переключите свои рассуждения с типов тестирования на типы рисков:
Осторожно, ловушки!У этого подхода есть ряд ловушек, о которых нужно знать.
В следующей части этого цикла статей я объясню, как использовать исследовательский подход для выявления рисков, и поделюсь моделью и примерами, визуально описывающими мой ход мыслей. |