Раздел 43 · Автотестирование с нуля

Скорость набора: профиль, дорогие фикстуры и тесты по изменениям

senior~30 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Оля · DevOps, #qa-antrakt

API теперь 5 минут, спасибо. А e2e идут 22 минуты, и пока они идут, разработчики уходят пить кофе и забывают про PR. Вчера Тимур смёржил, не дождавшись, и сломал оплату. Можно быстрее?

Савва · продакт, #qa-antrakt

Может, просто выкинуть половину тестов? Всё равно они почти всегда зелёные.

Вера Ланская · лид QA, #qa-antrakt

Выкидывать будем то, что ничего не ловит, а не то, что долго идёт. Сначала измерим, куда уходит время. Почти всегда оно уходит не туда, где его ищут.

Медленный набор это не неудобство, а дыра в процессе. Дейв Фарли в докладах о непрерывной поставке повторяет одно: ценность теста в обратной связи, а обратная связь, которая приходит через полчаса, уже не обратная связь. Человек переключился на другую задачу, и красный тест для него теперь чужая проблема. Сегодня научимся измерять набор, найдём дорогие фикстуры и разберём, как запускать на PR только то, что изменение задело.

Печь под каждую пиццу

В пиццерии жалуются, что заказ ждут сорок минут. Хозяин нанимает второго повара, потом третьего, а очередь не тает. Тогда он садится с секундомером и видит: пицца печётся четыре минуты, а печь перед каждой пиццей разогревают с нуля, пятнадцать минут. Повара тут ни при чём, и печь не медленная: её просто каждый раз выключают.

В наборе тестов роль печи играют фикстуры. Сам тест часто идёт за 50 миллисекунд, а перед ним полторы секунды создаётся пользователь через UI, логинится браузер и сбрасывается стенд. Пока не измеришь, кажется, что медленные сами тесты, и их хочется выкинуть.

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.