Ответ
Оба подхода проверяют основные функции, но с разной глубиной и целью.
Smoke Testing (Дымовое тестирование)
- Цель: Быстрая проверка базовой работоспособности сборки (билда) после развертывания. Ответ на вопрос: "Можно ли начинать серьезное тестирование?"
- Глубина: Поверхностная. Проверяет, не "сломалось ли самое главное".
- Объем: Небольшой набор ключевых позитивных сценариев.
- Пример для веб-приложения:
- Приложение запускается.
- Открывается главная страница.
- Пользователь может войти в систему.
Critical Path Testing (Тестирование критического пути)
- Цель: Глубокое тестирование основных бизнес-сценариев, которые наиболее важны для пользователя и приносят ценность продукту.
- Глубина: Детальная. Проверяет полные пользовательские потоки, включая валидацию данных и интеграции.
- Объем: Охватывает основные use cases.
- Пример для интернет-магазина:
- Поиск товара.
- Добавление в корзину.
- Оформление заказа с выбором доставки.
- Оплата (имитация).
- Проверка статуса заказа в личном кабинете.
Итог: Smoke Testing — это "ворота" для принятия билда, а Critical Path Testing — это основа проверки функциональности.
Ответ 18+ 🔞
Давай разжую эту тему, как последнюю котлету в столовой, чтобы даже менеджер на скейтборде понял.
Представь, выкатили вы новую версию своего приложения. Все такие: "О, свежак!" Но перед тем как всей толпой наброситься и тестировать каждую кнопку, нужно сделать одну простую вещь.
Дымовое тестирование (Smoke Test) — это как сунуть нос в дверь и понюхать: "А не пахнет ли жареным, блядь?"
- Суть: Быстро-быстро, на коленке, проверить, а не развалилось ли всё к ебеням после обновления. Не завелось — уже хорошо.
- Глубина: Поверхностная, как мысли твоего кума после пятой рюмки. Главное — не упало ли самое основное.
- Что делаем? Буквально три действия:
- Запустилось ли приложение вообще, или оно накрылось медным тазом?
- Открывается ли главная страница, или вылезает хуй с винтом (404 ошибка)?
- Можно ли залогиниться, или система тебя посылает нахуй?
Если на эти три вопроса ответ "да" — ура, билд не полностью дохлый. Можно начинать настоящее тестирование. Если "нет" — всё, пиздец, разработчикам возвращать на переделку, а нам идти пить чай. Это и есть "ворота".
А вот теперь, когда мы внутри и ничего не дымится, начинается Тестирование критического пути (Critical Path).
Это уже не нюхание, а полноценная проверка: "А оно вообще работает так, как задумано, или это просто красивая оболочка, которая нихуя не может?"
- Суть: Протестировать до одури самые главные, хлебные сценарии, ради которых пользователь вообще это приложение скачал. Те самые, на которых бизнес деньги зарабатывает.
- Глубина: Детальная, въедливая. Мы проходим весь путь от и до, как самый дотошный клиент.
- Что делаем (например, для интернет-магазина)? Сценарий "Купить хуйню":
- Найти товар через поиск (а не через 15 кликов в меню).
- Засунуть его в корзину (и чтобы она это запомнила, а не обнулилась).
- Оформить заказ, выбрать доставку (чтобы не пришло "самовывоз из Магадана").
- Пройти оплату (имитированную, ебать её в сраку, но процесс должен быть).
- Зайти в личный кабинет и увидеть там свой заказ со статусом "Не "потерялся", блядь".
Итог, чтобы два раза не вставать:
- Smoke Test — это быстрое "живо/мертво"? Приняли билд в работу или послали нахуй.
- Critical Path — это основа основ. Если эти пути не работают, то ваше приложение — просто мартышлюшка, пожирающая батарею. Всё остальное — вторично.
Короче, сначала убедись, что дом не горит, а потом уже проверяй, течёт ли крыша и работает ли хуй с винтом — унитаз.