Ответ
Дефект (баг) — это отклонение фактического поведения программы, компонента или системы от ожидаемого, описанного в требованиях, спецификациях, пользовательских историях или стандартах.
Ключевые характеристики:
- Проявление: Может затрагивать функциональность, пользовательский интерфейс, производительность, безопасность или совместимость.
- Источник: Не всегда является ошибкой в коде. Дефектом могут быть некорректные требования, документация или конфигурация среды.
Пример кода с дефектом:
def calculate_discount(price, discount_percent):
# Ожидается: price - (price * discount_percent / 100)
return price * discount_percent / 100 # Дефект: возвращает только сумму скидки, а не итоговую цену
Важные нюансы:
- Отличие от отказа: Дефект — это внутренняя причина, а отказ (failure) — её внешнее проявление для пользователя.
- Скрытые дефекты: Могут не проявляться годами до наступления специфических условий.
- Приоритет и серьезность: Оцениваются отдельно (насколько срочно чинить vs. насколько сильно влияет на систему).