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