- Контроль качества, #2.1, Губернаторский зал
Работал в компании ISD около 5 лет на должности QA Automation Engineer for backend. Занимался разработкой и внедрением инструментов автоматизации для функционального и инсталляционного тестирования приложений. Так же год работал на должности Perl программиста. В настоящее время более 3 лет занимаюсь UI автоматизацией и исследованием различных методик упрощения поддержки и механизмов ускорения Selenium автотестов. Так же объектом интереса является внедрение и разработка различных уровней абстракции и паттернов проектирования в инструментах и системах автоматизации различных уровней приложений.
В своем докладе я раскрою проблему поддержки UI автоматизированных тестов и предложу эффективные методики по дизайну инструментов UI автоматизации и тестов в целом. В докладе предлагается рассмотреть введение дополнительной поведенческой сущности, которая позволит на этапе поддержки UI тестов не отвлекаться на общие проверки и действия с элементами, а сосредоточить все внимание инженера по автоматизации на локаторах элементов и адаптации логики теста под изменения в приложении. Здесь рассматривается и предлагается эффективная трехуровневая архитектура организации UI автотестов и использование паттернов проектирования, которые значительно ускоряют поддержку тестов и делают их не просто стабильными, но и адаптивными. Так же будет озвучена проблема валидации, так как очень важно проверять присутствие на странице некоторых элементов на самом раннем этапе прогона теста. Это позволит не только значительно сократить количество обращений к браузеру, что значительно ускорит тесты, но и получить понятные юзер ориентированные ошибки, которые просты для анализа. Будет рассмотрен компонентный валидатор, который позволяет проверять присутствие элемента на странице на этапе инициализации компонентов и решит озвученные выше проблемы. Так же в докладе будет уделено небольшое внимание page валидатору.
Также будет уделено внимание динамическим локаторам и динамическим ожиданиям, так как построение адаптируемых динамических локаторов позволяет строить адаптивные и стабильные тесты, значительно уменьшает количество ложных срабатываний и за счет природы легковесности локатора существенно упрощает и ускоряет поддержку автотестов. Кроме этого будет рассмотрено построение динамических ожиданий, так как эта тема к сожалению актуальна и по сей день. Очень многие инженеры по автоматизации используют статические ожидания без затраты ресурсов на проведение анализа и написания динамического слушателя ожидания.
В своем докладе я немного расскажу о том, как построен процесс поддержки в компании mail.ru и поделюсь секретом, как один автоматизатор может поддерживать и поддерживает UI автоматизированные тесты на 12 проектах одновременно.
Средний и начальный уровень UI автоматизаторов
