Что такое Bug Leakage (утечка дефектов) в тестировании ПО?

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

Ответ

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

Чем отличается от Bug Release?

  • Bug Leakage: дефекты пропущены тестировщиками на конкретном этапе.
  • Bug Release: дефекты известны, но сознательно не исправлены перед релизом (например, из-за низкого приоритета).

Типичные причины утечки дефектов:

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

Пример: В мобильном банке функция «быстрый платёж по шаблону» корректно работала в тестовой среде с подготовленными данными. Однако после релиза у пользователей со сложными шаблонами (много получателей, разные валюты) операция завершалась ошибкой. Дефект «утек», так как тестирование не покрывало все возможные комбинации шаблонов.

Методы предотвращения:

  • Риск-ориентированное тестирование: фокус на наиболее критичных и часто используемых функциях.
  • Использование production-like данных и среды для тестирования.
  • Автоматизация регрессионных тестов для ключевых сценариев.
  • Проведение exploratory-тестирования для выявления неочевидных сценариев.
  • Внедрение практик shift-left: привлечение тестировщиков к обсуждению требований на ранних этапах.