Чем отличается статус тест-кейса ‘Blocked’ от статуса ‘Critical’?

Ответ

Статусы Blocked и Critical отражают принципиально разные ситуации в процессе тестирования.

  • Blocked (Заблокирован): Тест-кейс не может быть выполнен в данный момент из-за внешних препятствий. Дефект находится не в тестируемой функции, а в её зависимостях или окружении.

    • Причины: Связанный функционал не реализован, тестовое окружение недоступно, есть блокирующий баг в другой части системы.
    • Действие: Тест откладывается до устранения блокирующей причины.
  • Critical (Критический): Тест-кейс был выполнен и провалился, обнаружив дефект высочайшей важности, который блокирует дальнейшее тестирование или делает ключевой функционал системы нерабочим.

    • Причины: Падение основного сценария (например, невозможность авторизоваться, создать заказ).
    • Действие: Дефекту присваивается наивысший приоритет для немедленного исправления.

Пример на Python (pytest):

import pytest

def test_user_login():
    # Проверка предусловия: если API авторизации лежит, тест BLOCKED
    if not is_auth_service_available():  
        pytest.skip("Сервис авторизации недоступен -> Status: Blocked")

    # Основная проверка: если логин падает, тест FAILED, а баг — CRITICAL
    result = login(username="valid_user", password="valid_pass")
    assert result is True, "Не удалось войти в систему -> Выявлен Critical баг"

Ключевое отличие: Blocked — это статус до выполнения теста (нельзя запустить), а Critical — это оценка серьезности дефекта, найденного после провала теста.

Ответ 18+ 🔞

Давай разберём эту хуйню, а то народ путает, как последние идиоты. Слушай сюда, я тебе на пальцах объясню, а то у тебя в глазах уже квадратные зрачки от этих статусов.

Представь, ты пришёл на кухню яичницу делать. Берёшь сковородку, а она, блядь, дырявая. Всё, пиздец. Ты даже яйца разбить не можешь, потому что инструмент говно. Это — Blocked. Тест не запустился, потому что окружение или зависимость — говно. Сервер лег, фича соседа не доделана, тестовая база сдохла. Делать нехуй, ждём, пока дыру в сковородке заварят.

А теперь другая история. Сковородка целая, огонь есть, масло налил. Разбиваешь яйцо, а оно, сука, зелёное и воняет сероводородом. Ты его на сковородку, а оно тебе в ответ: «Пошёл нахуй, я тухлое». Основной сценарий — приготовить еду — обосрался на самом старте. Это — Critical. Тест-то ты запустил, он отработал, но нашёл такую дичь, что дальше двигаться бессмысленно. Весь ключевой функционал встал колом. Не залогиниться, не купить, не сохранить — пиздец полный.

Короче, запомни раз и навсегда:

  • Blocked — это «не могу даже начать, потому что всё вокруг — говно».
  • Critical — это «начал, сделал, и тут же обосрался на самом главном, пиздец какой-то».

Смотри, на коде даже покажу, чтоб ты, наконец, въехал. Блоки кода не трогаю, они святы.

import pytest

def test_user_login():
    # Проверка предусловия: если API авторизации лежит, тест BLOCKED
    if not is_auth_service_available():  
        pytest.skip("Сервис авторизации недоступен -> Status: Blocked")
        # Всё, пошли нахуй. Нельзя даже попробовать. Ждём, пока админы сервак поднимут.

    # Основная проверка: если логин падает, тест FAILED, а баг — CRITICAL
    result = login(username="valid_user", password="valid_pass")
    assert result is True, "Не удалось войти в систему -> Выявлен Critical баг"
    # Вот тут мы уже в деле. Но если эта строка падает — это пиздец, товарищ. Это Critical.
    # Потому что если зайти нельзя, то и тестировать дальше нехуй.

Уловил разницу, гений? В первом случае ты даже до assert не дошёл, тебя отфутболили нахуй. Во втором — ты дошёл, проверил, и система тебе показала большой и жирный кукиш. Вот этот кукиш и есть Critical баг.

Не путай горячее с мягким, а то потом на ретроспективе будешь как дурак объяснять, почему ты неделю сидел на Blocked, когда надо было багу Critical приоритет впендюрить.