Оля · DevOps, #qa-antrakt
Ночной прогон опять красный: 14 тестов оплаты упали с
ConnectError. Песочница «ПлатиМ» лежала с двух до пяти. Вчера она отвечала, но медленно, и прогон шёл сорок минут вместо восьми. Позавчера мы выбрали их лимит в 100 запросов в час, и половина тестов получила 429.
Дина · интегратор «ПлатиМ», #platim-antrakt
Песочница у нас общая на всех клиентов, гарантий по ней нет, это в договоре. И да, отказ по карте и 500 в песочнице не закажешь: она всегда отвечает «оплачено».
Вера Ланская · лид QA, #qa-antrakt
Значит, тесты нашего клиента «ПлатиМ» вообще не должны ходить в их песочницу. Тимур клиент под внедрение пока не переделает, поэтому подменяем не клиент, а сеть под ним. И заодно наконец проверим, что мы делаем, когда шлюз отвечает отказом или молчит.
В прошлом уроке ты ждал, пока чужая система договорит: письмо придёт, статус сменится. Сегодня обратная задача. Наш код говорит с чужой системой, и мы хотим проверить, как он себя ведёт, не трогая её вовсе. Причём во всех настроениях этой системы: и когда она отвечает «оплачено», и когда отказывает, и когда падает, и когда молчит.
Тренажёр пилота
Пилота не учат садиться в грозу, дожидаясь грозы. Его сажают в тренажёр. Кабина в тренажёре настоящая: те же приборы, тот же штурвал, те же руки пилота. Подделан только мир за стеклом. Инструктор нажимает кнопку, и за стеклом гроза, отказ двигателя, боковой ветер, то, что в настоящем небе не закажешь по расписанию.
Клиент «ПлатиМ» это кабина. Мы не будем подменять в нём ни одной детали: пусть строит URL, собирает заголовки, сериализует JSON и ловит ошибки, как в бою. Подменим только то, что за стеклом: сеть. И сами решим, какая там сегодня погода.
урок из курса
Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.