Ответ
Тестирование критического пути (Critical Path Testing) — это техника тест-дизайна, фокусирующаяся на проверке наиболее важного, сквозного сценария использования приложения, который реализует его основную бизнес-ценность. Это минимальная последовательность шагов, необходимая для выполнения ключевой задачи пользователя.
Зачем это нужно?
- Приоритизация: Обеспечивает работоспособность самого важного функционала в первую очередь.
- Раннее обнаружение блокирующих дефектов: Позволяет быстро выявить ошибки, которые делают продукт непригодным для использования.
- Основа для смоук-тестов: Часто критический путь составляет ядро набора смоук-тестов.
Пример для интернет-магазина:
- Открытие главной страницы.
- Поиск товара через строку поиска.
- Добавление товара в корзину.
- Переход в корзину и начало оформления заказа.
- Заполнение данных доставки и выбор способа оплаты.
- Подтверждение и завершение заказа.
Ключевой принцип: Тест должен проверять полный поток от начала до конца, имитируя действия реального пользователя.
# Псевдокод/структура теста критического пути для магазина
def test_e2e_critical_path():
# 1. Инициализация (открытие сайта)
driver.get(HOMEPAGE_URL)
assert is_page_loaded("Homepage")
# 2. Поиск товара
search_box = driver.find_element(By.ID, "search")
search_box.send_keys("iPhone 15" + Keys.RETURN)
assert "Результаты поиска" in driver.page_source
# 3. Добавление первого товара в корзину
first_product = driver.find_element(By.CSS_SELECTOR, ".product-list .item:first-child")
first_product.find_element(By.CLASS_NAME, "add-to-cart-btn").click()
assert "Товар добавлен" in get_toast_message()
# 4. Оформление заказа...
go_to_cart()
proceed_to_checkout()
fill_shipping_details(TEST_USER_DATA)
select_payment_method("card")
place_order()
# 5. Верификация успеха
assert "Заказ подтвержден" in driver.title
order_id = get_order_confirmation_number()
assert order_id is not None