release
3 статей
-
Тестирование фича-флагов и A/B-экспериментов: как не отправить в прод кашу из вариантов
Флаг — это не «вкл/выкл», а живая ветка кода в проде, которую надо тестировать в обоих состояниях. Разбор от первого лица: почему один флаг превращается в матрицу состояний; где живут злые баги таргетинга и sticky-бакетинга; как тестировать A/B-эксперимент как механику, а не гипотезу; kill switch, флаги-зомби и чек-лист перед релизом.
-
Тестирование обновлений — баги, которые видят только юзеры со старой версией
Релиз идеально протестирован — на чистой установке. А почти все юзеры получат его обновлением поверх старой версии со старыми данными. Разбор от первого лица: почему апдейт = новый код читает старые данные, матрица версий N-5 → N и цепочки миграций, обновление посреди сессии, force update и его обходы, staged rollout и сервер на две версии, downgrade как краш-луп, первый запуск после апдейта ≠ FTUE — и почему в шкафу должен лежать архив старых билдов.
-
Knight Capital: как $440 млн испарились за 45 минут из-за одного деплоя
Разбор катастрофы 1 августа 2012 года глазами QA: переиспользованный feature-флаг, незамеченный 8-й сервер, мёртвый код Power Peg и 97 проигнорированных алертов. 7 уроков и чек-лист релиз-процесса на 10 пунктов.