Вера Ланская · лид QA, #qa-antrakt
Ночью снова упал
test_create_user: 409, логин занят. Перезапустили, зелёный. Это третий раз за месяц, и никто не может повторить. В отчёте логинkQzPa, ни о чём не говорит. Посмотри, откуда у Глеба берутся данные для тестов, и сделай так, чтобы по упавшему тесту было понятно, что в нём было.
В прошлом уроке ты приручил часы и случайность: заморозил время и дал генератору сид. Сегодня очередь самих данных, на которых бегут тесты. Пользователи, заказы, промокоды. Разберёмся, откуда их брать, чтобы тест читался с одного взгляда, не падал по воле случая и не ломался от правки чужого теста.
Реквизиторский цех
В театре есть реквизиторский цех. На полках стоят заготовки: стул, чашка, письмо в конверте. Режиссёру нужен стул со сломанной ножкой для третьего акта. Он не просит «стул номер 4817 из дальнего угла» и не строгает стул сам. Он говорит: «обычный стул, только с надломленной ножкой». Реквизитор берёт стандартный стул и меняет одну деталь.
Зрителю из зала видна эта деталь. Что у стула за обивка и какого года выпуска, неважно. Важно, что ножка сломана, потому что на этом построена сцена.
Тестовым данным нужен такой же цех. Тест просит «обычный заказ, только VIP и на пять билетов». Всё остальное берётся по умолчанию, валидное и скучное. А в тексте теста видно ровно то, на чём построена проверка.
урок из курса
Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.