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