Что такое Regression-тестирование

«Что такое Regression-тестирование» — вопрос из категории Методологии разработки, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Regression-тестирование — это тип тестирования, при котором проверяется, что новые изменения в коде не сломали существующий функционал. Оно выполняется после внесения изменений, исправлений багов или добавления новых фич.

Пример:
Допустим, у нас есть функция сложения:

def add(a, b):
    return a + b

После рефакторинга:

def add(a, b, c=0):
    return a + b + c

Regression-тесты должны убедиться, что старые вызовы add(2, 3) по-прежнему работают (возвращают 5), а новые (add(2, 3, 4)) дают ожидаемый результат (9).

Когда применяется:

  • После исправления багов
  • После рефакторинга
  • При слиянии веток в Git
  • Перед релизом

Используется для минимизации рисков регрессии — появления старых ошибок или неожиданных побочных эффектов.