Ответ
Да, регрессионное тестирование после хотфикса обязательно. Даже небольшое изменение может непреднамеренно повлиять на другие, казалось бы, несвязанные части системы.
Почему это важно:
- Побочные эффекты: Исправление может нарушить существующую функциональность.
- Зависимости: Код часто имеет скрытые зависимости.
- Скорость изменений: Хотфиксы часто делаются быстро, что повышает риск ошибок.
Что следует проверить в первую очередь:
- Непосредственно исправленную функциональность.
- Смежные модули и интеграционные точки, связанные с измененной областью.
- Критичные бизнес-сценарии (smoke/sanity тесты), чтобы убедиться, что система в целом работоспособна.
- Ранее исправленные баги в той же области для предотвращения рецидивов.
Практический подход:
- Автоматизируйте ключевые сценарии для быстрого прогона.
- Выполняйте выборочный (targeted) регресс, сфокусированный на зоне риска.
Пример тест-кейса (Python/pytest):
def test_regression_after_hotfix():
# 1. Проверяем, что хотфикс работает
assert apply_hotfix("bug_123") == SUCCESS
# 2. Проверяем, что базовая функциональность не сломана
assert user_can_login("test_user", "password123") is True
# 3. Проверяем связанную функцию
user_profile = get_user_profile("test_user")
assert user_profile["status"] == "active"