#автоматизация #автотесты
🚀 Готовим приложение для автоматизации тестирования
Прежде чем приступить к автоматизации тестирования необходимо проанализировать приложение. Чем больше приложение готово, тем меньше проблем будет при разработке автотестов, анализе результатов и т.д.
Ниже перечислены основные пункты, на которые стоит обратить внимание:
0) Готовность приложения
Бывает так, что автоматизируют слишком рано, и в итоге потом нужно всё переписывать. Готовы ли основные фичи? Не поменяется ли логика через неделю? Не поменяется ли вёрстка?
1) Доступность документации
Swagger, Storybook и другие.
Для API тестирования, для создания тестовых данных потребуется документация.
На основе неё можно даже генерировать тесты.
2) Расставляем data-* атрибуты
Для уменьшения количества падающих тестов в случае изменений на фронте, а также для более удобного нахождения элементов в DOM, необходимы надёжные локаторы. Менее подвержены изменениям именно data-* атрибуты у элемента, например, data-test="element".
3) По возможности отключаем все анимации и капчу на время теста
Есть анимация и тест опять "моргнул"? Хорошей практикой является полное отключение подобных анимаций, которые мешают кликам проходить.
4) Параллельный запуск
Рано или поздно придёт время уменьшать время прогона путём параллелизации тестов. Сможет ли приложение поддерживать несколько потоков одновременно? Запустите тесты в парочку потоков и проверьте, не падает ли приложение, не происходит ли ранее не обнаруженных замедлений.
5) Third-party зависимости
Для некоторых случаев автоматизации требуется замокать third-party зависимости, на которые мы никак не можем повлиять, например, стороннее API.
6) Логи
Как вы будете анализировать и разбирать результаты прогона автотестов? У приложения должны быть понятные и доступные логи, в идеале в одном месте и чтоб их можно было подцепить к нужному тесту.
7) Время ответа приложения
На глобальном уровне обычно выставляется таймаут для всех ожиданий в тесте. Какой он будет — решать вам. Время ответа не должно будет превышать заданный таймаут, иначе тесты будут постоянно падать, а вы постоянно разбираться. Надо выяснить в чём именно причина долгих ответов и решить этот вопрос.
Post #47
286
- 🔥 3
- 👍 2