Подготовка Приложения Для Автоматизации Тестирования

Прежде чем приступить к автоматизации тестирования, желательно проанализировать приложение.

Чем более готово приложение к автоматизации, тем меньше проблем будет в будущем при разработке автотестов и анализе результатов.



Подготовка приложения для автоматизации тестирования

Одним из ключевых факторов успеха автоматизации является тестируемость приложения.

Благодаря тестируемости автотесты пишутся проще и быстрее.

Например, для API это публичные методы, а для UI — HTML-страница.



0. Приложение готово

Бывает, что автоматизируют слишком рано, а потом приходится переписывать.

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

1. Наличие документации

Документация помогает быстро найти нужную информацию, например, для создания тестовых данных через API. Swagger и Storybook упрощают документирование компонентов API и пользовательского интерфейса соответственно.

В зависимости от характеристик вы можете генерировать тесты .

С помощью Storybook можно узнать желаемое состояние компонента и его назначение.

Также на основе документации можно построить покрытие автотестированием, как описано на примере инструмента.

чванство-покрытие .



2. Настройте атрибуты data-*

Чтобы уменьшить количество неудачных тестов при изменении фронтенда и удобно находить элементы в DOM, нужны надежные локаторы.

Атрибуты Data-* менее подвержены изменению, например data-test="element".

Не так давно на конференции в Гейзенбуге в докладе «Как Testid-стратегия победила монстров PageObject и BDD/Cucumber» преимущества этого подхода обсуждались в рамках отчета Allure. Вы можете использовать другие локаторы, если они существуют. Приоритет можно увидеть в Тестовая библиотека .

В первую очередь мы рассматриваем локаторы, которые находятся близко к пользователю.

Сразу бонус для тех, кто следит за доступностью товара.



3. По возможности отключите анимацию во время бега

При запуске автотестов часто возникает проблема с анимацией, которая мешает кликам и другим действиям.

Рекомендуется полностью отключать такие анимации, если это возможно.



4. Параллельный запуск

С увеличением количества автотестов одним из способов сокращения времени выполнения становится распараллеливание.

Распараллеливать можно разными способами, например, через потоки или параллельные задания.

Нужно быть внимательным при параллельной работе, нужно следить за тем, чтобы приложение не зависало и не было подтормаживаний или непредвиденных ошибок.



5. Сторонние зависимости

Вы можете найти различные сторонние зависимости в архитектурных схемах или другой документации.

Их сложно контролировать, поэтому настроить их для испытаний проблематично.

Например, для стороннего API вы можете использовать Вайремок или MockWebServer .

Таким образом автотесты будут более стабильными.



6. Журналы

Логи — наши помощники в анализе и разборе результатов автотестов после запуска.

Разобраться в причинах падений становится проще.

В приложении должны быть понятные и доступные логи, в идеале — в одном месте и чтобы их можно было прикрепить к конкретному тесту.

Некоторые фреймворки позволяют прикреплять к автотесту логи из разных источников.

Такими источниками могут быть информация из консоли браузера или информация с сервера.



7. Время ответа приложения

На глобальном уровне обычно устанавливается таймаут для всех ожиданий в тестах.

Его можно рассчитать экспериментально.

Время ответа не должно превышать заданный таймаут, иначе тесты будут постоянно проваливаться и с ними нужно постоянно бороться.

Оптимальным решением здесь было бы обсуждение способов повышения производительности; возможно, есть какие-то проблемы и их нужно решить.



Заключение

Опираясь на приведенные выше советы, вы сможете упростить автоматизацию тестирования приложений.

Теги: #Тестирование веб-сервисов #Тестирование ИТ-систем #автоматизация тестирования

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.