January 13, 2014
The Evolution of Test Automation: From Record & Playback to Codeless
Implemented well, automated testing not only complements agile development processes, it reduces cost of test execution, enables developers to focus on core operations by automating repetitive tasks, and eventually it increases testing accuracy as well as helps to deliver a better solution faster.
Over the years, test automation tools and processes have matured to simplify the process of developing test automation and creating reliable test scripts. Focusing on the capabilities and limitations of prominent test automation approaches, this article will trace the evolution of test automation.
Record and Playback
The central feature of first generation test automation tools, record & playback was especially useful for regression testing. For this method, every test case is a series of actions with test data hardcoded into it. While this approach required minimal coding at the beginning, the scripts were unstable and minor errors or changes in the data disrupted the automation. So, any small changes in the applications had to be made to the test case in order to run it.
Use and Reuse of Functions
The second generation of testing automation frameworks, offered a script-based approach and as such, took a giant leap forward. The tool IDEs were similar to developer IDEs, and the automation tools even offered support for object-oriented languages. Testers could use a number of APIs to simplify common Windows-based tasks.
While this approach enabled developers to automate testing more than even before, it also forced the developers to work hard on creating new test processes and scripts. In short, the testing process became a time-consuming process, requiring technical skills specific to testing tool.
Data & Scripts Separation
The first two generations of test tools did not offer enough scope for broad test coverage and maintainability. Data driven frameworks address these problems by separating automation scripts from the data of the application under testing. The test library is made from test scripts while the test data is created separately. Driver scripts play a major role in this kind of testing. This process enables the programmers to expand the test coverage by using the test scripts with various data sets, but it results in creation of a lengthy and test automation code that demands lots of time and effort for maintenance modification and rewriting.
Action Keyword Scripts
The fourth generation framework try to offer all the advantages of the previous frameworks while minimizing all the limitations. The test is now driven by the keywords and not the scripts: the test data uses keyword to start a sequence of actions for testing. So, when the test runs within this testing method, the tool will automatically go through scripts specified by the keywords. The biggest advantage of this approach is that the testers have full control over the process, and it is easier for non-programmers to design and execute test cases. However, successful implementation of action keyword script requires custom coding, and regular code maintenance can eat up time and money in case of large-scale projects.
Advanced Codeless Test Automation
When using a codeless test automation tool, the users do not have to program scripts for each and every test case in the tool’s native language. With codeless test automation tools, it is possible for train non-tech resources as test professionals. Instead of using code editors, the testers can now work in a graphical environment. This enables the testers to create test cases by simply choosing objects and actions from drop-down menus. Also, codeless test automation allows all the stakeholders – including Business Analysts and Domain Experts – to participate in and contribute to the testing effort.
As can be seen, codeless test automation represents the cutting edge of testing technology. In addition to increasing testing coverage and accuracy, it promotes greater stakeholder participation and increases testing process productivity. Nevertheless, the success of your test automation depend on how well the automation tool fits your development process. So, it is wise to invest enough time and effort while selecting the test automation tool.