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