Чем Ad-hoc тестирование отличается от санитарного (Sanity) тестирования?

«Чем Ad-hoc тестирование отличается от санитарного (Sanity) тестирования?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ad-hoc и Sanity тестирование — это виды неформального, обычно ручного тестирования, но с разными целями и степенью структурированности.

Ad-hoc тестирование

  • Цель: Спонтанное, исследовательское обнаружение дефектов без заранее подготовленных тест-кейсов.
  • Подход: Полная импровизация. Тестировщик полагается на интуицию, опыт и креативность, чтобы «сломать» приложение неочевидными способами.
  • Когда выполняется: В любое время, часто когда нет времени на формальное тестирование.
  • Пример: Ввод случайных спецсимволов в поле пароля, быстрое переключение между вкладками приложения, проверка реакции на нестандартную последовательность действий.

Санитарное тестирование (Sanity Testing)

  • Цель: Быстрая, поверхностная проверка после сборки или исправления дефекта, чтобы убедиться, что ключевые (затронутые изменениями) функции работают, и можно приступать к более глубокому тестированию.
  • Подход: Узконаправленное и структурированное, но без детальных сценариев. Это «здравый смысл» проверки.
  • Когда выполняется: После сборки, патча или исправления конкретного бага.
  • Пример: После исправления бага в логине:
    1. Ввести верный логин/пароль -> Успешный вход.
    2. Ввести неверный пароль -> Появляется сообщение об ошибке.
    3. Проверить, что кнопка «Войти» активна.

Сравнительная таблица

Критерий Ad-hoc тестирование Санитарное тестирование
План/Сценарии Отсутствуют (импровизация) Есть общее понимание проверяемой области
Цель Найти неизвестные, скрытые дефекты Подтвердить, что затронутые изменениями функции работают
Область Может охватывать любую часть системы Сфокусировано на конкретном изменении (узкая область)
Документация Обычно не документируется Результаты часто фиксируются
Автоматизация Практически невозможна Может быть автоматизировано как smoke-тест