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

Ключевые компоненты отчетов о сессиях

структура_отчета_сессии:
  метаданные_сессии:
    - id_сессии
    - имя_тестировщика
    - дата_и_время
    - длительность
    - charter_миссия
    - версия_сборки
    - окружение

  заметки_исследования:
    - исследованные_области
    - использованные_техники_тестирования
    - использованные_данные
    - наблюдения
    - процесс_мышления

  находки:
    - обнаруженные_баги
    - выявленные_риски
    - поднятые_вопросы
    - сгенерированные_идеи

  доказательства:
    - скриншоты
    - записи_экрана
    - файлы_логов
    - сетевые_трассировки

  результаты:
    - действия_по_следованию
    - рекомендации
    - области_для_глубокого_тестирования
    - пробелы_документации

Charter сессии и Time Boxing

Создание эффективных Test Charters

# Шаблон Charter исследовательского тестирования

## Charter ID: EXP-2025-042
**Создан**: 2025-10-10
**Тестировщик**: Maria Garcia
**Длительность**: 90 минут

### Миссия
Исследовать процесс оформления заказа на граничные случаи и обработку ошибок, особенно фокусируясь на интеграции платежного шлюза и потоках подтверждения заказа.

### Область
**В области:**
- Методы оплаты: Кредитная карта, PayPal, Apple Pay
- Сценарии ошибок: отклоненные карты, таймауты сети, невалидные данные
- Подтверждение заказа: email, SMS, in-app уведомления

**Вне области:**
- Валидация адреса доставки (покрыто в EXP-2025-038)
- Каталог продуктов (отдельный charter)
- Управление аккаунтом пользователя

### Области для исследования
1. Ответы платежного шлюза на различные условия ошибок
2. Управление состоянием во время обработки платежа
3. Согласованность данных заказа между сервисами
4. Механизмы обратной связи с пользователем при сбоях
5. Граничные случаи в применении кода скидки

### Техники тестирования
- Анализ граничных значений для сумм платежа
- Тестирование переходов состояний для потока checkout
- Error guessing для сбоев платежа
- Тестирование прерываний (обрывы сети, закрытие браузера)

Заметки сессии и процесс мышления

Структурированное ведение заметок

# Заметки исследовательской сессии

## Сессия: EXP-2025-042
**Дата**: 2025-10-10, 14:00-15:30
**Тестировщик**: Maria Garcia
**Сборка**: v2.5.3-staging

---

### Время: 14:05 - Первоначальное исследование

**Наблюдение 1**: Стандартный поток checkout работает как ожидается
- Добавил товар в корзину: Продукт #123
- Перешел к оформлению
- Ввел информацию о доставке: Все поля валидированы корректно

---

### Время: 14:15 - Тестирование методов оплаты

**Тест**: Истекшая кредитная карта
- Ввел карту: 4111111111111111, Exp: 01/2020
- Результат: ❌ **БАГ НАЙДЕН** - Система приняла истекшую карту
- Ожидалось: Ошибка валидации перед отправкой
- Фактически: Принято и отправлено на платежный шлюз, который отклонил
- Влияние: Плохой UX, потраченный API вызов
- Скриншот: `bug_001_истекшая_карта.png`
- *Создан тикет: BUG-4532*

**Тест**: Прерывание сети во время оплаты
- Шаги:
  1. Инициировал платеж с валидной картой
  2. Отключил сеть (режим offline Chrome DevTools)
  3. Наблюдал поведение
- Результат: ⚠️ **ПРОБЛЕМА** - Спиннер продолжается бесконечно, нет таймаута
- Ожидалось: Таймаут через 30с с сообщением об ошибке
- Фактически: Бесконечная загрузка, пользователь должен обновить страницу
- Риск: Путаница пользователя, потенциальные дубликаты заказов при обновлении
- *Создан тикет: BUG-4533*

---

### Время: 14:30 - Граничные суммы

**Тест**: Заказ на ноль долларов (со скидкой 100%)
- Применил код скидки: TESTFREE100
- Итого: $0.00
- Результат: ❌ **БАГ НАЙДЕН** - Шаг оплаты все еще требуется
- Ожидалось: Пропустить оплату, перейти к подтверждению
- Фактически: Форма оплаты отображена, запутанный UX
- *Создан тикет: BUG-4534*

---

### Время: 14:45 - Тестирование согласованности состояния

**Тест**: Кнопка назад браузера во время обработки платежа
- Результат: ❌ **КРИТИЧЕСКИЙ БАГ** - Заказ создан дважды
- Детали:
  - Платеж обработан успешно
  - Кнопка назад вернула к форме checkout
  - Форма все еще активна, разрешила второй submit
  - Два заказа созданы с одинаковыми товарами
  - Два списания с кредитной карты
- Серьезность: Высокая - Финансовое влияние
- *Создан тикет: BUG-4535 (Приоритет: P0)*

---

### Время: 15:15 - Завершение сессии

**Исследованные области**:
✅ Валидация метода оплаты
✅ Обработка сбоев сети
✅ Граничные суммы
✅ Согласованность состояния (кнопка назад, обновление)
✅ Поток уведомлений заказа

**Использованные техники**:
- Анализ граничных значений (суммы)
- Тестирование переходов состояний (поток checkout)
- Error guessing (сбои сети)
- Тестирование прерываний (назад в браузере, обрыв сети)

**Метрики**:
- Длительность сессии: 90 минут
- Найдено багов: 4
- Поднято вопросов: 2
- Сгенерировано идей: 3
- Захвачено скриншотов: 12

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

Отчет о баге из исследовательской сессии

# BUG-4535: Создание дубликата заказа через кнопку назад браузера

**Обнаружено в**: Исследовательская сессия EXP-2025-042
**Репортер**: Maria Garcia
**Дата**: 2025-10-10
**Серьезность**: Высокая (P0)

## Резюме
Использование кнопки назад браузера во время обработки платежа позволяет создание дубликата заказа и двойное списание.

## Шаги для воспроизведения
1. Добавить товары в корзину
2. Перейти к оформлению
3. Ввести информацию о доставке и оплате
4. Нажать кнопку "Оплатить сейчас"
5. Пока платеж обрабатывается (виден спиннер)
6. Нажать кнопку назад браузера
7. Наблюдать, что форма checkout все еще активна
8. Нажать "Оплатить сейчас" снова

## Ожидаемый результат
- Кнопка назад должна предотвращаться во время обработки платежа, ИЛИ
- Форма должна отключаться после первой отправки, ИЛИ
- Проверка дубликата заказа должна предотвращать второй заказ

## Фактический результат
- Кнопка назад работает во время обработки
- Форма checkout остается активной
- Второй клик создает дубликат заказа
- Кредитная карта списана дважды

## Доказательства
- Скриншоты: `bug_003_дубликат_заказа_1.png`, `bug_003_дубликат_заказа_2.png`
- Запись экрана: `bug_003_воспроизведение.mp4`
- Сетевые логи: `bug_003_network_har.har`

## Влияние
- **Бизнес**: Финансовая ответственность, жалобы клиентов, затраты на возврат
- **Пользователь**: Списано дважды, путаница, плохой опыт

## Предлагаемое исправление
1. Внедрить ключ идемпотентности для создания заказа
2. Отключить форму и кнопку назад во время обработки
3. Добавить обнаружение дубликата заказа

Управление доказательствами

Организация скриншотов

соглашение_имен_скриншотов:
  паттерн: "{id_сессии}_{тип}_{последовательность}_{описание}.png"
  примеры:
    - "EXP-2025-042_bug_001_истекшая_карта_принята.png"
    - "EXP-2025-042_наблюдение_002_макс_сумма_заказа.png"

структура_хранения:
  исследовательские_сессии/
    2025-10-10_EXP-042/
      скриншоты/
        001_истекшая_карта_принята.png
        002_таймаут_сети.png
      записи/
        полная_сессия.mp4
      логи/
        консоль_браузера.log
      отчет_сессии.md

Действия по следованию

Шаблон элементов действий

# Действия по следованию из EXP-2025-042

## Немедленные действия (Этот спринт)

### 1. Исправления критических багов
- [ ] **BUG-4535**: Исправить создание дубликата заказа
  - Назначено: Dev Team Lead
  - Приоритет: P0
  - Оценка: 8 часов

- [ ] **BUG-4532**: Добавить валидацию истекшей карты
  - Назначено: Frontend Team
  - Приоритет: P1
  - Оценка: 3 часа

### 2. Необходимо дальнейшее исследование
- [ ] **EXP-2025-043**: Исследовать граничные случаи интеграции PayPal
  - Назначено: Maria Garcia
  - Длительность: 90 минут

### 3. Требуются решения по продукту
- [ ] **QUESTION-892**: Определить бизнес-правило для максимальной суммы заказа
  - Назначено: Product Owner

### 4. Технические улучшения
- [ ] Добавить ключи идемпотентности к API заказов
- [ ] Внедрить блокировку сессии во время checkout
- [ ] Добавить триггеры обнаружения мошенничества

Метрики сессии

Панель исследовательского тестирования

МетрикаСессия EXP-042Среднее по командеЦель
Длительность90 мин75 мин60-90 мин
Найдено багов42.32+
Баги высокой серьезности10.4Любые
Поднято вопросов21.11+
Сгенерировано идей31.82+
Скриншоты128.25+
Действия по следованию84.53+

Заключение

Эффективные отчеты о сессиях исследовательского тестирования трансформируют спонтанное обнаружение в систематическое обучение и улучшение. Документируя charters, фиксируя детальные заметки, сохраняя доказательства и создавая действенные follow-ups, исследовательское тестирование становится мощным дополнением к скриптовому тестированию.

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