Ответ
Тестирование проводится в разных ветках в соответствии с выбранным рабочим процессом (Git Flow, GitHub Flow, GitLab Flow).
Типичные ветки для тестирования:
| Ветка | Назначение для тестирования |
|---|---|
| *`feature/`** | Раннее/изолированное тестирование новой функциональности перед слиянием в основную ветку разработки. |
develop / dev |
Интеграционное тестирование после слияния нескольких feature-веток. Проверка взаимодействия компонентов. |
*`release/** или **qa** / **staging`** |
Всестороннее регрессионное, нагрузочное и acceptance-тестирование кандидата в релиз. Окружение максимально приближено к production. |
main / master (production) |
Финальные smoke-тесты после деплоя для подтверждения работоспособности в production-окружении. |
Пример для Git Flow:
# 1. Тестирование в feature-ветке
git checkout -b feature/user-profile
# Разработка и первоначальное тестирование фичи
# 2. После мержа в `develop` — интеграционное тестирование
git checkout develop
git merge feature/user-profile
# 3. Создание ветки `release/v1.5` для предрелизного тестирования
git checkout -b release/v1.5 develop
# Полный цикл тестирования на staging
# 4. После мержа в `main` — финальная проверка
git checkout main
git merge release/v1.5
# Smoke-тесты в production
Выбор конкретных веток определяется соглашениями команды и конвейером CI/CD.