По каким причинам дефект (баг) может быть переоткрыт (Reopened) в системе учёта?

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

Ответ

Статус Reopened присваивается дефекту, который был ранее исправлен и закрыт, но снова проявился. Это указывает на проблемы в процессе исправления или проверки.

Типичные причины:

Причина Описание
Неполное или некорректное исправление Разработчик устранил симптом, а не корневую причину, или исправление создало новую ошибку.
Регрессия Изменения в другом модуле системы или обновление зависимостей неожиданно вернули старую проблему.
Недостаточное тестирование Исправление было проверено не во всех необходимых средах (ОС, браузеры) или не для всех сценариев использования.
Ошибка окружения Дефект был закрыт на основе проверки в тестовой среде, но проявился в production из-за различий в конфигурации или данных.
Некорректное первоначальное описание В баг-репорте был описан неверный сценарий, и реальная проблема осталась.

Пример сценария с неполным исправлением:

# Исходный баг: функция падала при сложении строк и чисел.
def calculate(a, b):
    return a + b  # TypeError для str + int

# Исправление (неполное):
def calculate(a, b):
    if isinstance(a, int) and isinstance(b, int):
        return a + b
    else:
        return None # Баг переоткрыт! Логика сломана для float или str+str.

# Правильное исправление требовало бы чёткой спецификации типов или приведения.

Частые переоткрытия дефектов сигнализируют о необходимости улучшить процесс code review, покрытие тестами и критерии приёмки.