Найти статью
Exploratory Testing
Exploratory Testing (рус. исследовательское тестирование) — динамичный, интерактивный подход к тестированию программного обеспечения, при котором изучение продукта, проектирование тестов и их выполнение происходят одновременно[1][2]. В отличие от сценарного тестирования, где набор тест-кейсов формируется заранее, исследовательское тестирование предполагает, что тестировщик самостоятельно принимает решения «на лету», используя опыт, интуицию и результаты предыдущих действий[3].
Общие сведения
Что важно знать
| Исследовательское тестирование | |
|---|---|
| англ. Exploratory Testing | |
| Область использования | Тестирование программного обеспечения, Разработка программного обеспечения |
Определения
- Исследовательское тестирование (ET) основано на принципе одновременности: обучение продукту, разработка тестовых идей и их непосредственное выполнение сливаются в едином цикле работы тестировщика. Целью метода является быстрое обнаружение как ожидаемых, так и неочевидных дефектов, особенно в условиях неполных или быстро меняющихся требований.
Ключевые принципы ET включают:
- Одновременное проектирование и выполнение — тест-кейсы создаются и выполняются в единый момент времени, что позволяет мгновенно адаптировать стратегию[3].
- Активная роль тестировщика — успех метода зависит от опыта, креативности и любознательности специалиста[1].
- Самоуправляемость — тестировщик самостоятельно определяет, какие части продукта исследовать и насколько глубоко это делать.
- Непрерывное обучение — знания, полученные по ходу работы, немедленно используются для расширения площади тестирования[3].
- Адаптивность и гибкость — методика быстро подстраивается под изменения кода, требований и окружения.
- Итеративность и фокус — процесс начинается с широкого обзора и постепенно концентрируется на наиболее рискованных областях[2].
- Документирование процесса — несмотря на отсутствие формальных сценариев, ведутся заметки, скриншоты и отчёты, необходимые для воспроизведения дефектов[1].
- Использование «туров» — тематические маршруты исследования помогают структурировать сессии и контролировать покрытие[2].
- Test charter (тестовый чартер) — краткое описание миссии, цели и границ конкретной сессии тестирования. Это не детальный сценарий, а ориентир (обычно 1-2 предложения), определяющий, что именно исследовать (функцию), как (подход) и на что обратить внимание, что помогает тестировать без заранее прописанных тест-кейсов.
- Time-boxing (таймбоксинг) — методика управления тестированием, при которой сессия изучения продукта ограничивается чётким временным интервалом.
- Тур (tour) — структурированный подход к изучению ПО, предложенный Джеймсом Уиттакером, где приложение рассматривается как город, а тестировщик — как турист.
- Session-Based Testing (SBTM) — структурированный подход к исследовательскому тестированию, при котором процесс разбивается на временные отрезки (сессии), обычно по 90 минут, с четко определенной целью.
Структурные элементы процесса 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): Где может быть баг?
Примерный план исследовательской сессии
- Выбор области: (Например, модуль оформления заказа).
- Задание таймера: (60 минут).
- Действия: Ввод данных Проверка реакции Изменение данных Проверка базы данных.
- Отчет: Создан баг-репорт #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 2 3 4 Исследовательское тестирование в практике. Habr. Дата обращения: 20 июня 2025.
- ↑ 1 2 3 4 Exploratory testing и тестовые туры. Software-Testing.by. Дата обращения: 20 июня 2025.
- ↑ 1 2 3 4 QA Bible: Исследовательское тестирование. GitBook. Дата обращения: 20 июня 2025.
- ↑ 1 2 3 4 Исследовательское тестирование. QaRocks. Дата обращения: 20 июня 2025.
- ↑ 1 2 3 4 5 6 Exploratory Testing Guide. BrowserStack. Дата обращения: 20 июня 2025.
- ↑ What is Exploratory Testing. TestScenario. Дата обращения: 20 июня 2025.
- ↑ 1 2 3 How to Perform Exploratory Testing. TestRail Blog. Дата обращения: 20 июня 2025.
- ↑ 1 2 Exploratory Testing: benefits and best practices. TestQuality. Дата обращения: 20 июня 2025.
- ↑ What is Exploratory Testing and why should you care. TestDevLab. Дата обращения: 20 июня 2025.
- ↑ 1 2 Exploratory Testing overview. Shift Asia. Дата обращения: 20 июня 2025.
- ↑ Exploratory Testing. GeeksforGeeks. Дата обращения: 20 июня 2025.
- ↑ Exploratory Testing: руководство. ZAPTEST. Дата обращения: 20 июня 2025.
- ↑ 1 2 Exploratory Testing Tools. Guru99. Дата обращения: 20 июня 2025.
- ↑ 1 2 Best Exploratory Testing Tools. Testmo. Дата обращения: 20 июня 2025.
- ↑ Exploratory Testing Tools. ACCELQ Blog. Дата обращения: 20 июня 2025.
| Правообладателем данного материала является АНО «Интернет-энциклопедия «РУВИКИ». Использование данного материала на других сайтах возможно только с согласия АНО «Интернет-энциклопедия «РУВИКИ». |