Ответ
Приоритет: сначала исправление бага (bugfix), затем новая функциональность (feature). Это минимизирует риск пропустить регрессию критичного исправления.
План действий:
-
Анализ исправления бага:
- Воспроизвести баг по шагам из отчета, чтобы убедиться в его существовании.
- Проверить, что предоставленный фикс действительно устраняет проблему.
- Выполнить регрессионное тестирование смежных областей, чтобы убедиться, что исправление ничего не сломало.
-
Тестирование новой функциональности:
- Протестировать фичу по позитивным и негативным сценариям на основе требований.
- Проверить интеграцию с существующим функционалом и влияние на систему.
Пример проверки багфикса для API (Python, pytest):
import requests
def test_bugfix_api_endpoint():
# Раньше запрос с этими параметрами падал с 500
response = requests.get("https://api.example.com/data", params={"id": "invalid_id"})
assert response.status_code == 400 # Ожидаем корректный код ошибки клиента
assert "error" in response.json() # И структурированное сообщение об ошибке
Почему так? Багфикс — это исправление уже сломанного поведения, и его некорректная реализация напрямую ухудшает продукт для пользователей.