Test automation is the holy grail of software testing. Even though new tools have emerged over the years, automation still has many challenges. It is maintenance intensive, it is fragile in nature and it requires programming experience, as more tests are added lot of code is duplicated. It is necessary to overcome these challenges in the current fast paced agile software development environment. If these challenges are not overcome, then automation will either be prohibitively expensive and slow or it will be ineffective. Or, in the worst cases, it will not be at all.
In order to overcome the problems related to test automation, we analyse the code generally written for test automation. Test automation consists of tests and assertions. It contains calls to the automation tool API in order to automate the steps for each test case. In some cases, there is also some code to access a database or file system etc. to get data. By systematically breaking down the code and segregating it into different layers we can create a framework that can be used to overcome the above mentioned challenges. The paper “Multi-layer Test Automation Framework” contains detailed discussion on this topic. The suggested approach is generic and can be implemented irrespective of the tools used for automation.
Nividous has taken this approach with great benefits in its Outsourced Product Lifecycle Services as well as BPM Programs. Here is link to Multilayer Test Automation