Что такое баг-провод (wire bug) в тестировании? Приведи пример.

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

Ответ

Баг-провод (или пропущенный дефект) — это ситуация, когда тест проходит успешно, но не обнаруживает ошибку, потому что проверяет не ту логику или использует данные, которые её маскируют.

Пример на Python:

def calculate_total(items):
    total = 0
    for item in items:
        # Потенциальный баг: не учтена скидка или налог
        total += item['price'] * item['quantity']
    return total

# Тестовые данные
items = [
    {'price': 10, 'quantity': 2},
    {'price': 5, 'quantity': 0}  # Количество = 0
]
# Результат: 20. Тест проходит.
# Баг-провод: тест не выявляет, что логика не обрабатывает
# случай quantity=0 (например, не должна добавлять товар в отчёт).

Почему это происходит:

  • Тест проверяет только итоговую сумму, а не бизнес-правила.
  • Данные quantity=0 не влияют на сумму, но могут влиять на другие процессы (наличие товара в чеке, расчёт скидок). Как избежать: Писать тесты, которые проверяют не только выходные данные, но и побочные эффекты, состояние системы и соблюдение бизнес-правил.