Применяли ли вы исследовательское тестирование (Exploratory Testing)?

Ответ

Да, исследовательское тестирование — это ключевая методика, которую я использую для одновременного изучения продукта, проектирования тестов и их выполнения.

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

Пример процесса:

  1. Определение области: «Протестировать новую функцию „Быстрая оплата“ в мобильном приложении».
  2. Исследование и тестирование:
    • Проверка основного хэппи-паса.
    • Исследование граничных условий: что будет, если во время оплаты пропадет сеть? Если быстро нажать кнопку дважды?
    • Проверка интеграций: корректно ли обновляется баланс после списания?
  3. Документирование: Фиксация найденных багов, интересных наблюдений и новых идей для тестов.

Преимущества:

  • Эффективность в поиске сложных, контекстно-зависимых багов.
  • Гибкость и быстрая адаптация к изменениям в продукте.
  • Глубокое понимание продукта тестировщиком.

Недостатки и как их нивелировать:

  • Сложность оценки покрытия. Решение: комбинировать с сессионным тестированием, где сессии ограничены по времени и цели, а результаты структурированно записываются.
  • Зависимость от навыков тестировщика. Решение: проводить попарное исследовательское тестирование и делиться находками в команде.

Исследовательское тестирование идеально дополняет сценарное (scripted) тестирование, покрывая области, которые сложно формализовать заранее.

Ответ 18+ 🔞

А, ну это же та самая магия, когда ты не как робот по бумажке идешь, а включаешь голову и начинаешь шарить! Исследовательское тестирование — это, блядь, как быть детективом в мире кода. Ты не знаешь, где спрятана хуйня, но по запаху, по опыту и по наитию начинаешь её вынюхивать.

В чём соль, блядь? Ты не тупо выполняешь список «нажми сюда, получишь то». Ты берешь фичу, вроде этой новой «Быстрой оплаты», и начинаешь её щупать со всех сторон. Одновременно изучаешь, как она работает, придумываешь, как её сломать, и тут же ломаешь. Это три в одном, как шампунь, ёпта!

Как это выглядит на практике, сука:

  1. Ставишь цель: «Щас я обламаю эту вашу быструю оплату, будьте уверены».
  2. Начинаешь ковырять:
    • Сначала по-человечески: оплатил — прошло, молодцы.
    • А потом включается волнение ебать: «А что если в самый момент списания в роутер ногой ебануть? Баланс уйдёт в минус? Или в космос?». «А если я, хитрая жопа, кнопку оплаты со скоростью пулемёта тыкать начну? Одно списание будет или десять?».
    • Идешь дальше: «А куда, сука, данные улетели? В бухгалтерскую систему? А там всё сошлось? Или там теперь у меня овердохуища денег?».
  3. Фиксируешь пиздец: Записываешь, что сломал, как сломал и почему это, блядь, не должно так работать. И заодно в голове рождаются идеи, как ещё можно поиздеваться.

Почему это охуенно:

  • Находишь такие подколы и косяки, которые ни один заранее придуманный сценарий в жизни не предугадает. Это как найти иголку в стоге сена, предварительно подбросив туда эту иголку самому.
  • Гибкость пиздец! Выкатили новую фичу — ты уже её тестируешь, а не неделю тест-кейсы пишешь.
  • Сам начинаешь понимать продукт на уровне «я знаю, где тут косяки зашиты, я их туда сам мысленно закладывал».

Но и хуйня тоже есть, куда без неё:

  • Непонятно, сколько уже наковырял. Решение — сессионное тестирование. Ставишь таймер на час-два, конкретную цель («протестить только смену валют») и по окончании пишешь, что нашёл. Всё, уже не «поматросил и бросил», а структурированный пиздец.
  • Всё упирается в твою смекалку. Если тестировщик — пень, то и исследование будет на уровне пня. Решение — попарное тестирование. Садишься с коллегой, один ковыряет, второй смотрит и подкидывает идеи. А потом меняетесь. И мозги проветриваются, и находками делитесь.

Короче, это не замена обычному тестированию, а его злой и находчивый брат-близнец. Скрипты проверяют, что всё работает как задумано. А исследовательское тестирование выясняет, как всё разъёбывается самым неожиданным образом. Без этого — никуда, товарищи!