Lesson 12 of 26
Урок 12 — Exploratory Testing
Название: Exploratory Testing — тестирование как исследование
Описание: Разбираем исследовательское тестирование: что это, чем отличается от скриптового, как проводить сессии, вести записи и почему оно находит баги, которые автоматика пропускает.
Почему это важно для QA: Exploratory Testing — это то, что отличает хорошего тестировщика от «человека, который нажимает кнопки по скрипту». Именно оно позволяет найти неочевидные, нестандартные баги.
1. Что такое Exploratory Testing
Exploratory Testing (исследовательское тестирование) — это одновременное обучение системе, проектирование тест-кейсов и их выполнение. Тестировщик не следует заранее написанному скрипту — он исследует приложение, задаёт вопросы и следует за интуицией.
Термин ввёл Джем Кейн (Cem Kaner) в 1984 году. Он определил его как:
«Одновременное обучение, разработка тестов и их выполнение.»
Аналогия
Представь двух туристов в незнакомом городе.
Первый (скриптовое тестирование): у него есть маршрут на карте. Он идёт по нему шаг за шагом. Видит только то, что запланировал.
Второй (exploratory testing): у него нет жёсткого маршрута. Он знает, что хочет изучить этот город. Заходит в интересные переулки, пробует местную еду, разговаривает с жителями. Он находит то, что никогда не попало бы в туристический путеводитель.
2. Exploratory vs Scripted Testing
| Критерий | Scripted Testing | Exploratory Testing |
|---|---|---|
| Планирование | Заранее | В процессе |
| Тест-кейсы | Написаны до тестирования | Создаются и выполняются одновременно |
| Гибкость | Низкая | Высокая |
| Документация | Обширная | Минимальная (заметки, чартеры) |
| Покрытие | Предсказуемое | Адаптивное |
| Находит | Известные риски | Неожиданные баги |
| Требования | Необходимы | Желательны, но не обязательны |
3. Ключевые принципы Exploratory Testing
3.1 Свобода исследования
Нет жёстких ограничений на то, что тестировать. Тестировщик следует своей любопытности и интуиции.
3.2 Одновременное мышление
Ты одновременно:
- Изучаешь продукт
- Проектируешь тест
- Выполняешь тест
- Оцениваешь результат
3.3 Обучение через тестирование
Каждый найденный баг меняет понимание системы и направляет следующие тесты.
4. Session-Based Exploratory Testing (SBET)
Структурированная версия Exploratory Testing, позволяющая управлять процессом и измерять результаты.
Компоненты сессии
Charter (чартер) — это краткое описание цели сессии. Формат:
EXPLORE [что тестируем]
WITH [стратегия / инструменты]
TO DISCOVER [что ищем]Пример чартера:
EXPLORE модуль "Управление пользователями"
WITH фокусом на ролевую модель и разрешения
TO DISCOVER уязвимости привилегий и некорректное поведение для разных ролейTimebox — фиксированное время сессии (обычно 60–90 минут).
Notes (заметки) — фиксируй находки, вопросы, идеи в процессе.
Debrief (разбор) — встреча после сессии: что нашли, что пропустили, что нужно исследовать дальше.
5. Как проводить Exploratory Testing: пошагово
Шаг 1: Подготовка
- Изучи область тестирования (фича, модуль, сборка)
- Сформируй чартер
- Определи timebox (60–90 минут)
- Подготовь инструменты (Dev Tools, Postman, записи заметок)Шаг 2: Исследование
Работай систематично, но гибко:
- Начни с основного happy path
- Затем — негативные сценарии
- Пробуй граничные значения
- Пробуй нестандартные последовательности действий
- Проверяй сообщения об ошибках
- Смотри в Dev Tools: нет ли 500-ошибок, необычных запросов
Шаг 3: Фиксация находок
Ведите заметки прямо во время сессии:
[10:00] Открыл форму создания пользователя — работает корректно
[10:05] Попробовал создать пользователя без email → валидация работает
[10:08] Создал пользователя с очень длинным именем (500+ символов) → БАГ: поле принимает, но в списке имя обрезается некорректно
[10:15] Проверил удаление пользователя с активными сессиями → вопрос: сессии завершаются? Надо проверить
[10:20] Смена роли пользователя → БАГ: смена роли с Admin на User не отзывает активные сессииШаг 4: Debriefing
После сессии:
- Запиши найденные баги в трекер
- Сформируй новые чартеры для следующих сессий
- Обсуди с командой, какие риски остались непроверенными
6. Техники исследовательского тестирования
6.1 Tour Testing (туристические туры)
Представь себя туристом с разными целями:
| Тур | Фокус | Пример |
|---|---|---|
| Guidebook Tour | Главные функции | Протестировать то, что рекламируется на сайте |
| Lonely Planet Tour | Редко посещаемые места | Страница ошибки 404, страница сервисного обслуживания |
| Saboteur Tour | Сломать приложение | Неожиданные действия, неверные данные |
| Anti-Tourist Tour | Игнорировать основной путь | Перейти сразу к шагу 5, пропустив 1–4 |
| FedEx Tour | Отслеживание данных | Проверить, как данные перемещаются между модулями |
6.2 Bug Attacking
Целенаправленный поиск в местах, где баги чаще всего встречаются:
- Граничные значения полей
- Длинные строки
- Специальные символы
- Параллельные действия (два пользователя одновременно)
- Быстрые повторные клики
- Отключение интернета в середине операции
6.3 Error Guessing
Основан на опыте тестировщика: «Что обычно ломается?»
Типичные места ошибок:
✓ Поле ввода с пустым значением
✓ Числа с нулём и отрицательные числа
✓ Очень длинные строки
✓ Спецсимволы: <, >, ", ', &, /, \
✓ Unicode и эмодзи
✓ Одновременные запросы
✓ Переход назад в браузере в середине формы
✓ Двойной клик по кнопке
✓ Действие после истечения сессии7. Шаблон чартера сессии
═══════════════════════════════════════
СЕССИЯ ИССЛЕДОВАТЕЛЬСКОГО ТЕСТИРОВАНИЯ
═══════════════════════════════════════
Дата: 25.06.2026
Тестировщик: Анна Петрова
Timebox: 90 минут
Версия: v2.3.1-staging
ЧАРТЕР:
EXPLORE форму регистрации нового пользователя
WITH вниманием к валидации полей и edge cases
TO DISCOVER уязвимости валидации и некорректные сообщения об ошибках
ЗАПИСИ В ПРОЦЕССЕ:
[09:00] Старт сессии
[09:03] Стандартная регистрация — работает корректно
[09:08] Email без @ → ошибка "Введите корректный email" — OK
[09:12] Email: test@test (без домена второго уровня) → принимается! БАГ #1
[09:20] Пароль: 7 символов → ошибка "Минимум 8 символов" — OK
[09:22] Пароль: только пробелы → принимается! БАГ #2
[09:35] Имя: 500 символов → принимается, в профиле отображается обрезанным — БАГ #3
[09:45] Быстрый двойной клик "Зарегистрироваться" → два запроса отправлены, создано 2 аккаунта! БАГ #4 (критический)
[10:15] Конец сессии
НАЙДЕНО БАГОВ: 4
ВОПРОСЫ ДЛЯ СЛЕДУЮЩЕЙ СЕССИИ: проверить, что происходит с двойным кликом на мобильных
═══════════════════════════════════════8. Когда применять Exploratory Testing
| Ситуация | Почему ET подходит |
|---|---|
| Новая функциональность | Нет скриптов, нужно быстро изучить |
| После крупных изменений | Непредсказуемые последствия рефакторинга |
| Ограниченное время | Быстрее, чем писать полный набор тест-кейсов |
| Нет или плохие требования | ET позволяет тестировать «по здравому смыслу» |
| Дополнение к автоматизации | Находит то, что автоматика пропускает |
9. Частые ошибки
❌ Exploratory = случайное тыкание кнопок
→ ET — это системное и целенаправленное исследование. Используй чартеры.
❌ Не ведут записи в процессе
→ Без записей теряется 70% ценных наблюдений. Пиши всё.
❌ ET используют вместо автоматизации
→ ET дополняет автоматизацию, а не заменяет её.
Итог
EXPLORATORY TESTING
├── Цель: найти неожиданные баги через исследование
├── Подход: обучение + проектирование + выполнение одновременно
├── Инструмент: Session-Based Testing (чартер + timebox + debrief)
├── Лучшие места: новые фичи, после рефакторинга, edge cases
├── Сила: находит то, что автоматизация и скрипты пропускают
└── Ключевой навык: любопытство + опыт + системность