Ответ
Bug Leakage (Утечка дефектов) — это метрика и ситуация в тестировании, когда дефекты, существовавшие в системе на момент определённой фазы тестирования (например, системного тестирования), не были в ней обнаружены, но были выявлены позже — на следующей фазе (приёмочное тестирование) или, что хуже, в production-среде конечными пользователями.
Чем отличается от Bug Release?
- Bug Leakage: дефекты пропущены тестировщиками на конкретном этапе.
- Bug Release: дефекты известны, но сознательно не исправлены перед релизом (например, из-за низкого приоритета).
Типичные причины утечки дефектов:
- Недостаточное тестовое покрытие: отсутствуют тест-кейсы для сложных, редких или интеграционных сценариев.
- Ошибки в тест-дизайне: тесты не отражают реальное использование продукта.
- Ограничения тестовой среды: различия между тестовой и production-средой (данные, конфигурация, нагрузка).
- Человеческий фактор: ошибки тестировщиков, усталость, невнимательность.
- Сжатые сроки: вынужденное сокращение объёма регрессионного тестирования.
Пример: В мобильном банке функция «быстрый платёж по шаблону» корректно работала в тестовой среде с подготовленными данными. Однако после релиза у пользователей со сложными шаблонами (много получателей, разные валюты) операция завершалась ошибкой. Дефект «утек», так как тестирование не покрывало все возможные комбинации шаблонов.
Методы предотвращения:
- Риск-ориентированное тестирование: фокус на наиболее критичных и часто используемых функциях.
- Использование production-like данных и среды для тестирования.
- Автоматизация регрессионных тестов для ключевых сценариев.
- Проведение exploratory-тестирования для выявления неочевидных сценариев.
- Внедрение практик shift-left: привлечение тестировщиков к обсуждению требований на ранних этапах.