Scriptless Automated Testing is not the Same as Record and Playback Testing

Written by shruti-sharma | Published 2020/01/16
Tech Story Tags: automated-testing | testing | software-testing | test-automation | scriptless-testing | testing-tools | software-development | quality-assurance

TLDR Scriptless Automated Testing is not the Same as Record and Playback Testing. It is the method of creating automated test scripts that don’t require coding or programming skills. The advantages and disadvantages of using both of these testing tools are discussed below. ‘Record & Playback’ testing tools also often confused with ‘Scriptless Automation’ tools. They are more structured and provides better customization options in comparison to ‘Records and. Playback Tools’. Scriptless automated testing tools.via the TL;DR App

In its initial days, Software Testing was completely manual. The repetitive nature of testing mundane tasks and the time required to test led to the wide adoption of automated testing.
With Automation, testers could automate their repetitive tasks and focus on other testing tasks like choosing the right test cases for a test run and testing new features.
The benefit of automated testing is a reduced time to test legacy test scenarios, while the downside is that test automation involved the use of scripts. Testers needed to either learn the supported languages for automation or hire new resources who knew coding.

Common problems faced during the use of script-based automated testing

  • Need to learn the supported scripting languages or hire new resources who know the language already
  • Large initial investment in terms of setting up the automated testing tools and assigning resources to do automation
  • Maintenance of these automated test cases also becomes a major time taking task eventually
To solve the above problems, now there are a few automated testing tools in the market that don’t require scripting. And if the predictions are to be believed, more companies are going to be adopting scriptless automated testing tools. So it becomes all the more important to know about it. 
A popular scriptless automated testing approach, “Record and Playback”  made their way to the market quite early as compared to “Scriptless Automated Testing Tools.” But because “Record and Playback” tools also don’t require scripting knowledge, they are quite often confused with “Scriptless Automated Testing” tools.
Let’s look at these tools in detail below.

What is Scriptless Automated Testing?

Scriptless Automated Testing is the method of creating automated test scripts that do not require coding or programming skills. Such automated test cases are easier to create and set up as compared to the ones that require programming skills.
Scriptless test automation is more structured and provides better customization options in comparison to ‘Record and Playback Tools’.
The ease of test case creation and understanding of created test cases also ensures that other members of the team that are not aware of any programming languages can review these test cases and create them if the need arises.
Scriptless Automated testing aims to structure the test cases in such a way that they can be created by anyone involved in the project and repetitive steps could be easily reused in multiple test cases.

What is Record and Playback Testing?

Record and Playback testing tools record the interaction of users with the website and then convert the steps to scripts which then run in the same way it was recorded. The possibility to customize these scripts without coding skills is limited for most of the ‘Record and Playback’ testing tools available in the market.
To understand the differences, let’s look at the points below:
  • Some automated test cases require test data for verification and the possibility of allowing this data to change becomes important in such scenarios.
  • If there is any change in any module being touched by an automated test case, the tester will need to change the test case accordingly.
  • If a step or group of steps need to be executed in other automated test cases, there arises a need to reuse already automated steps in other test cases.
The above scenarios can be taken care of via Scriptless automated testing tools but is not possible in Record and Playback Testing tools without any coding knowledge.

Record and Playback Testing vs Scriptless Automated Testing

Let’s discuss the advantages and disadvantages of using both of these testing tools below:

Record and Playback Tools

These tools are good and useful for the scenarios that won’t change in a long time but if there is an application that might change in the near future, the playback of the previously recorded tests will start failing.
Thus, the major drawback of using Record and Playback testing tools is that they are rigid in what they record and play. So, the ability to customize a recorded test case is limited. Some tools like Selenium IDE and Katalon IDE provide the option to convert the recorded test cases to scripts in preferred languages but to edit these tests require coding skills even if basic and cannot be termed as scriptless testing tools anymore.

Advantages of using Record and Playback Tools

  • Quick to automate: To start with, the test cases just need to be executed manually which can be recorded easily so the time taken to automate is very less as compared to tools where all the steps need to be scripted one by one.
  • Easy to set up and run: The recorded test cases can be easily set up and run because no heavy set up is required for the playback.
  • Locators for applications can be easily identified via these tools: The record and playback tools record the various locators of an object in an application while recording the test cases, these locators can be reused for detailed automation.
  • Good for beginners: These tools are helpful for people who are learning automation. They can record and save the test case in the needed language and then work on enhancing the recorded scripts.

Disadvantages of using Record and Playback Tools

  • Not Useful in the long run: The recorded test cases are only good till the time there is no change in the application and the same test cases can be executed again and again but the moment any changes are introduced, these scripts render themselves useless unless coding skills are utilized to fix them.
  • Limited possibility of customization: Only when the testers have coding skills and the tool has the option to export test cases to preferred languages can these recorded tests be customized.
  • May be dependent on screen resolution and size: Sometimes the recording tools record based on the object’s position on the screen which can easily change if the application is resized or the monitor’s resolution is changed.

Scriptless Automated Testing Tools

Scriptless Automated Testing does not depend on coding or programming skills in any way and is focused on automated test cases that are structured and customizable. They are comparable to Record and Playback tools in terms of the ease of test case creation and are better than just record and playback in terms of the ease of maintenance and customization they provide for their users.

Advantages of using Scriptless Automated Testing Tools

  • Easy to create: The test scripts using scriptless automated testing tools can be created by anyone who knows about the project as these tools have a low learning curve.
  • Easy to Maintain: The scripts can be easily maintained whenever there is any change in the code or functionality
  • Highly Reusable scripts: Any group of test steps can be reused when needed.
  • Better options for customization: If there are any enhancements or changes in the flow of the application under test, the changes can be easily included in the scriptless automated tests.

Disadvantages of using Scriptless Automated Testing Tools

  • Some of the tools like TOSCA could be tough to set up initially
  • As compared to record and playback, this will take more time for creating the test cases 

Different Testing Methods being used in ‘Scriptless’ and ‘Record and Playback’ Tools

1. Natural Language Processing (NLP)
NLP is a branch of AI(Artificial Intelligence) that aims at making interactions with a machine human-friendly. This technology is now being put to use by new test automation tools. These tools are making test automation as simple as writing down a test case because the test cases can be written in simple English.
Tools like Testsigma use NLP(Natural Language Processing) for test case creation. These tools have a low learning curve as the automated tests are written in plain natural language.
The user just needs to know the right grammar used for test development and use it for automating simple or complex test scenarios as the case may be.
The tests are reliable in case of UI locator changes and reduce manual maintenance efforts. They are ideal for regression tests with suggestions of relevant affected tests and dynamic test summary reports.
2. Model-Based Testing
TOSCA is a popular tool that uses Model-based testing. This tool automatically recognizes all objects of the website. The test script logic, test data, and test objects are stored separately and are merged at the time of test case execution. The central model that has the objects updates itself if any change is encountered in any element of the application. Thus, test case maintenance happens automatically whenever there are any changes in the central model.
One other feature that makes TOSCA stand out is that it uses a "risk-based testing" technique. Using this technique, according to a change in the code - test cases testing the areas that are at risk are selected and executed. Thus, improving the effectiveness of testing both in terms of test scenarios executed and time spent testing.
3. Recording Screenshots
There are tools that use the approach of recording screenshots corresponding to test steps and test actions. They tend to be very helpful when the focus is on "visual testing" and use AI to update the test cases whenever any changes are encountered in the UI of the application under test.
They record a test case in the form of screenshots taken every time there is an action done by the user. The test case fails if anytime the run test case does not match the taken screenshots. Such tools are also using AI to maintain the test cases by using AI to recognize if there is any change in the website’s element’s location or name or appearance.
4. Image-based scriptless automation
These access the UI of any application via Remote desktop or VNC. And have English like easy scripting language to automate the actions on the UI of the application open in the remote connection.
5. Drag and Drop based Object Mapping
Some tools offer scriptless test automation by creating objects via dragging and dropping directly from a website. These objects can then be re-used wherever required for creating test scripts.
6. Keyword-driven testing
These tools use keywords as actions to be performed on test objects. This makes creating test scripts easy and effectively scriptless.
Maintenance of test cases automated via keyword-driven testing is also considered easy because if there is any change in an area of the code, the corresponding keyword only needs changes.
7. Object-driven Testing
These recognize an object and then test cases are created by adding actions to these objects. There is no script creation involved here. 
8. Visual testing via Flowcharts
Codefuse gives users the capability to create tests in the form of flowcharts. There are two types of components in the flowchart - condition or action. Multiple flows can be automated easily using flowcharts here using different condition blocks. Knowledge of scripting is not required here, just basic knowledge of flowcharts.
9. Recording tests as scripts
This is the traditional method of testing that was used by Selenium IDE originally. Katalon IDE offers a similar approach. The test case records all the user action in the form of a script that has all the actions in the form of commands and selector details. These test cases can then be exported in the language of choice and can be extended further in that language if needed.
10. AI Bots for Test Automation
These are eliminating the need for any scripting using AI bots for test automation. There are a few tools available in the market that train bots to behave in a pattern for the input data provided. This training is a continuous process but does not involve any complex programming needs either.
Here is an infographic of the Top Scriptless Automated Testing Methods that we discussed above.
Thus, “Scriptless automated testing” and “Record and Playback testing” are two different methodologies of testing that aim at solving different kinds of problems and should not be confused to be similar. The need of the hour is to look beyond the record and playback tools and try out other tools that aim to make automation as much easier with added benefits!
Previously published at https://testsigma.com/blog/scriptless-automated-testing-is-not-the-same-as-record-and-playback/

Written by shruti-sharma | Software Quality Engineer
Published by HackerNoon on 2020/01/16