Почему стратегии деплоя важны для QA

Способ деплоя ПО напрямую влияет на подходы к тестированию. Big-bang деплой требует иных подходов QA, чем постепенный канареечный rollout.

Обзор стратегий

Blue-Green деплой

Два идентичных продакшен-окружения. После валидации green трафик мгновенно переключается. Blue остаётся для rollback.

Шаги QA-валидации:

  1. Задеплоить новую версию в green
  2. Запустить полный набор smoke-тестов против green
  3. Проверить миграции БД
  4. Переключить трафик на green
  5. Немедленно запустить продакшен smoke-тесты
  6. Мониторить метрики 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 часов

Ключевые выводы

  1. Выбирайте стратегию по толерантности к рискам — критические системы требуют canary
  2. Определите критерии rollback до деплоя
  3. Тестируйте сам rollback — непротестированный rollback — не план
  4. Активно мониторьте во время rollout
  5. Канареечные деплои — лучший друг QA — ограничивают радиус поражения