Савва · продакт, #qa-antrakt
Пятница, 19:10, выкатили релиз. В 19:52 поддержка пишет: «зрители жалуются, что оплата висит». Сорок минут никто ничего не продал. Конвейер был зелёный, все ворота пройдены. Как так?
Оля · DevOps, #qa-antrakt
Нашла: в проде новый секрет вебхука «ПлатиМ» лёг не в ту переменную. Оплата 3-D Secure ушла в банк, вебхук пришёл, наш API ответил 401, заказ остался неоплаченным. На стенде секрет свой, а stage ходит в песочницу с другим ключом.
Тимур · бэкенд, #qa-antrakt
То есть код правильный, а выкладка нет. Тесты такое и не должны ловить?
Вера Ланская · лид QA, #qa-antrakt
Тесты до выкладки проверяют код. Выкладку проверяет только прод. Плохо не то, что сломалось, а то, что мы узнали об этом от зрителей через сорок минут. Узнавать должны мы и через пять.
Это тот самый инцидент блока K: тесты зелёные, прод лежит. В прошлом уроке мы выяснили, что stage не совпадает с продом по данным, нагрузке, интеграциям, флагам и конфигу. Секрет вебхука это конфиг. Ни одно окружение до прода его не видело и не могло увидеть.
Приборы в дороге
Перед дальней поездкой машину проверяют в гараже: масло, тормоза, давление в шинах. Это тесты до выкладки, и без них ехать нельзя. Но в дороге за рулём никто не говорит «в гараже всё было хорошо, значит, и сейчас хорошо». Водитель смотрит на приборы: температура, топливо, лампочки. А раз в пару часов останавливается, обходит машину и пробует тормоза на пустом участке.
Приборы это мониторинг: он постоянно показывает, что происходит. Контрольная остановка это синтетический тест: проверка, которую ты делаешь сам, специально, по расписанию, чтобы не ждать, пока что-то загорится. В дороге нужны и те и другие, и ни одно из них не заменяет гараж.
урок из курса
Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.