Важность исследовательского тестирования |
17.02.2021 00:00 |
Исследовательское тестирование – это подход к тестированию, при котором тестировщики динамически проектируют и выполняют тесты на основании своих знаний, исследования тест-объекта и результатов предыдущих тестов (согласно глоссарию ISTQB). Исследовательское тестирование часто путают с ad-hoc тестированием, которое проводится по запросу без заранее составленных тест-кейсов, и манки-тестированием, которое заключается в рандомных действиях пользователя. Исследовательское тестирование – это изучение продукта путем небольших экспериментов и адаптация новых экспериментов в ходе тест-сессии. Этот тип тестирования отлично подходит для Agile– у него такая же логика, как и у Agile-экспериментов. Преимущества исследовательского тестирования Исследовательское тестирование ловит больше дефектов, чем автоматизированное. Рассмотрим несколько метрик, демонстрирующих важность исследовательского тестирования.
Источник : https://www.perforce.com/blog/alm/what-is-exploratory-testing Исследовательское тестирование помогает создать более качественный продукт с повышенным тест-покрытием.
Исследовательское тестирование можно выполнять в парах, используя принципы парного программирования. Парное тестирование предполагает две роли – пилота и штурмана. Пилот – тот, кто у руля, он концентрируется на приложении, выполняет действия и задает вопросы по ходу их появления. Штурман находится на позиции наблюдателя и задает направление дальнейших проверок, а также делает заметки о шагах или находках. Эти роли могут время от времени меняться. Такой подход помогает не только найти баги, но и исследовать продукт и делиться знаниями с коллегой. Исследовательское тестирование помогает переключить фокус внимания. Человеческое внимание – интересный механизм. Фокусируясь на чем-то специфическом, мы не замечаем ничего находящегося вне фокуса. Даже многозадачные люди имеют всего один фокус – они просто очень быстро переключают внимание. Посмотрите видео, чтобы увидеть слепоту невнимания. Искажение подтверждения – еще одна тенденция, связанная с вниманием и влияющая на тестирование. Оно происходит, когда вы обращаете внимания на факты, подтверждающие ваши убеждения. Поделюсь своим опытом столкновения с этим искажением. У нас было требование к цветовой схеме приложения, описывающее первичный и вторичный цвета, а также то, где их показывать. Мы почти упустили важный визуальный момент: белый текст был написан на светло-желтой кнопке. Одно из ключевых достоинств исследовательского тестирования в том, что оно помогает бороться с когнитивными искажениями и концентрироваться на различных аспектах приложения. Как начать мыслить в ключе исследовательского тестирования
Исследовательское тестирование проверяет границы этой сетки и находит поведения, не охваченные скриптами. Источник : https://martinfowler.com/bliki/ExploratoryTesting.html Какие качества нужны тестировщику? Пытливость. Исследовательское тестирование не определяет заранее, что и как тестировать, поэтому отличные тестировщики пытливы и заинтересованы. Они хотят знать все. Они хотят знать, что находится за этой дверью (или кнопкой), и что скрывается в этой коробке (или фиче). Они должны быть мотивированы узнавать больше, потому что когда дело дойдет до проверки различных частей приложения и исследования их уголочков и закоулочков – все будет зависеть только от них. Гибкость. Отличные исследовательские тестировщики – компетентные тест-дизайнеры, умеющие проявлять изворотливость: если исследование определенной части ПО выдало ошибку, они должны уметь набросать новые тесты, ищущие связанные проблемы и недочеты. Исследовательский тестировщик, хорошо умеющий создавать импровизированные дополнительные тесты, может также определить масштаб бага, или как минимум описать пределы его влияния – в результате разработчику будет проще исправлять. Наблюдательность. Одной пытливости недостаточно. Тестировщики должны быть не только любопытными, но и способными замечать любые аберрации, и документировать их. Отличный исследовательский тест требует наблюдения за настройками, окружением, и внутренними установками.
Отличные навыки коммуникации. Можно быть умным, пытливым и отлично искать баги, но толку от этого немного, если вы не можете передать свои находки разработчикам. В отсутствие тест-дизайнера, который вместе с менеджером продукта заранее определяет индивидуальные тест-шаги и ожидаемые результаты, тестировщики отвечают за объяснение идей для конкретного теста, его обстоятельств, и полученных результатов. Как организовать сессию исследовательского тестирования
Приоритезируйте баги В ходе тестирования каждый тестировщик знает кластер, содержащий максимум багов приложения. Приоритезируйте эти кластеры и начинайте с них свое исследование. Включайте исследовательское тестирование в тест-план Создавая мастер-тест-план, включайте в него исследовательское тестирование. Пусть им еженедельно занимается как минимум один тестировщик. Задайте временные рамки Установите определенные временные рамки для исследовательского тестирования каждого релиза, обсуждения результатов с командой разработки и своевременной реакции на результаты. Тест-чартеры В книге "Exploreit!" Элизабет Хендриксон предлагает простой шаблон, который можно использовать для планирования масштаба исследовательских тест-сессий: У Элизабет есть отличный пример, который мне особенно нравится: "Исследовать редактирование профилей с разными методами авторизации с целью найти сюрпризы". Тест-туры Тест-туры – отличная альтернатива чартерам. В книге "Исследовательское тестирование" Джеймс А. Уиттакер предлагает концепцию тест-туров. Идея тут в том, чтобы сравнить ПО с городом. Тестировщик должен изучить город с разных точек зрения. Вы можете выбрать существующий тур или придумать свой собственный. Попробуйте тур сборщика мусора. В реальном мире сборщик мусора проводит немного времени у каждого дома, собирая мусор. У него есть одна специфическая задача, которую надо методично проделать у каждого дома. Это можно использовать для тестирования всех пунктов меню, всех сообщений об ошибке, всех модальных окон. Персоны
Персону можно описать, например, так: "Дженет – 67-летняя пенсионерка, владеет собакой. Современные технологии не особо для нее важны – поэтому дома у нее медленное WiFi-соединение, легкий Android-планшет, и нет ноутбука. Протестируйте заказ товаров для собаки как Дженет – у нее много свободного времени, и хватает терпения на медленную связь". Тестировщик, беря персону Дженет, начинает пользоваться приложением специфическим образом, а не как обычно. Возможно, из-за таких технических ограничений не сохранится длинная форма регистрации, и нужно добавить больше шагов сохранения данных. Она может столкнуться с проблемами адаптивной верстки на мобильном устройстве, или удивиться отсутствию лоадеров. Заключение Сдвигая тестирование влево и идентифицируя критические баги как можно раньше, мы должны сделать исследовательское тестирование частью жизненного цикла тестирования. Это также помогает выявить пробелы в тест-покрытии. |