A simple definition of “script-less test automation” might be “an approach that helps users automate their tests without having to script or code using any programming language.” Testing demands functional knowledge, however automation is a software development process that demands core technical capabilities. Test automation, most often than not, is driven by automation experts who might not necessarily have enough functional expertise about application under test.
A common approach for test automation is to build a framework that ensures ease of use, is scalable and reduces maintenance efforts in a world of demanding business needs, evolving requirements, changing technology interfaces and people. However building a framework that is easy to use is easier said than done because almost all frameworks that we see today are heavily dependent on technology people. What script-less test automation does is that it enable functional experts, be it manual testers or subject matter experts, to actively contribute to test automation. Script-less test automation strives to bridge the gap between functional and technical expertise by allowing functional experts to take the driver seat in test automation.
Script-less experience is achieved by abstracting the technology layer by the use of a workflow-driven approach to build automated test cases along with a set of keywords that runs in the background and converts the workflow into scripts.
Script-less automation creates a harmonious blend of functional and technological expertise to ensure test automation success by having functional experts use their knowledge to automate tests (work flows and data) and having automation experts use their tool and technology knowledge to strategize, lead, plan, troubleshoot, and write extension scripts if required.
Often, in various forums and at conferences, I have come across people with strong views on script-less automation. Some believe it works, and some don’t. When I look back at my conversations, I recognize a few common myths or misconceptions about script-less automation that needs some discussion.
Myth 1: Script-less no different from record and playback
Record and playback are capabilties that users can choose to use to record their tests and play it back to execute them. The recorder generates scripts automatically while user performs operation on the application under test. The recorded script contains hardcoded test data inputs, cannot handle dynamic situations, and is more error prone since it does not perform any validation and error handling on its own. The recorded script does not work in the long run as it is not maintainable, scalable, and reliable.
With a script-less approach, users use the readily available keywords, which are essentially well-managed and reusable scripts. These keywords are more robust and maintainable as they are not only built by best technology specialists but are also thoroughly tested.
Unlike record and playback, the script-less approach also provides a flexibility to manage dynamic objects and associate multiple data sets.
Myth 2: Script-less means script-free.
Script-less automation is an experience made possible by building keywords (which are essentially scripts) that are reusable across applications, tools, technologies, platforms, etc…
The idea is to have your automation experts build a library of simple yet exhaustive keywords that can be easily used by functional experts, allowing them to quickly automate tests without any scripting.
Keywords can be of different types like user actions such as “Click,” “Select Item,” “Enter Text,” etc…and operations such as arithmetic, file, database, and many more.
Myth 3: Script-less test automation is not maintainable and reliable
Script-less test automation is a well-structured, methodical, yet a very flexible approach to handle all types of complexities an application under test has to offer. It eliminates the complexities of test automation tools by building a layer on top, allowing functional users to automate.