Ответ
Блокер — дефект, полностью останавливающий тестирование или критическую функциональность. Действия должны быть четкими и быстрыми:
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-тесты или процесс код-ревью?