Атомарный подход в тестировании | OTUS

Атомарный подход в тестировании

Хотите ускорить создание новых автотестов, заодно упростив поддержку старых? Постарайтесь избавиться от громоздких end-to-end-кейсов там, где это возможно. Это станет хорошим шагом на пути к оптимизации автотестирования на проекте.

Сами по себе end-to-end-тесты, разумеется, хороши. Однако бывают ситуации, когда необходимо поверить лишь один конкретный экран или даже конкретную часть информации, которая на этом экране находится. Согласитесь, довольно накладно проходить все стадии, начиная с авторизации пользователя.

1_KMFrX776LOznXpsJSfQXVw_1-1801-161679.jpeg

Допустим, тестируемый продукт — это интернет-магазин, а нам надо проверить лишь чек, который будет отправлен покупателю после покупки конкретного товара. В случае с end-to-end-проходкой мы для получения одного-единственного экрана заходили бы по зарегистрированному паролю и логину, выбирали бы товар, потом подтверждали покупку и т. д. и т. п., то есть выполняли бы много шагов, которые, по большему счету, не связаны с конкретной задачей тестирования. При этом достаточно вспомнить, что каждый шаг занимает время, причем немалое. К примеру, проходка такого end-to-end-пути целиком может занять до 2 минут, тогда как проверка конкретного экрана – не более 10 секунд.

a3d0f324_e779_4885_9aa3_4a418ea6ebd6_1-1801-3eaf29.jpg

Именно поэтому целесообразно перейти к так называемым атомарным проверкам, которые обращаются лишь к тому экрану, который интересует нас в рамках прохождения тест-кейса.

Также для сравнения экранов можно внедрить snapshot-тестирование — оно позволит проверить большую часть UI. А уже имея тесты и код программного приложения в одном репозитории, вы сможете задействовать в тестах методы этого приложения. И, соответственно, находить ошибки при сравнении тестовых снимков экрана с эталонными снимками.

Подход со snapshot-тестами позволяет заметно уменьшить время проверки готовой версии приложения перед отправкой на продакшн. А весь набор таких тестов может запускаться автоматически при открытии pull request’а и прогоняться в течение часа, в результате чего разработчики быстро получат фидбек о проблемах в текущей ветке.

Конечно, определенное количество end-to-end-тестов на проекте быть должно. Но они оправданы лишь там, где нужна проверка больших бизнес-сценариев. Просто помните об этом.

По материалам https://habr.com/ru/company/maxilect/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто