Какие основные этапы включает жизненный цикл дефекта (бага) в процессе разработки ПО?

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

Ответ

Жизненный цикл дефекта — это последовательность статусов, через которые проходит баг от момента обнаружения до окончательного разрешения. Стандартный цикл включает:

  1. New / Открыт — дефект заведён тестировщиком или пользователем в системе отслеживания (Jira, YouTrack).
  2. Assigned / Назначен — баг назначен на конкретного разработчика или команду для анализа.
  3. Open / В работе — разработчик анализирует и воспроизводит проблему, начинает исправление.
  4. Fixed / Исправлен — разработчик сообщает, что исправление готово и закоммичено в соответствующую ветку.
  5. Ready for Test / Готов к тестированию — исправление попадает в тестовое окружение (например, после сборки).
  6. Testing / На проверке — тестировщик проверяет исправление (ретест) и смежные области (регрессионное тестирование).
  7. Resolution / Решение:
    • Verified / Closed (Закрыт) — баг исправлен, тестировщик подтверждает.
    • Reopened (Переоткрыт) — проблема не устранена или проявилась снова. Цикл повторяется с этапа 3.
    • Rejected / Отклонён — дефект признан некорректным (не воспроизводится, дубликат, работает как задумано).

Почему важен чёткий цикл? Он обеспечивает отслеживаемость, ответственность и контроль качества. Каждый статус имеет своего ответственного и критерии перехода.

Пример workflow в Jira:

flowchart LR
    A[New] --> B{Assigned}
    B --> C[Open / In Progress]
    C --> D[Fixed]
    D --> E[Ready for Test]
    E --> F[Testing]
    F --> G{Resolution?}
    G -->|Pass| H[Verified/Closed]
    G -->|Fail| I[Reopened]
    I --> C
    G -->|Invalid| J[Rejected]

На практике этапы могут называться иначе или объединяться в зависимости от процесса команды (Agile, Waterfall) и используемого инструмента.