Почему стратегии деплоя важны для QA
Способ деплоя ПО напрямую влияет на подходы к тестированию. Big-bang деплой требует иных подходов QA, чем постепенный канареечный rollout.
Обзор стратегий
Blue-Green деплой
Два идентичных продакшен-окружения. После валидации green трафик мгновенно переключается. Blue остаётся для rollback.
Шаги QA-валидации:
- Задеплоить новую версию в green
- Запустить полный набор smoke-тестов против green
- Проверить миграции БД
- Переключить трафик на green
- Немедленно запустить продакшен smoke-тесты
- Мониторить метрики 15-30 минут
Канареечный деплой
Направить малый процент трафика на новую версию. Постепенно увеличивать при здоровых метриках.
QA-валидация на каждой фазе:
- Error rates (сравнение canary vs. baseline)
- Время ответа (P50, P95, P99)
- Бизнес-метрики (конверсия)
- Метрики инфраструктуры (CPU, память)
Rolling деплой
Обновление инстансов по одному. В любой момент часть работает на старой версии, часть на новой.
Shadow деплой
Новая версия рядом с продакшеном, но без реального трафика. Зеркалирование продакшен-трафика и сравнение ответов.
Процедуры Rollback
Критерии Rollback
| Метрика | Порог | Действие |
|---|---|---|
| Error rate | > 1% увеличение | Автоматический rollback |
| Время ответа P95 | > 500мс | Алерт + ручное решение |
| Конверсия | > 5% снижение | Ручной rollback |
| Сбои health check | Любой под нездоров > 2 мин | Автоматический rollback |
Тестирование Rollback
Критично: Тестируйте саму процедуру rollback. Непротестированный rollback — не план, а надежда.
Упражнение: Спроектируйте валидацию деплоя
Ваша команда переходит с big-bang на canary. Спроектируйте план валидации для 4-фазного канареечного rollout обновления обработки платежей.
Решение
До деплоя
- Полная регрессия прошла в staging
- Тесты платёжного sandbox пройдены
- Миграция БД протестирована и обратима
Фаза 1: 1% трафика (30 минут)
- Процент успешных платежей ≥ 99.5%
- Время ответа API P95 < 300мс
- Ноль ошибок 500 от новой версии
Фаза 2: 10% трафика (2 часа)
- Сравнение canary vs. baseline со статистической значимостью
- Проверка обработки возвратов
Фаза 3: 50% трафика (4 часа)
- Полное сравнение метрик
- Валидация нагрузочного тестирования
Фаза 4: 100% трафика
- Полная suite smoke-тестов
- Мониторинг 24 часа
- Rollback готов 48 часов
Ключевые выводы
- Выбирайте стратегию по толерантности к рискам — критические системы требуют canary
- Определите критерии rollback до деплоя
- Тестируйте сам rollback — непротестированный rollback — не план
- Активно мониторьте во время rollout
- Канареечные деплои — лучший друг QA — ограничивают радиус поражения