Какие основные статусы жизненного цикла баг-репорта?

Ответ

Типичный workflow баг-репорта включает следующие статусы (названия могут незначительно отличаться в разных системах, например, Jira, Bugzilla):

  1. New / Open — дефект только что создан и ожидает первоначальной проверки.
  2. Assigned / In Progress — баг назначен разработчику и находится в работе.
  3. Fixed / Resolved — разработчик завершил исправление и отправил код на проверку. Часто требует указания Resolution (см. ниже).
  4. Ready for Test / Pending Verification — исправление выложено на тестовое окружение и готово для проверки тестировщиком.
  5. Verified / Closed — тестировщик подтвердил, что исправление работает корректно, и баг закрыт.
  6. Reopened — баг был воспроизведён снова после фикса. Возвращается в статус New/Open или Assigned.

Дополнительные Resolution (причины закрытия) или отдельные статусы:

  • Duplicate — дефект является дубликатом уже существующего.
  • Won't Fix — баг признан валидным, но его исправление не планируется (низкий приоритет, затраты > пользы).
  • Cannot Reproduce — команда не смогла воспроизвести проблему на предоставленных данных.
  • Not a Bug / Works as Intended — описанное поведение является корректным согласно требованиям.
  • Deferred / Postponed — исправление отложено на будущие релизы.

Пример типичного цикла в Jira:

[OPEN] → [IN PROGRESS] → [RESOLVED (Fixed)] → [VERIFIED] → [CLOSED]
                     ↳ [REOPENED] ─────┘

Почему это важно: Чёткое следование workflow и правильное использование статусов обеспечивает прозрачность процесса, позволяет отслеживать прогресс и избегать потери дефектов.

Ответ 18+ 🔞

Давай разжую тебе эту бюрократическую канитель про баг-репорты, чтобы ты не сдох от скуки, пытаясь въехать в их ебучую систему.

Представь, ты нашёл таракана в борще. Это и есть баг. Ты такой: «Повар, у тебя тут жук в супе плавает!». Вот это состояние — New / Open. Таракан обнаружен, лежит и ждёт, пока на него посмотрят.

Дальше повара (разработчика) тыкают носом в твою находку и говорят: «Разбирайся, мудила». Баг переходит в статус Assigned / In Progress. Повар почесал жопу, поковырялся в кастрюле, выловил таракана и заявляет: «Всё, починил!». Это статус Fixed / Resolved. Но, блядь, это же не значит, что он его съел! Он просто говорит, что выкинул. А вдруг там ещё один? Или он не того таракана выловил?

Поэтому исправленный код вываливают на отдельную тарелку — тестовое окружение. Статус Ready for Test / Pending Verification. Ты, как тестировщик, должен прийти, ткнуть в эту тарелку вилкой и убедиться, что тараканов больше нет. Если всё чисто — ставишь Verified / Closed. Баг закрыт, все счастливы.

А теперь, хуле бывает! Ты пришёл проверить, а этот ёбаный таракан опять там, сука, плавает! Или его брат-близнец. Ты орешь: «Повар, да ты слепой, блядь?!». И баг летит обратно в Reopened. И весь цирк начинается с начала.

Но это ещё не всё, о, нет! Иногда баг закрывают, даже не починив. Вот тебе магические отмазки, они же Resolution:

  • Duplicate — «О, да тут уже такой же таракан в багрепорте №666 лежит! Иди нахуй, дубликат». Экономия времени, чо.
  • Won't Fix — «Да, таракан есть. Но он маленький, питательный, и на его поимку уйдёт три дня. Забьём хуй, пусть плавает». Классика.
  • Cannot Reproduce — «Ты что, обкурился? Никакого таракана тут нет. Может, это у тебя в глазах двоится?». Любимая отмаза разработчика.
  • Not a Bug / Works as Intended — «Так и задумано! Это не таракан, а фирменная чёрная перчинка! Иди учи матчасть, долбоёб». Чувствуешь мощь?
  • Deferred / Postponed — «Таракан? Ага, вижу. Но мы его прихлопнем в следующем квартале. А сейчас у нас спринт по добавлению блёсток в борщ».

Вот, например, как эта пляска выглядит в Jira, если всё идёт по плану (что бывает реже, чем хотелось бы):

[OPEN] → [IN PROGRESS] → [RESOLVED (Fixed)] → [VERIFIED] → [CLOSED]
                     ↳ [REOPENED] ─────┘

А нахуй это всё нужно? Да затем, чтобы не было бардака, блядь! Чтобы каждый мудак в команде понимал, на каком этапе находится каждая проблема. Чтобы баги не терялись в пучине беспамятства, а ты не орал через месяц: «А где тот таракан, который в супе был?!». Это карта, которая не даёт тебе заблудиться в трёх соснах собственного ебанного проекта. Прозрачность, отслеживание, и чтобы всем было понятно — кто сейчас должен ебашить, а кто может пока пить кофе.