Are you developing maintainable test automation?

Welcome to my blog on test automation, which is one of the four Aโ€™s that AFourTech stands for, and is thus a major focus area within our organization. Return on Investment (#ROI) of UI test automation projects is an often discussed topic. The best time to start a #UI test automation effort in order to get the most bang for the buck, is also a much debated subject. Almost every organization talks about following a test automation design approach which ensures maintainability of automation code, and minimizes test code changes corresponding to a constantly evolving UI. But when you actually get down to designing #test automation frameworks, which technique do automation experts really use?

Take Web Applications for example, and #Selenium as the library being used for automating tests. A technique that works best for typical UI test automation projects, and that we have successfully adopted across all our projects to ensure that our code is #maintainable and #extensible is the โ€œPage Object Drivenโ€ approach.

The design of the automation code is driven by a simple concept that every screen or a page in the UI (User Interface) maps to an object-oriented class which contains methods corresponding to the actions associated with the page. Tests in turn use methods of this Object-Oriented class, thus resulting in the best possible separation between the test code and the page specific code. More Details of this โ€œPage Object Design Patternโ€ along with supporting examples can be found at http://seleniumhq.org/docs/06_test_design_considerations.html#page-object-design-pattern