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

«Чем отличается статус тест-кейса ‘Blocked’ от статуса ‘Critical’?» — вопрос из категории Управление тестированием, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Статусы 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 — это оценка серьезности дефекта, найденного после провала теста.