Ответ
Регрессионное тестирование — это тип тестирования, цель которого — убедиться, что новые изменения в коде (исправления, новые функции, обновления) не нарушили существующий, ранее работавший функционал.
Почему это важно: Без регрессионного тестирования исправление одного бага может незаметно создать другой, что снижает общую стабильность продукта.
Когда выполняется:
- После исправления дефектов.
- После добавления новой функциональности.
- При рефакторинге кода.
- После обновления библиотек или зависимостей.
- В рамках CI/CD-пайплайна перед слиянием кода или релизом.
Пример на Python: Допустим, у нас есть протестированная функция:
def add(a, b):
return a + b
После рефакторинга в неё случайно вкралась ошибка:
def add(a, b):
return a - b # Регрессия!
Автоматизированный регрессионный тест немедленно обнаружит проблему:
assert add(2, 2) == 4 # Этот тест упадёт после изменений
Практика: Регрессионное тестирование эффективно только при высокой степени автоматизации, интегрированной в процесс разработки.