postheadericon Функциональное тестирование. Как ускорить процесс?

SeleniumВ этой статье речь пойдет про функциональное тестирование веб-приложений, и не просто про тестирование, а скорее про его автоматизацию. Последние несколько лет эта отрасль бурно развивалась и получила широкое распространение среди тестировщиков, оставив позади ручную рутинную работу и позволяя добиться более точных данных для анализа за “относительно” короткие промежутки времени. Почему “относительно”? Потому что зачастую от автоматизированного процесса ожидают практически мгновенную выдачу результата и именно это оказывается самым большим заблуждением и причиной провала внедрения такого рода тестирования в проект.

На сегодняшний день наиболее распространённой и популярной библиотекой для автоматизации тестирования веб-приложений является Selenium WebDriver. Запущенный на выполнение тест представляет из себя полную имитацию действий пользователя в браузере, заранее в нем заложенных. Естественно, работает автотест намного быстрее, чем смог бы реальный человек, нажатие на элементы происходит в доли секунды. Почему же тогда на практике автотесты работают так долго? Происходит это по следующим причинам: страницы сайта грузятся также долго, как если бы их тестировал обычный человек, тоже самое касается загрузки динамических элементов на сайте; создание драйвера и запуск браузера занимают некоторое время, зависящее от параметров компьютера; чаще всего автотест работает слишком быстро и пытается получить доступ к элементам, которые еще не успели отобразиться – для того, чтобы этого избежать в тест между действиями добавляются ожидания. Перечисленные причины приводят к тому что в итоге скорость выполнения теста практически приближается к скорости человека.

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

1. Будьте готовы обеспечить отдел тестирования помощью программиста. Создание тестов на основе WebDriver фактически представляет собой написание программного кода. Поэтому наличие помощи разработчика значительно сэкономит время на создание автотестов и повысит их эффективность. Чтобы сократить время разработки Вы можете использовать готовый фреймворк для написания тестов, например, Thucydides. Но, как показывает практика, даже в этом случае изрядной доли программирования все равно не избежать прежде чем получится подстроить его под свои конкретные нужды.

2. Выделите отдельный сервер для тестирования. Желательно чтобы набор тестовых данных на нем был стабилен и ограничен по объему, особенно если речь идет о тестировании высоконагруженных систем или систем, связанных с хранением больших объемов данных. Чем быстрее будут стоится списки и подгружаться данные, тем быстрее будет выполняться автотест.

3. Отключите авторизацию для автотестов. Хорошей практикой при выполнении тестов считается запуск каждого нового теста в отдельном начисто открытом браузере. А это значит, что для доступа к функциям приложения необходимо каждый раз проходить авторизацию. Этот процесс может занимать от нескольких секунд до минуты в зависимости от сложности системы. Идеальным решением в таких случаях является специальный параметр, который передается в url запроса, позволяющий получить доступ к сайту без прохождения авторизации как таковой.


Оставить комментарий