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 TestingExploratory 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
├── Сила: находит то, что автоматизация и скрипты пропускают
└── Ключевой навык: любопытство + опыт + системность