The aim of the course
Want to become professional in front-end test automation? Or at least improve your knowledge and skills in Selenium Webdriver and to be able to create stable, mature and well-structured test set, which are easy to maintain when tested application changes? Are you interested in learning how to exploit the potential of combining Selenium with Continuous Integration environment? If yes, this is the right training for you.
We will start right away with the biggest concern regarding the front-end based test automation – maintenance of the test scripts. There are several approaches and tricks to use, all combined together, they actually work very well. We will discuss the layered architecture, and we will give thorough attention to the usage of Page Object design pattern and related concepts as well as how to get the maximal power from the automated tests using data grids and effective test data combinations.
The second day of the training is dedicated to the combination of automated tests with Continuous Integration environment, a configuration of the execution environment of the more extensive set of tests and advanced logging possibilities. Then, the training focuses on the test automation of mobile applications using the Selenium in combination with the Appium environment.
- Initial knowledge of Java programming language
- Initial knowledge of Selenium API
- Recommended prerequisite (but not needed, if you develop Selenium tests already): to take the course Effective Automated Testing with Selenium.
- Economics and ROI of test automation, scope selection
- How to reduce maintenance of the automated tests? A set of tips and tricks
- 3 and 4 layered Selenium test automation architecture
- Employment of reusable objects – advanced concepts
- Implementation of PageObject pattern and PageFactory
- Get the best power from the data grids
- What to feed into the data grid? Employ the efficient combinatorial testing techniques.
- Definition of PageComponent pattern and strategy of component implementation
- Implementation of ComponentFactory (using Selenium Support)
- Setting up DriverManager object for running tests locally and remotely
- Installing the Jenkins server for running tests on remote desktop
- Artifactory server and its implementation
- Integration between Jenkins and Git server
- Mobile automation through Appium on Android devices
- Implementation of Logger functionality using Log4j2 library and AspectJ
- Summary of quick-wins, good and wrong practices
Required equipment: own notebook with an up-to-date Java development IDE supporting Maven and TestNG (IntelliJ IDEA is preferred, but other IDEs can be used as well). The rest will be installed at the beginning of the training via the Maven. Prepared automated test scripts to customize and develop during the course will be given to participants via shared web folder.
Trainer: Miroslav Bureš
Consultant, trainer and researcher in software testing methods.
I have spent more than 10 years in various software testing jobs: I managed testing of several large transformation and integration projects, managed testing department of Capgemini CZ and SK, cooperated with people around the TMAP methodology, reviewed and consulted the testing processes for a number of companies, set processes for test automation and supervised test automation projects – and also gave a number of testing trainings.
Recently, with a bunch of testing fans, we published a new Czech testing book: “Efficient software testing”, published by Grada in autumn 2016.
The last 5 years I do also research and development work in testing: Machines and proper methods can greatly save time and increase the confidence in our tests – from the test design to the execution of the tests. There is still a lot of work to move these technologies forward. With my PhDs we focus on improving current test automation methods and we do experiments how to aid exploratory testing by a machine support, making it just more efficient. I am also trying to create better algorithms and methods for business workflow testing and data consistency tests.
Besides the industry trainings, I am also talking about my experience in university lectures, spanning from an introduction to good testing principles to advanced topics related to test automation and design of thorough and efficient test cases.