Каков алгоритм действий при обнаружении блокирующего дефекта (блокера)?

«Каков алгоритм действий при обнаружении блокирующего дефекта (блокера)?» — вопрос из категории Управление тестированием, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Блокер — дефект, полностью останавливающий тестирование или критическую функциональность. Действия должны быть четкими и быстрыми:

1. Воспроизведение и локализация

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

2. Немедленная эскалация

  • Назначить наивысший приоритет (Blocker/Critical).
  • Уведомить тимлида, продакт-менеджера и всю команду разработки.
  • Создать отдельную ветку для срочного исправления, минуя обычный workflow.

3. Поиск и реализация обходного пути

  • Определить, можно ли временно отключить проблемную функцию.
  • Проверить, работает ли предыдущая стабильная версия.
  • Документировать временное решение для пользователей/тестировщиков.

4. Пример отчета о блокере:

// Шаги воспроизведения:
// 1. Отправить POST-запрос с пустым телом на /api/v1/orders
// 2. Сервис падает с 500 ошибкой (NullPointerException)
// Ожидаемое поведение: возврат 400 Bad Request с описанием ошибки.

// Стек-трейс из логов:
// java.lang.NullPointerException: Cannot invoke "Order.getItems()"
//     at OrderService.process(OrderService.java:45)

5. После фиксации:

  • Провести регрессионное тестирование на исправленной версии.
  • Проанализировать root cause: почему баг прошел в прод? Нужно ли улучшить unit-тесты или процесс код-ревью?