В чем разница между Critical Path Testing и Smoke Testing?

Ответ

Оба подхода проверяют основные функции, но с разной глубиной и целью.

Smoke Testing (Дымовое тестирование)

  • Цель: Быстрая проверка базовой работоспособности сборки (билда) после развертывания. Ответ на вопрос: "Можно ли начинать серьезное тестирование?"
  • Глубина: Поверхностная. Проверяет, не "сломалось ли самое главное".
  • Объем: Небольшой набор ключевых позитивных сценариев.
  • Пример для веб-приложения:
    1. Приложение запускается.
    2. Открывается главная страница.
    3. Пользователь может войти в систему.

Critical Path Testing (Тестирование критического пути)

  • Цель: Глубокое тестирование основных бизнес-сценариев, которые наиболее важны для пользователя и приносят ценность продукту.
  • Глубина: Детальная. Проверяет полные пользовательские потоки, включая валидацию данных и интеграции.
  • Объем: Охватывает основные use cases.
  • Пример для интернет-магазина:
    1. Поиск товара.
    2. Добавление в корзину.
    3. Оформление заказа с выбором доставки.
    4. Оплата (имитация).
    5. Проверка статуса заказа в личном кабинете.

Итог: Smoke Testing — это "ворота" для принятия билда, а Critical Path Testing — это основа проверки функциональности.

Ответ 18+ 🔞

Давай разжую эту тему, как последнюю котлету в столовой, чтобы даже менеджер на скейтборде понял.

Представь, выкатили вы новую версию своего приложения. Все такие: "О, свежак!" Но перед тем как всей толпой наброситься и тестировать каждую кнопку, нужно сделать одну простую вещь.

Дымовое тестирование (Smoke Test) — это как сунуть нос в дверь и понюхать: "А не пахнет ли жареным, блядь?"

  • Суть: Быстро-быстро, на коленке, проверить, а не развалилось ли всё к ебеням после обновления. Не завелось — уже хорошо.
  • Глубина: Поверхностная, как мысли твоего кума после пятой рюмки. Главное — не упало ли самое основное.
  • Что делаем? Буквально три действия:
    1. Запустилось ли приложение вообще, или оно накрылось медным тазом?
    2. Открывается ли главная страница, или вылезает хуй с винтом (404 ошибка)?
    3. Можно ли залогиниться, или система тебя посылает нахуй?

Если на эти три вопроса ответ "да" — ура, билд не полностью дохлый. Можно начинать настоящее тестирование. Если "нет" — всё, пиздец, разработчикам возвращать на переделку, а нам идти пить чай. Это и есть "ворота".

А вот теперь, когда мы внутри и ничего не дымится, начинается Тестирование критического пути (Critical Path).

Это уже не нюхание, а полноценная проверка: "А оно вообще работает так, как задумано, или это просто красивая оболочка, которая нихуя не может?"

  • Суть: Протестировать до одури самые главные, хлебные сценарии, ради которых пользователь вообще это приложение скачал. Те самые, на которых бизнес деньги зарабатывает.
  • Глубина: Детальная, въедливая. Мы проходим весь путь от и до, как самый дотошный клиент.
  • Что делаем (например, для интернет-магазина)? Сценарий "Купить хуйню":
    1. Найти товар через поиск (а не через 15 кликов в меню).
    2. Засунуть его в корзину (и чтобы она это запомнила, а не обнулилась).
    3. Оформить заказ, выбрать доставку (чтобы не пришло "самовывоз из Магадана").
    4. Пройти оплату (имитированную, ебать её в сраку, но процесс должен быть).
    5. Зайти в личный кабинет и увидеть там свой заказ со статусом "Не "потерялся", блядь".

Итог, чтобы два раза не вставать:

  • Smoke Test — это быстрое "живо/мертво"? Приняли билд в работу или послали нахуй.
  • Critical Path — это основа основ. Если эти пути не работают, то ваше приложение — просто мартышлюшка, пожирающая батарею. Всё остальное — вторично.

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