Test automation has been in use for roughly 20 years. The traditional way of implementing automation utilized a programming language (C#, Java) and a framework (Selenium) to define and execute the tests. However, what if a company does not have the developers available to create these automated tests or wishes to have more non-technical resources such as Business Analysts involved?
An alternative is called ‘Script-less automation’. Users are trained on a script-less automation tool, that can create automated tests without needing to extensively script/code in a programming language. There are many of these tools available, such as Ranorex, AscentialTest, or TOSCA. To get started in using one, a company would generally need to:
Schedule a generic product demo
Create a Proof of Concept demo using a sample application to be tested
Purchase license(s) for the script-less tool
Conduct on-site and/or web based training for potential tool users
Install/configure software in client test environment
Script-less tool solves all the company’s problems
Well, the last one’s not true. There is still a very clear need to have intelligent test coverage and design trace-ability back to user stories or other requirements, and other best practices in the testing profession. The term “script-less” itself can also be misleading. Most of these tools still need direction, as to what the different elements/objects will do during test execution. These objects need to be instructed to perform actions like a mouse click, filling in field values or simulating pressing the enter key.
These tools allow companies to use functional, technical, and business application experts together to contribute, all in the same framework. Well designed, script-less frameworks can produce a fast, high quality testing environment with excellent ROI.
At a high/general level, this is how one of these tools works.
A process is started that reads the page (web, application) that will be under test. For example…if a web page, the HTML code is scanned and saved into a base/work object. We will use the GOOGLE landing page/’I’m Feeling Lucky’ button, for an example.
The scanned object contains the elements (controls, labels, etc.), that are present on the page under test.
Actions (keywords), that need to take place on the page (click a button, type into a text field, etc.), are entered usually as values associated to the element(s).
These individual objects are then combined into a work-flow, that can be run as a whole.
The goal is to build re-useable, shareable and reliable tests. Some of these tools have other capabilities as well.
Business requirements can be added, as another layer.
History of each test can be saved and viewed by other staff (BSA, Product Manager, etc.).
Tool is a repository for test cases.
Regression tests can be built, using selected tests from the repository.
Metrics, reports can be created and distributed.
In conclusion, script-less automation combines and expands the range of experts that can automate tests based on their knowledge of the system, thus giving them an efficient and reliable platform and a more robust solution, in a way that may not be achievable via record & playback or script-based frameworks.