Сценарное vs. исследовательское

Несмотря на тысячи материалов о тестировании, путаница в этом противостоянии, на мой взгляд, все еще повсеместна. Тест-кейсы с чек-листами писать на курсах/в книжках учат, о наличии исследовательского тестирования так или иначе упоминают, ну а дальше как-то это, давайте сами

Так и я уяснил когда-то сам: есть сценарное, а есть исследовательское. При этом сценарное — безоговорочный чемпион: тест-кейсы с чек-листами пиши, а уже потом, если останется время (его не останется), можно посмотреть в сторону исследовательского. Или же строго наоборот — тестировать надо было вчера, о тест-кейсах думать некогда, поэтому применяем только околоисследовательские техники

По мере рассмотрения формирования исследовательского тестирования становится понятен не только конфликт, но и его решение (которое, кстати, было бы очевидно, если бы не волна формализации) — вот статья, которая расставляет все по своим местам

Кратко по этапам:

  • 1.0: Восстание. Исследовательское воспринимается как противопоставление сценарному; отношение к исследовательскому тестированию как к отдельному виду, технике или подходу. Сценарное — для проверки того, что дефектов нет, а исследовательское — для поиска дефектов

  • 1.5: Объяснение. Поиск пересечений исследовательского и сценарного, расширение сценарного с помощью эвристик; термин “ad hoc” (“для данного случая”) определяет неквалифицированное исследовательское тестирование. Предлагаются формальные схемы SBTM и TBTM — исследовательское тестирование может быть контролируемым

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

  • 3.0: Нормализация. Сценарии — это техника, которая помогает исследовательскому тестированию, а исследовательское — любое настоящее тестирование. При этом “сценарий” — это не только какая-нибудь инструкция, а любой фактор, который лежит за пределами влияния тестировщика (предрассудки, организационная культура и т.п.)

В общем, выполнение одних только сценариев без исследования превращает тестирование в механический набор проверок, больше похожий на нестабильные автотесты из-за вмешательства человеческого фактора. Если мы тестируем по сценариям, мы всё равно исследуем, просто через эти самые сценарии

comments powered by Disqus

Тестирование

Теория (принципы, уровни и т.д.), тест-анализ и тест-дизайн (эквивалентное разбиение, граничные значения, таблица решений, состояния и переходы, комбинаторные техники), исследовательское тестирование (туры Уиттакера, чит-листы, SBTM и TBTM)

Автоматизация

Языки: Python, Swift, SQL

UI (web): Selene, Playwright, могу написать свой враппер поверх Selenium WebDriver. Строю стабильные CSS- и XPath-селекторы, использую Page Object Model и её вариации (Element/Steps/Fluent Page Object)

API: REST API (OpenAPI/Swagger), gRPC (Protobuf), SOAP (WSDL/XSD), Requests, Pydantic, Postman

Mobile: Нативные автотесты с XCTest для iOS, кросс-платформенные с Appium (Screen Object Model, запуск на симуляторах и реальных устройствах)

AI

MCP, Skills, Rules, AI-assisted coding (Claude, Codex), локальные модели с Ollama

CI/CD и инфраструктура

Git, GitHub/GitLab, Git Flow, Conventional Commits, Commitizen, Pytest, Docker, Selenoid, Allure Reports, allure-notifications, GitLab CI/GitHub Actions/Jenkins, GNU/Linux (Debian 13)