Ответ
Блокер — дефект, полностью останавливающий тестирование или критическую функциональность. Действия должны быть четкими и быстрыми:
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-тесты или процесс код-ревью?
Ответ 18+ 🔞
А, ну вот, классика жанра подъехала! Блокер, ёпта! Это не просто баг, это пиздец в квадрате, который всё встаёт колом, как будто кто-то врубил рубильник на сервере. Тут не до философии, тут действовать надо, пока начальство не начало ебать мозг.
1. Поймать за жопу и понять, где живёт Первым делом — не паниковать, а зафиксировать, как этот урод себя проявляет. Записывай ВСЁ: какие кнопки тыкал, какие данные вводил, под какой луной это случилось. Потом попробуй воспроизвести это на другой машине, в другом браузере. Если баг плавает — уже хуже, но всё равно ищи закономерность. Собирай все улики: логи, скриншоты, дампы — всё, что может указать на преступника. Без этого к разработчикам с пустыми руками приходить — себя не уважать.
2. Кричать «КАРАУЛ!» на всех уровнях
Как только понял, что это реально блокер — сразу выставляй высший приоритет. «Blocker», «Critical», «СРОЧНО, ВСЁ ГОВНО!» — называй как хочешь. Дальше — тревога. Пишешь тимлиду, продакту, всем разработчикам в общий чат: «Народ, у нас пиздец на проде, всё падает, смотрите задачу №666». Работу над всем остальным останавливаем, создаём отдельную ветку hotfix-panic-attack и начинаем чинить, минуя все обычные согласования. Потому что когда горит — не до ритуалов.
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. Когда починили — работа только начинается Ок, фикс залили, система ожила. Можно выдохнуть? Не-а. Теперь надо всё протестировать по новой, особенно то, что рядом с местом катастрофы лежало. Это называется регрессионное тестирование, и пропускать его — самоубийство. А потом самый важный вопрос: какого хуя этот баг вообще проскочил в прод? Может, unit-тесты кривые? Или на код-ревью все спали? Нужно разобраться и процесс поправить, чтобы в следующий раз не обосраться таким же макаром. Иначе история будет повторяться, а это, блядь, уже не смешно.