What is Scriptless Test Automation?
Scriptless Test Automation is writing automated test cases for a software application without involving any script or code.
Automated testing is highly essential to ensure rapid software releases, particularly in Agile driven teams. Regression testing of a software application which is frequently updated, should definitely be automated, to reduce the cost involved in manual testing. Automated test cases are typically written in parallel to the software, using some testing framework such as JUnit, Selenium, Espresso, CppUnit, UI Automator, Appium or Cucumber. Typically, writing a script for particular test case includes providing test inputs, execution steps and comparing results.
Some of the most common problems with script based test automation are:
- It may be extremely tedious and daunting to write scripts.
- It requires a learning curve to understand the syntax and framework.
- It creates a dependency on people with specific skills to write and maintain the testing suite.
- Due to the complexity of writing scripts, there are increased chances of human error.
This demands for a higher level test framework, which does not involve coding and which can be easily used by anyone. This can be achieved by Scriptless Test Automation frameworks and tools.
How Scriptless Test Automation Tools Work?
Scriptless test automation simplifies the test automation by providing an abstraction from the underlying code or script. The effort and complexity involved in writing automated tests is greatly minimized. The tester only provides test case information in a higher-level human friendly way and the Scriptless automation tool translates those steps into some underlying script or code.
As an example, see the figure below where Espresso Test Recorder will record UI actions and generate corresponding Espresso scripts.
Popular Scriptless Test Automation Tools
Scriptless Test Automation tools may fall under one of the following four categories:
1. Record and Playback Tools: Record and Playback tools allow the testers to manually perform actions on UI (Web or Mobile), record those actions, ask testers to specify assertions or expected results for performed actions and finally generate the underlying test scripts. It means that any tester can manually run the software and easily generate automated tests. Few examples are Selenium IDE and Espresso Test Recorder.
2. Modeling Based Tools: These tools allow testers to specify test cases using visual modeling. The generated test cases are very human friendly and can be easily customized. Examples include TestCraft.
3. Keyword Based Tools: These tools utilize easy and human readable syntax to specify test cases. Since the tools use human friendly syntax, the test cases are clear and readable. Examples include Cucumber and Robot Framework.
4. Natural Language Based Tools: This is a modern research area involving Natural Language Processing (NLP) and Machine Learning to generate test scripts from test case document or user requirements document expressed in natural language.
Most of the tools use a hybrid of test creation technologies specified above. Few of the popular Scriptless Test Automation frameworks and tools are listed in figure below:
Future Work
There are plenty of unexplored and improvement areas in the domain of Scriptless Test Automation. The efficiency of some Scriptless Test Automation frameworks and tools needs to be further improved to generate readable and maintainable test scripts. Furthermore, Scriptless Test Automation may be expanded to remaining scripting frameworks, programming languages and IDEs.
Comments
Post a Comment