Что означает статус дефекта «Not a Bug» (Не баг)?

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

Ответ

Статус "Not a Bug" присваивается отчету о проблеме, когда описанное поведение системы не является дефектом, а соответствует документации, требованиям или является ожидаемой особенностью.

Типичные причины для установки статуса "Not a Bug":

  1. Ошибка в тест-кейсе или тестовых данных.
  2. Неверная интерпретация требований тестировщиком или пользователем.
  3. Ожидаемое поведение системы (например, специфичная бизнес-логика).
  4. Проблема в окружении (браузер, ОС, версия библиотеки), а не в коде приложения.
  5. Особенность технологии (например, погрешность вычислений с плавающей точкой).

Пример (Python):

def calculate_discount(price):
    return price * 0.9  # 10% скидка

# Тест может упасть из-за особенностей float-арифметики
result = calculate_discount(100.0)  # 90.00000000000001
assert result == 90.0  # AssertionError!

В данном случае расхождение вызвано не багом в методе, а особенностью хранения чисел с плавающей точкой. Правильный тест должен использовать допустимую погрешность:

assert abs(result - 90.0) < 0.0001

Статус помогает отделить реальные дефекты от проблем в процессе тестирования.