Ответ
Регрессионные дефекты — это ошибки, возникающие в ранее рабочей функциональности после внесения изменений в код, обновлений зависимостей или интеграции новых модулей.
Классический пример на Python:
# Исходная рабочая версия
def calculate_discount(price):
return price * 0.9 # Правильно: 10% скидка
# После рефакторинга появилась регрессия
def calculate_discount(price):
return price * 1.1 # Ошибка: теперь добавляет 10%
Методы выявления регрессий:
- Регрессионное тестирование — повторный прогон старых тестов
- Автоматизированные тесты — CI/CD пайплайны с полным набором тестов
- Smoke-тестирование — проверка критического функционала после деплоя
- Мониторинг продакшена — алерты по метрикам и логам
Особенности:
- Скрытые регрессии — могут проявиться только в специфичных сценариях
- Кумулятивный эффект — несколько мелких изменений могут вызвать серьёзную регрессию