By Jagadish Anandan & Madhav Kanchiraju
There are many testing tools in the market today that claim to be easy to use and maintain. However, the focus is still on harnessing scripting to push for better automation coverage.
As the lines of code grow longer, so does the complexity, resulting in higher maintenance costs for scripts and frameworks. There is a growing need to minimize the use of test scripts while improving maintainability and quality. This idea forms the foundation of Scriptless Test Automation.
This paper traces the evolution of test automation and discusses why enterprises must move towards the 5th generation test automation frameworks.
A browser extension or a plug-in records a tester's interaction with an application. Thereafter, the test-scripts are auto-generated and executed for testing. Often used when the same tests must be repeated many times over.
The test cases are divided into building blocks (i.e., modular approach) to ensure proper coverage. By breaking them into reusable pieces and placing them in a library, these units become easily referenceable. Further, these units can be combined to build larger end-to-end testing scenarios.
Application-specific scripts are coded with the provision of accommodating variable datasets. The data is stored in a database table or spreadsheet. Thus, a single test script is capable of executing tests for all the test data. Input values are extracted from the data files and stored as a variable in test scripts. It enables exercising both positive and negative test cases through a single test script.
Here, a keyword is mapped to an individual testing action. For example, a mouse click, keystrokes, selecting a menu item, etc. A sequence of operations is executed when a keyword is invoked. By dragging and dropping the keyword, the tester can simulate the user actions that correspond with the keyword. Keyword-driven scripts combined with data-driven philosophers formed the backbone of this generation. Keywords can also represent a series of actions that undertake a standard business flow.
Scriptless testing, the 5th generation testing, comprises simplified methodology embodied in objects, descriptors, and keywords. It relies on fueling the execution engine to initiate actions. In a significant departure from the fourth-generation testing which involves scripts, keywords, graphs, etc., the 5th generation testing is based on recorded test sequence. Some of the of 5th generation test automation tools include Mabl, Ranorex, Worksoft, TOSCA, etc.
Let us briefly explore how the 5th generation test automation tools function.
When the application is first set up, the tool executes the default tests that are a prerequisite for any application. To finish these tests, the tool only requires access credentials to log into the application. The default tests, over time, grow smart enough to understand how to login and navigate through the entire application.
The tool accesses the application through the browser sessions running in containers or virtual engines that reside in the cloud. It runs the tests to finish certain operations, records the output, processes the results, and supplies the insights back to the user.
The 5th generation testing lends itself for easy participation and review from business stakeholders of all hues, including development teams, testing teams, business analysts, domain experts, etc. If introduced early in the software development lifecycle, it improves the ease of script design and results in higher return-on-investment. Therefore, a good agile practice can be leveraged to implement scriptless automation.
There are many myths surrounding the scriptless test automation. Below, we address the top four:
Scriptless test automation is a disruptive testing approach that fundamentally changes the way testing is done. Advantages such as superior quality and cost-containment are manifest from the beginning of the development phase. It can also be seen as an enabler to early automation in an agile team.
It enables non-technical stakeholders to participate in the test automation process. It allows testers to design automated tests without requiring the know-how of programming languages and simplifies test design and execution, results-tracking and the maintenance of scripts.
It frees the testers' minds from non-value-added activities and helps them focus on their core goals. Scriptless test automation empowers testers to shift-left and serves the requirements of Agile testing.