Manual Testing

БЛОК 6. Работа с багами — 21. Severity, Priority и жизненный цикл бага

📚 25 вопросовПройти тест →
Лекция

БЛОК 6. Работа с багами — 21. Severity, Priority и жизненный цикл бага

Manual Testing

БЛОК 6. Работа с багами — 21. Severity, Priority и жизненный цикл бага

🧭 Введение: зачем QA понимать Severity, Priority и lifecycle

После того как баг найден и заведен, команде нужно понять три вещи: насколько дефект тяжелый, насколько срочно его исправлять, и где он сейчас находится в процессе. Для этого нужны Severity, Priority и lifecycle.
Если эти три части не разделять, triage быстро превращается в хаос: команда спорит о приоритетах, а не принимает решения по фактам.
💡 Совет:
Всегда разделяй в голове три вопроса: насколько больно, насколько срочно и где сейчас баг в процессе.
Вывод:
Severity, Priority и lifecycle — это основа осознанных релизных решений.

⚠️ Проблема -> решение

Проблема: новички часто путают severity и priority, а статусы бага воспринимают как формальность. В результате дефекты получают неверный приоритет, зависают в очереди или закрываются слишком рано.
Решение: работать по понятной модели: сначала оценить влияние (severity), потом срочность в контексте релиза (priority), затем вести баг по прозрачному жизненному циклу.
🟢 Если совсем просто:
Severity = насколько тяжело, Priority = насколько срочно, Lifecycle = на каком шаге обработки бага мы сейчас.
🎯 Как понять, что этап прошел успешно:
Команда одинаково трактует оценки и статусы, а дефекты двигаются по процессу без хаоса.

🛠️ Чем помогает и как работает

Эта модель нужна, чтобы не чинить "все подряд". Она помогает команде фокусироваться на том, что реально важно для пользователей и релиза.
Как это работает:
  • Шаг 1: QA фиксирует дефект и ставит предварительную severity.
  • Шаг 2: на triage команда подтверждает priority и владельца.
  • Шаг 3: баг проходит по статусам жизненного цикла.
  • Шаг 4: после фикса QA делает retest и закрывает/переоткрывает.
Вывод:
Оценки и статусы превращают поток багов в управляемый процесс.

📚 Ключевые термины (простыми словами)

  • Severity — тяжесть дефекта и его влияние.
  • Priority — срочность исправления в текущем плане.
  • Triage — встреча/процесс, где багу назначают приоритет и владельца.
  • Lifecycle — путь бага от создания до закрытия.
  • Retest — повторная проверка после фикса.
  • Reopen — переоткрытие бага, если проблема осталась.

1. Severity vs Priority: в чем разница

Это главный фундамент темы. Почти все начинающие QA сначала смешивают эти два параметра.
🟢 Если совсем просто:
Severity отвечает на вопрос "насколько больно", Priority отвечает на вопрос "насколько срочно чиним".
🎯 Как понять, что этап прошел успешно:
QA может объяснить, почему баг с высокой severity иногда получает не самый высокий priority, и наоборот.
Назначение:
Развести тяжесть дефекта и срочность его исправления.
Простыми словами:
Severity — про влияние дефекта, Priority — про план работ команды.
Главное правило:
Severity показывает тяжесть самого дефекта. Priority показывает срочность исправления именно сейчас, в текущем релизном контексте.
Для новичка:
Не ставь priority только по эмоциям от бага. Всегда смотри на контекст релиза.
Сравнение:
ПараметрЧто показываетКто обычно влияет
SeverityТехническая/пользовательская тяжестьQA + dev
PriorityСрочность исправления в релизеQA + PM/lead
Вывод:
Severity и Priority связаны, но это разные решения.

2. Как оценивать Severity (базовая модель)

Severity должна отражать реальное влияние дефекта. Для junior лучше использовать простую и повторяемую шкалу.
🟢 Если совсем просто:
Чем сильнее баг ломает критичный поток, данные или безопасность, тем выше severity.
🎯 Как понять, что этап прошел успешно:
Severity в тикете аргументирована фактическим влиянием.
Назначение:
Сделать оценку тяжести единообразной в команде.
Простыми словами:
Оцени не "насколько раздражает", а "насколько ломает".
Для новичка:
Перед оценкой задай базовые вопросы по влиянию.
Мини-чеклист Severity:
  • ломается ли критичный пользовательский поток;
  • теряются ли деньги или данные;
  • есть ли риск безопасности;
  • есть ли обходной путь;
  • затронуты все пользователи или узкая группа.
Пример шкалы:
  • Critical — сервис/критичный поток недоступен, серьезный финансовый или security риск.
  • High — сильная деградация важной функции, но есть обходной путь.
  • Medium — заметная ошибка, влияющая на UX/функцию без критического ущерба.
  • Low — косметика или незначительная проблема.
Вывод:
Severity должна опираться на влияние, а не на субъективную важность "лично для нас".

3. Как оценивать Priority (в контексте релиза)

Priority зависит не только от дефекта, но и от текущего плана. Один и тот же баг в разных релизах может получить разный приоритет.
🟢 Если совсем просто:
Priority = срочность фикса с учетом дедлайна и релизного риска.
🎯 Как понять, что этап прошел успешно:
Команда может объяснить, почему баг чинится сейчас/позже.
Назначение:
Управлять очередью исправлений под реальные сроки.
Простыми словами:
Priority показывает место бага в очереди работ.
Для новичка:
Не назначай всем дефектам P0. Высокий приоритет должен быть обоснован.
Мини-чеклист Priority:
  • баг блокирует текущий релиз;
  • затронут ли основной бизнес-поток;
  • есть ли дедлайн или выкладка прямо сейчас;
  • существует ли временный workaround;
  • сколько пользователей пострадает до следующего релиза.
Пример шкалы:
  • P0 — чиним немедленно, блок релиза.
  • P1 — чиним в текущем цикле.
  • P2 — можно перенести в следующий спринт.
  • P3 — низкий приоритет, backlog.
Вывод:
Priority — это решение по времени исправления, а не дубль severity.

4. Жизненный цикл бага: от открытия до закрытия

Статусы нужны не "для Jira", а для прозрачности процесса. По lifecycle видно, где именно застрял дефект.
🟢 Если совсем просто:
Lifecycle показывает путь бага: найден -> проверен -> исправлен -> подтвержден -> закрыт.
🎯 Как понять, что этап прошел успешно:
По статусу всегда ясно, кто сейчас владелец следующего действия.
Назначение:
Сделать движение бага по процессу понятным для всей команды.
Простыми словами:
У каждого статуса есть конкретный смысл и ответственный.
Для новичка:
Перед сменой статуса спроси: какое действие завершено и какое действие ожидается дальше.
Важное правило:
Статус бага должен показывать реальное состояние работы, а не просто "куда его перетащили в Jira".
Типовой lifecycle:
  1. Open — баг заведен.
  2. In Progress — разработчик взял в работу.
  3. Fixed — исправление заявлено.
  4. Retest / Verified — QA проверил фикс.
  5. Closed — дефект подтвержденно устранен.
Дополнительный статус:
  • Reopened — баг вернули в работу, если проблема осталась.
Важно:
Названия статусов могут отличаться в разных командах:
  • Open / New
  • In Progress / Assigned
  • Fixed / Ready for Retest
  • Verified / QA Passed
  • Closed / Done
Но смысл обычно один: баг найден -> взят в работу -> исправлен -> проверен -> закрыт.
Вывод:
Lifecycle позволяет команде управлять дефектами, а не просто "копить тикеты".

5. Когда и почему баг переоткрывают (Reopen)

Переоткрытие — нормальная часть процесса, а не "ошибка QA". Главное — делать это с фактами и обновленным контекстом.
🟢 Если совсем просто:
Если после Fixed дефект воспроизводится, баг нужно reopen.
🎯 Как понять, что этап прошел успешно:
Reopen сопровождается новыми шагами, средой и артефактами.
Назначение:
Вернуть дефект в работу корректно и без эмоциональных споров.
Простыми словами:
Reopen = "фикса недостаточно", а не "кто-то виноват".
Для новичка:
При reopen всегда указывай: что проверяли, что ожидали, что получили, на каком build.
Вывод:
Качественный reopen ускоряет второй цикл исправления.

6. Кто принимает решения по Severity и Priority

Это командная работа, а не личное решение одного человека. Важно понимать зоны ответственности.
🟢 Если совсем просто:
QA предлагает оценку, команда подтверждает ее на triage.
🎯 Как понять, что этап прошел успешно:
По каждому дефекту есть согласованный severity, priority и владелец.
Назначение:
Снизить конфликты и сделать решения предсказуемыми.
Простыми словами:
Severity и priority — это договоренность команды на основе фактов.
Практическое правило:
QA обычно предлагает severity. Priority чаще подтверждается на triage командой. Финальное решение зависит от релиза, дедлайна и бизнес-риска.
Для новичка:
Если есть спор, не спорь "на словах": покажи влияние, частоту, артефакты и релизный контекст.
Вывод:
Факты и единые критерии важнее личных оценок.

7. Конфликтные случаи: как думать правильно

Иногда у бага высокая severity, но невысокий priority. Или наоборот: невысокая severity, но urgent priority.
🟢 Если совсем просто:
Оцени влияние отдельно, срочность отдельно, затем своди в релизное решение.
🎯 Как понять, что этап прошел успешно:
Каждый спорный кейс имеет объяснение "почему так приоритизировали".
Назначение:
Научиться принимать непротиворечивые решения в реальных условиях.
Простыми словами:
Не все "тяжелые" баги чиним первыми, и не все "легкие" можно откладывать.
Для новичка:
Не пытайся "угадать правильный priority". Твоя задача — обосновать предложение фактами: влиянием, охватом, релизным риском и workaround.
Пример:
Баг A:Severity = High, Priority = P2Причина: редкий admin-only поток, релиз не блокирует. Баг B:Severity = Medium, Priority = P0Причина: в день релиза ломает основной checkout у части пользователей.
Вывод:
Сильный QA умеет объяснить приоритет с учетом контекста, а не только уровня тяжести.

📌 Must-know факты

  • Severity показывает влияние дефекта, Priority — срочность исправления.
  • Severity и Priority могут отличаться и это нормально.
  • Жизненный цикл бага должен быть прозрачным для всей команды.
  • Reopen — рабочий инструмент, если дефект не устранен полностью.
  • Решения по priority принимаются с учетом релизного контекста.

❗ Частые мифы

Миф: Severity и Priority — одно и то же.
Как правильно: Severity про тяжесть, Priority про очередь исправления.
📎 Почему это важно: Иначе triage становится хаотичным.
Миф: Если баг получил Fixed, его нельзя переоткрывать.
Как правильно: При воспроизведении после фикса баг нужно reopen с фактами.
📎 Почему это важно: Это защищает качество релиза.
Миф: Priority определяет только QA.
Как правильно: Priority — командное решение на triage.
📎 Почему это важно: Так учитываются и технические, и продуктовые риски.
Миф: Все критичные баги всегда блокируют релиз.
Как правильно: Решение зависит от контекста, обходных путей и фактического охвата проблемы.
📎 Почему это важно: Это снижает риск необоснованных релизных стопов.

💬 Часто спрашивают на собеседованиях

Вопрос: Чем Severity отличается от Priority? ✅ Ответ: Severity показывает тяжесть дефекта, а Priority — срочность его исправления в текущем плане.
Вопрос: Кто должен ставить Priority? ✅ Ответ: Обычно это командное решение на triage с участием QA, dev и PM/lead.
Вопрос: Что делать, если баг после фикса повторяется? ✅ Ответ: Переоткрыть тикет (Reopened) и приложить обновленные шаги, build и артефакты.
Вопрос: Какие статусы жизненного цикла бага нужно знать junior QA? ✅ Ответ: Open, In Progress, Fixed, Retest/Verified, Closed, а также Reopened для повторного открытия.
Вопрос: Может ли баг быть Medium severity, но P0 priority? ✅ Ответ: Да, если в текущем релизном контексте он срочно влияет на ключевой пользовательский поток.

🚨 Типичные ошибки

Ошибка 1: Priority ставят по эмоциям

Было:
"Мне кажется это супер срочно, ставлю P0."
Стало:
Priority обоснован релизным риском и влиянием.
Объяснение:
Приоритет без аргументов ломает planning.

Ошибка 2: Severity оценивают по "кто громче говорит"

Было:
Оценка меняется без фактов и критериев.
Стало:
Severity ставится по влиянию на поток, данные и безопасность.
Объяснение:
Единые критерии делают оценку стабильной.

Ошибка 3: Баг закрывают без ретеста

Было:
Статус Fixed сразу переводят в Closed.
Стало:
QA делает retest и только потом закрывает.
Объяснение:
Без ретеста растет риск ложного закрытия.

Ошибка 4: Не используют Reopen

Было:
При повторном проявлении заводят новый тикет без связи.
Стало:
Переоткрывают существующий баг с новыми фактами.
Объяснение:
Так сохраняется история дефекта и проще анализировать корень проблемы.

Ошибка 5: Статусы бага не обновляют

Было:
Тикет неделями висит в Open, хотя уже в работе.
Стало:
Статус актуален и отражает реальный этап.
Объяснение:
Актуальные статусы делают процесс прозрачным.

✅ Best Practices

  • Всегда разделяй оценку влияния (severity) и срочности (priority).
  • Используй единые критерии severity для всей команды.
  • Подтверждай priority на triage, а не в одиночку.
  • Перед закрытием бага обязательно делай retest.
  • При повторе дефекта корректно используй Reopened.
  • Держи статусы тикетов актуальными.
  • В спорных кейсах опирайся на факты и релизный контекст.

🏁 Заключение

Severity, Priority и жизненный цикл бага — это практический инструмент управления качеством. Когда QA умеет правильно оценивать дефекты и вести их по lifecycle, команда быстрее принимает решения и стабильнее выпускает релизы.
Для junior это один из ключевых шагов от "нашел баг" к "управляет дефектами как часть команды".
🎯

Проверьте знания

Закрепите материал — пройдите тест по теме «БЛОК 6. Работа с багами — 21. Severity, Priority и жизненный цикл бага»

Пройти тест →