Исследовательское тестирование — это подход, при котором проектирование и выполнение тестов происходят одновременно, руководствуясь креативностью, опытом и интуицией тестировщика. В отличие от скриптового тестирования, исследовательские сессии генерируют уникальные инсайты, которые должны систематически фиксироваться.
Ключевые компоненты отчетов о сессиях
структура_отчета_сессии:
метаданные_сессии:
- 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 мин |
Найдено багов | 4 | 2.3 | 2+ |
Баги высокой серьезности | 1 | 0.4 | Любые |
Поднято вопросов | 2 | 1.1 | 1+ |
Сгенерировано идей | 3 | 1.8 | 2+ |
Скриншоты | 12 | 8.2 | 5+ |
Действия по следованию | 8 | 4.5 | 3+ |
Заключение
Эффективные отчеты о сессиях исследовательского тестирования трансформируют спонтанное обнаружение в систематическое обучение и улучшение. Документируя charters, фиксируя детальные заметки, сохраняя доказательства и создавая действенные follow-ups, исследовательское тестирование становится мощным дополнением к скриптовому тестированию.
Помните: ценность исследовательского тестирования не только в нахождении багов, но и в глубоком понимании продукта, сомнении в предположениях и выявлении рисков, которые скриптовые тесты упускают. Документируйте тщательно, чтобы сохранить и разделить эту ценность.