Today test automation has achieved its peak level in the testing arena. Everyone in the community are striving to learn test automation, but to be a great test automation professional it takes more steps forward. In this article lets see how a person can strive to be a great test automation professional in the community.
First lets see how we can start this journey. To embark on your test automation career, you should be competent in any of the popular programming language like Java, .Net, Python or Ruby. Lets take Java for example. First of all you should learn the basic principals of the programming in Java like if, switch, loops, file handling and array handling. Next should be learning Object Oriented Concepts like overloading, overriding, inheritance, etc as this comes handy when you start automation and building test automation frameworks in Java and Selenium.
Now lets learn test automation with Selenium. To be fluent in Selenium let’s learn the following topics
- Write a basic web driver script
- Handling form components with Selenium
- Data driven with Apache POI
- Page factory and Page Object model in Selenium
- Writing test automation scripts with TestNG and JUnit annotations
- Test report integration with Extent or Allure reporting
- Use of BDD with Cucumber
- Maven and Selenium integration
- Continuous integration with Jenkins
- Handling windows dialog boxes with AutoIT
Next steps in learning test automation is to use maven and how we can integrate different test automation libraries with the test automation tool and the framework to make it awesome. For example integrating libraries like Apache POI, Apache Log 4 J, Image processing libraries, etc. The ability to integrate these tool and libraries brings your architectural talents. The final embarking point is to create a great industry class test automation framework which emphases on Re-usability, Configurability, Extendability, Scalability, Reportability and Viability.
1. Configurable – A framework should be configurable. It should execute scripts in different test environments. The automation framework should not be glued to a single test environment. The test framework should execute test in QA as well as Dev environments, or even production with a single change in the URL’s in a configurable excel, text or XML file. The user credentials should not be “hard-coded” in the automation script itself. Therefore such data should be configurable for a framework to survive.
2. Re-portability – Every automation framework should have a good reporting capability. The test framework engineer can choose a third party reporting library or the test framework developer can build the reporting capabilities from scratch. Good reporting framework should capture all the validation points and cover the essential checkpoints of the test scenario being automated. The reporting mechanism used should highlight the errors concise and detailed so that a test engineer can analyse and report the bug to the developer.
3. Scalability – The automation framework that you have in your organization should be scalable. It should not just applied to one project. Your automation framework should be applied throughout projects across the organization. It should be an organization-wide test automation framework.
4. Extendability – The automation framework in your organization should be extendable. The framework should be plug gable or extended easily. You should be able to integrate easily with other third party tools via APIs. Automation framework should be easily integrated with security testing tools, web proxy debugging tools (fiddler), test case management tools or with other global frameworks thereby making it more hybrid nature.
5. Re-usability – The framework should facilitate re usability 360 degrees. We should use the same methods, page objects in all the test scenarios in the test automation framework. The test automation architect should have all the methods and page objects decomposed to minimal functionality keep in mind that it should be used in several automated test scenarios.
Having these knowledge, its now time to showcase that you are a great industrial standard test automation professional in Selenium. Its time to add a great certification on Selenium which will test you on these core areas of test automation in Selenium. Having a great certification like CP-SAT will help you to be at the competitive edge among the community of Selenium test automation engineers. It also helps you to identify where you stand in Selenium test automation and what are the gaps that should be filled by you.
Hope this article gave everyone on the areas which needs to be considered when starting your career to be an awesome test automation professional.
Let’s meet again with the next part of this article soon…stay tuned….