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

Ответ

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

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

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

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

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

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

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

Ответ 18+ 🔞

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

Ну смотри, представь, что приложение — это новая тачка твоего корега. Ты к нему подкатываешь.

Ad-hoc — это когда ты, блядь, такой: «О, новое корыто!». И начинаешь его ебашить просто на ощупь, от балды. Ты в салон залез, все кнопки понажимал, педаль газа в пол когда он заводится, а потом вдруг решил проверить, что будет, если в бардачок ссать. Без плана, без цели. Просто дикое, животное любопытство: «А что, если вот так вот, нахуй, сделать? А если с разбегу дверью хлопнуть?». Цель одна — найти такую дичь, о которой даже инженеры, эти, блядь, гении, не подумали. Полная импровизация, ебать мои старые костыли. Никаких тест-кейсов, один крик души и желание сломать.

Sanity (Санитарное) — это уже другое. Это когда твой корег позвонил и сказал: «Чувак, я, блядь, починил магнитолу, которая вчера горела! Приезжай, глянь». Ты приезжаешь. Ты НЕ начинаешь проверять, как открывается капот или не отвалились ли дворники после вчерашнего ливня. Нет. Ты узко, целенаправленно ебешь мозг этой самой магнитоле. Включилась? Звук есть? Радио ловит? Bluetooth подцепился? Всё, пять минут делов. Если базовая хуйня работает — значит, можно уже на более серьёзную проверку забивать стрелку. Это быстрая, прицельная проверка «не обосрались ли мы совсем» после какого-то конкретного изменения. Не дохуя всего, а только то, что трогали.

Короче, чтобы ты совсем, блядь, не запутался:

Критерий Ad-hoc (Импровизация) Санитарное (Быстрая проверка)
План Какой, нахуй, план? Полный беспредел. Есть, но в голове. Проверить то, что чинили.
Цель Найти пиздец, который все просрали. Убедиться, что чинил не криворукий мудак, и база работает.
Область Всё, что шевелится и не шевелится. Только то, куда совали свои шаловливые ручки.
Документация «Васян, я тут такую дичь нашёл, бля...» (устно). «Магнитола ок. Баг #123 пофикшен.»
Автоматизация Невозможно, ибо это искусство, ёпта. Да, можно на скорую руку скрипт написать.

Вот и вся, блядь, разница. Одно — это творческий беспредел, другое — бытовой контрольный выстрел в голову после правок.