Ответ
Да, исследовательское тестирование — это ключевая методика, которую я использую для одновременного изучения продукта, проектирования тестов и их выполнения.
Суть подхода: Тестировщик не следует строгому, заранее написанному сценарию, а активно исследует приложение, основываясь на знаниях, опыте и интуиции, чтобы обнаружить неочевидные дефекты.
Пример процесса:
- Определение области: «Протестировать новую функцию „Быстрая оплата“ в мобильном приложении».
- Исследование и тестирование:
- Проверка основного хэппи-паса.
- Исследование граничных условий: что будет, если во время оплаты пропадет сеть? Если быстро нажать кнопку дважды?
- Проверка интеграций: корректно ли обновляется баланс после списания?
- Документирование: Фиксация найденных багов, интересных наблюдений и новых идей для тестов.
Преимущества:
- Эффективность в поиске сложных, контекстно-зависимых багов.
- Гибкость и быстрая адаптация к изменениям в продукте.
- Глубокое понимание продукта тестировщиком.
Недостатки и как их нивелировать:
- Сложность оценки покрытия. Решение: комбинировать с сессионным тестированием, где сессии ограничены по времени и цели, а результаты структурированно записываются.
- Зависимость от навыков тестировщика. Решение: проводить попарное исследовательское тестирование и делиться находками в команде.
Исследовательское тестирование идеально дополняет сценарное (scripted) тестирование, покрывая области, которые сложно формализовать заранее.