Exploratory Testing

Pause

Exploratory Testing (рус. исследовательское тестирование) — динамичный, интерактивный подход к тестированию программного обеспечения, при котором изучение продукта, проектирование тестов и их выполнение происходят одновременно[1][2]. В отличие от сценарного тестирования, где набор тест-кейсов формируется заранее, исследовательское тестирование предполагает, что тестировщик самостоятельно принимает решения «на лету», используя опыт, интуицию и результаты предыдущих действий[3].

Общие сведения
Что важно знать
Исследовательское тестирование
англ. Exploratory Testing
Область использования Тестирование программного обеспечения, Разработка программного обеспечения

Определения

  • Исследовательское тестирование (ET) основано на принципе одновременности: обучение продукту, разработка тестовых идей и их непосредственное выполнение сливаются в едином цикле работы тестировщика. Целью метода является быстрое обнаружение как ожидаемых, так и неочевидных дефектов, особенно в условиях неполных или быстро меняющихся требований.

Ключевые принципы ET включают:

  1. Одновременное проектирование и выполнение — тест-кейсы создаются и выполняются в единый момент времени, что позволяет мгновенно адаптировать стратегию[3].
  2. Активная роль тестировщика — успех метода зависит от опыта, креативности и любознательности специалиста[1].
  3. Самоуправляемость — тестировщик самостоятельно определяет, какие части продукта исследовать и насколько глубоко это делать.
  4. Непрерывное обучение — знания, полученные по ходу работы, немедленно используются для расширения площади тестирования[3].
  5. Адаптивность и гибкость — методика быстро подстраивается под изменения кода, требований и окружения.
  6. Итеративность и фокус — процесс начинается с широкого обзора и постепенно концентрируется на наиболее рискованных областях[2].
  7. Документирование процесса — несмотря на отсутствие формальных сценариев, ведутся заметки, скриншоты и отчёты, необходимые для воспроизведения дефектов[1].
  8. Использование «туров» — тематические маршруты исследования помогают структурировать сессии и контролировать покрытие[2].
  • Test charter (тестовый чартер) — краткое описание миссии, цели и границ конкретной сессии тестирования. Это не детальный сценарий, а ориентир (обычно 1-2 предложения), определяющий, что именно исследовать (функцию), как (подход) и на что обратить внимание, что помогает тестировать без заранее прописанных тест-кейсов.
  • Time-boxing (таймбоксинг) — методика управления тестированием, при которой сессия изучения продукта ограничивается чётким временным интервалом.
  • Тур (tour) — структурированный подход к изучению ПО, предложенный Джеймсом Уиттакером, где приложение рассматривается как город, а тестировщик — как турист.
  • Session-Based Testing (SBTM) — структурированный подход к исследовательскому тестированию, при котором процесс разбивается на временные отрезки (сессии), обычно по 90 минут, с четко определенной целью.
Exploratory Testing.png

Структурные элементы процесса Exploratory Testing

Исследовательское тестирование состоит из взаимосвязанных элементов, каждый из которых поддерживает гибкость метода и обеспечивает воспроизводимость результатов[4]:

  • Обучение и понимание — анализ требований, архитектуры и рисков продукта.
  • Планирование и определение миссии (test charter) — формулирование цели конкретной сессии, описания областей и ограничений исследования.
  • Одновременный дизайн и выполнение тестов — генерирование идей и их немедленная проверка в приложении.
  • Запись и документирование — фиксирование шагов, ожидаемого и фактического поведения, а также найденных дефектов (часто через Session-Based Test Management).
  • Анализ результатов — оценка серьёзности дефектов, покрытия и эффективности применённых техник.
  • Подведение итогов (debriefing) — обмен знаниями в команде, корректировка стратегии дальнейших сессий.
  • Тематические «туры» — заранее выбранные направления (например, «тур по безопасности»), ограниченные временным интервалом[2].

Этапы работы

Хотя ET по своей природе неформально, в профессиональной литературе выделяют несколько повторяющихся фаз[5].

1. Изучение приложения

На этом этапе тестировщик собирает информацию о функциональности продукта, его целевой аудитории, архитектуре и потенциальных рисках[6]. Анализируются требования, спецификации, пользовательские сценарии и возможные уязвимости.

2. Создание устава тестирования

Формируется краткий документ (test charter), определяющий миссию и границы предстоящей сессии[4]. В уставе фиксируются цели, области исследования, ограничения и критерии завершения.

3. Time-boxing

Устанавливается чёткий временной интервал для сессии исследовательского тестирования (обычно 60-120 минут)[5]. Это помогает поддерживать концентрацию, измеримость результатов и предотвращает «расползание» задач.

4. Исследование и выполнение тестов

Тестировщик активно работает с продуктом, генерирует и проверяет гипотезы, исследует различные сценарии использования[3]. В процессе могут использоваться тематические «туры» для структурирования поиска дефектов.

5. Документирование находок

Ведутся текстовые заметки, делаются скриншоты, видеозаписи и иные материалы, необходимые для воспроизведения найденных дефектов[7]. Документирование позволяет фиксировать шаги, результаты и особенности поведения системы.

6. Анализ и приоритизация дефектов

Оценивается влияние обнаруженных проблем на пользователей и бизнес-процессы[5]. Дефекты классифицируются по степени критичности, формируется список приоритетных задач для исправления.

7. Debriefing

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

Схемы цикла

  • Итеративная модель (Цикл обучения)

Exploratory Testing — это бесконечный цикл улучшения понимания продукта:

  • Начало сессии — Исследование  — Баг/Идея  — Изменение стратегии  — Новое исследование  — Конец сессии.

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

  • Компоненты исследовательского тестирования

Исследовательское тестирование часто строится на трех китах:

  • Сценарий (Charter): Что мы тестируем?
  • Ресурсы (Resources): Инструменты, данные, приложение.
  • Риски (Risks): Где может быть баг?

Примерный план исследовательской сессии

  1. Выбор области: (Например, модуль оформления заказа).
  2. Задание таймера: (60 минут).
  3. Действия: Ввод данных  Проверка реакции  Изменение данных  Проверка базы данных.
  4. Отчет: Создан баг-репорт #123, составлена карта мыслей (MindMap) функционала, составлен список зон для следующей сессии.

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

Преимущества

  • Выявление скрытых и нестандартных дефектов, которые трудно обнаружить сценарными методами[8].
  • Быстрая обратная связь для команды разработки, особенно в Agile-проектах[5].
  • Высокая гибкость при изменении требований — отсутствует необходимость постоянно актуализировать набор тест-кейсов[9].
  • Максимальное использование экспертизы тестировщика и развитие его креативных навыков.
  • Повышение тестового покрытия за счёт фокусирования на рисковых областях.
  • Эффективное выявление проблем юзабилити и пользовательского опыта[5].

Недостатки

  • Ограниченная формальная документация, что усложняет воспроизведение всех пройденных сценариев[10].
  • Зависимость результата от опыта и навыков конкретного тестировщика, что может приводить к вариативности качества[11].
  • Сложность количественного измерения покрытия и эффективности работы[8].
  • Риск пропустить участки функционала, если ET используется как единственный метод контроля качества[5].
  • Более трудное управление процессом и оценка трудозатрат на уровне проекта[10].
  • Риски субъективности оценки покрытия.
  • Трудности масштабирования метода.

Сферы применения

Исследовательское тестирование наиболее эффективно в следующих ситуациях[12]:

  • Проекты с неполными, нестабильными или часто меняющимися требованиями.
  • Сжатые сроки, когда подготовка подробной документации нецелесообразна.
  • Agile-и DevOps-процессы, требующие непрерывной обратной связи.
  • Дополнение формального сценарного или автоматизированного тестирования для повышения покрытия.
  • Первичные проверки прототипов и ранних версий продукта.
  • Оценка юзабилити, пользовательского опыта и визуальных аспектов интерфейса.
  • Целевые проверки областей высокого риска (безопасность, критичные бизнес-процессы)[4].
  • Малые проекты, где создание полного набора тест-кейсов по трудозатратам сопоставимо с разработкой самого продукта[1].

Инструменты для использования в Exploratory Testing

Разнообразные инструменты упрощают ведение заметок, запись дефектов и управление сессиями исследовательского тестирования[13].

Платформы управления сессиями

  • Testmo — единая платформа для планирования сессий ET, ведения заметок и контроля времени[14].
  • Tricentis qTest Explorer — собирает детальные логи действий и облегчает оформление баг-репортов.
  • Azure Test Plans — модуль Azure DevOps с поддержкой exploratory тестов.
  • TestRail — позволяет соединить формальные сценарии и ET-сессии в единой отчётности[7].
  • Xray Exploratory App — десктоп-приложение для записи ET-сессий[4].
  • ACCELQ — платформа автоматизации с режимом гибридного (сценарный + исследовательский) тестирования[15].

Расширения браузеров

  • Exploratory Testing Chrome Extension — ведёт заметки, делает скриншоты и экспортирует отчёты[13].
  • Bug Magnet — быстрое вставление граничных значений в поля ввода.
  • Form Fuzzer — автоматическое заполнение веб-форм случайными данными.
  • Встроенные Chrome DevTools и Firefox Developer Tools для анализа сетевых запросов и логов.

Вспомогательные инструменты

  • Rapid Reporter — лёгкий тул для текстовых заметок в ходе ET-сессии.
  • Графические утилиты для скриншотов и аннотаций (Snip & Sketch, Snagit, Flameshot).
  • Системы управления знаниями (Notion, Confluence) для централизованного хранения отчётов[14].

Примеры

1. Функциональное тестирование (E-commerce)

  • Цель (Charter): Исследовать процесс оформления заказа, используя различные типы карт и валют, чтобы выявить ошибки валидации.
  • Ресурсы: Тестовая среда, список тестовых карт, документация по платежному шлюзу.
  • Фокус: Пограничные значения, специальные символы в поле имени, прерывание сети во время оплаты.

2. Тестирование безопасности (Login Page)

  • Цель: Изучить форму логина на предмет уязвимостей SQL-инъекций и несанкционированного доступа.
  • Ресурсы: Burp Suite, список SQL-инъекций.
  • Фокус: Попытка обойти авторизацию, использование кавычек и спецсимволов в полях.

3. Тестирование удобства использования (UI/UX)

  • Цель: Проверить удобство использования мобильной версии корзины (Mobile Safari/Chrome) и процесса удаления товаров.
  • Ресурсы: Реальные мобильные устройства.
  • Фокус: Доступность элементов для нажатия, корректность отображения, скорость отклика.

4. «Тур» по приложению (По Майклу Болтону/Джеймсу Баху)

  • Цель: Провести «тур по достопримечательностям» (обзор основных функций) нового модуля профиля пользователя, чтобы понять логику работы и найти очевидные баги.
  • Ресурсы: Документация не требуется, живой продукт.
  • Фокус: Быстрая смена экранов, проверка валидации полей, критические пути пользователя.

Примечания

  1. ↑ 1 2 3 4 Исследовательское тестирование в практике. Habr. Дата обращения: 20 июня 2025.
  2. ↑ 1 2 3 4 Exploratory testing и тестовые туры. Software-Testing.by. Дата обращения: 20 июня 2025.
  3. ↑ 1 2 3 4 QA Bible: Исследовательское тестирование. GitBook. Дата обращения: 20 июня 2025.
  4. ↑ 1 2 3 4 Исследовательское тестирование. QaRocks. Дата обращения: 20 июня 2025.
  5. ↑ 1 2 3 4 5 6 Exploratory Testing Guide. BrowserStack. Дата обращения: 20 июня 2025.
  6. ↑ What is Exploratory Testing. TestScenario. Дата обращения: 20 июня 2025.
  7. ↑ 1 2 3 How to Perform Exploratory Testing. TestRail Blog. Дата обращения: 20 июня 2025.
  8. ↑ 1 2 Exploratory Testing: benefits and best practices. TestQuality. Дата обращения: 20 июня 2025.
  9. ↑ What is Exploratory Testing and why should you care. TestDevLab. Дата обращения: 20 июня 2025.
  10. ↑ 1 2 Exploratory Testing overview. Shift Asia. Дата обращения: 20 июня 2025.
  11. ↑ Exploratory Testing. GeeksforGeeks. Дата обращения: 20 июня 2025.
  12. ↑ Exploratory Testing: руководство. ZAPTEST. Дата обращения: 20 июня 2025.
  13. ↑ 1 2 Exploratory Testing Tools. Guru99. Дата обращения: 20 июня 2025.
  14. ↑ 1 2 Best Exploratory Testing Tools. Testmo. Дата обращения: 20 июня 2025.
  15. ↑ Exploratory Testing Tools. ACCELQ Blog. Дата обращения: 20 июня 2025.
© Правообладателем данного материала является АНО «Интернет-энциклопедия «РУВИКИ».
Использование данного материала на других сайтах возможно только с согласия АНО «Интернет-энциклопедия «РУВИКИ».
Pause