Jaspar Casey - 16 March 2021
What is codeless test automation?
Codeless test automation is test automation that does not require the tester to write scripts. It can be thought of as an extension of the no-code/low-code movement, which aims to provide development tools that can be operated via a graphical user interface (GUI) rather than traditional computer programming.
Across the industry, you might see codeless test automation referred to as scriptless, low-code, or no-code test automation. While these terms are sometimes used interchangeably, there is some nuanced difference. What they have in common is that they allow an operator to create a list of instructions — an automation flow — that will be executed in the system under test.
Of course, as with any computer program, underlying these codeless interfaces are lines of code. No-code test automation solutions simply obscure this code by having the user interact with a graphical layer on top of this code. This layer could be something akin to a flowchart or rely on keywords that reference particular sets of commands. The point is, whether you are dealing with the most code-intensive or the most codeless interface, the user is creating a set of instructions and rules that he or she wants the system to follow.
Who is codeless test automation for?
One of the key advantages of codeless test automation is that a much wider group of users can participate. Traditional test automation tools such as Selenium require highly skilled specialists to create and maintain test scripts. By widening the circle of people who can create test automation flows, we can get closer to the ultimate goal of testing: better software.
Low-code and no-code test automation solutions mean that three distinctive groups of people can participate in the testing process: software developers, QAs/testers, and business analysts. There is often a disconnect between IT and ‘the business’ in organizations. Codeless test automation can help these disparate groups communicate and collaborate better by bringing them into a common interface and speaking a common language. The result is a better understanding of workflows, processes, and priorities that eventually leads to better business outcomes.
Advantages of no-code/low-code test automation
- Wider range of users. By virtue of simpler tools that don’t require specialist coding skills, more people can build automation workflows. For example, a person with intimate knowledge of a business process can build an automation that their colleagues on product or test teams will be able to understand. Therefore, codeless automation solutions can allow specialists from different disciplines to come together to reach a common understanding of what needs to be done.
- Lower barrier to entry. Because these applications tend to use simpler syntax or visual elements, users with a range of technical ability can make use of them.
- Making quality everyone’s responsibility. With a wider range of users building testing models and seeing the output of these tests, communication between teams will increase and overall quality should improve.
- Less reliance on manual testing and data migration. Automating mundane, repeated tasks allows testers to focus on more human-centric testing, such as looking at usability, accessibility, or exploring various edge cases that impact the user experience.
Challenges of codeless test automation
- Commitment to the solution required to see ROI. As with any new process or tool, there is a certain investment of time and effort needed to start seeing positive ROI. Buying a fancy new kitchen gadget will only improve your cooking if you spend the time to figure out how and where it is best utilized.
- No-code solutions are best suited for simple workflows. The longer the automation workflow, the higher the possibility that some variation along the way will cause an issue. Remember, the purpose of these solutions is to make things simpler and quicker, so if you’re spending hours tweaking step 17 in your model, it’s likely that you’ve passed the point of no return.
- Shadow IT. This is a term that means technology built or used by people in an organization outside of the ways that IT has approved or intended. While not a bad thing in and of itself, there can be negative unintended consequences to systems outside of the one you’ve built an automation for. For example, if your automation requires making repeated calls to a particular database, you could inadvertently set off some alarms over in IT. That’s why it’s important for those building automation workflows to understand the various dependencies and systems connected to these automations.
The future of codeless test automation
If the popularity of low-code/no-code solutions like Zapier and Bubble are any indication, codeless test automation isn’t going anywhere. In fact, advancements in artificial intelligence (AI) and machine learning (ML) mean that these solutions are becoming more sophisticated and easier to use.
Computer vision is a field of AI that allows computers to gain understanding from images and video. This technology allows testing software to intelligently interpret action onscreen in a system under test. There are two broad advantages here: first, in combination with optical character recognition (OCR), testing software can intelligently understand an interface and navigate it as a human would; secondly, it can identify visual discrepancies that could impact the user experience. For example, computer vision could identify that a crucial button is hidden or obscured by another element, a no doubt frustrating experience for a real user.
AI can also be used to identify user journeys that haven’t been tested. By conducting exploratory tests with the help of AI, testers can see where their application is breaking down in ways that traditional linear test scripts simply wouldn’t see. Additionally, by observing real user behavior in production environments, these user journeys can be used to train the ML algorithms that will feed into future tests.
Computer vision also allows for testing of highly regulated and secure systems, due to its non-invasive nature. Non-invasive testing allows for testing at the user interface level. In other words, anything seen onscreen can be tested, without any further permission needed to see underlying source code.
Anyone with experience in test automation will tell you that they spend too much time on test maintenance. Thankfully, advancements in AI come in handy here too. AI allows us to insert an appropriate amount of fuzziness so that automation workflows don’t get tripped up by the most minor variation. By applying the mathematical concept of fuzzy logic, intelligent test automation systems can dynamically adjust the sensitivity of certain parameters. For example, this could mean allowing the computer vision to recognize an onscreen element which is very similar — and to a human, the same — as what it has been instructed to look for, even though there are a few pixels of difference. Without this fuzziness, the system would simply say that it couldn’t find this element. With a more nuanced and intelligent logic at play, it would return the intended result.
Key features to look out for in a codeless automation solution
As I’ve alluded to in the advantages/challenges section, there are a number of things to keep in mind when considering a codeless test automation solution.
Just as every razor will claim to offer the closest shave, every codeless test automation solution will claim that it is easy to use. If only it were that simple in reality. The truth is, if you want to go beyond scratching the surface of these solutions, you’ll need some guidance and support from expert practitioners. Therefore, when assessing solutions, you really need to understand the degree to which help will be available, and if it will cost you (it usually does).
Integration with CI/CD pipeline
As the name suggests, a major part of continuous integration/continuous delivery (CI/CD) is the rapid building, testing, and deployment of new or updated software. Test automation solutions should be an integral part of this CI/CD pipeline to ensure that quality isn’t being sacrificed for speed.
Intelligent exploratory testing
As indicated above, the most advanced solutions in this space make use of AI to conduct exploratory testing of your application. Instead of following a list of linear commands, these solutions will use a model of the system under test to map out the various paths between the key elements in the application. For example, an exploratory test of an ecommerce website might find an item, add it to the cart, continue shopping, remove the item from the cart, and then re-add it again. Due to the sheer number of possible combinations of clicks through the website, the number of test cases can quickly spiral out of control. Intelligent automated exploratory testing can discover these various user journeys and then prioritize those most likely to impact the end user experience.
Test automation solutions that can interact with the UI have a distinct advantage in packaged applications like SAP or Salesforce. With distributed workforces accessing systems and tools with a variety of devices and browsers, organizations need to make sure that technical issues aren’t blockers to productivity. Non-invasive testing solutions, which work at a UI level, are ideally suited for testing these varied setups. The same is true for highly regulated industries, like financial services, healthcare, or aerospace, where compliance regulations dictate that data is carefully controlled at all times. Therefore it is essential that test automation solutions can be deployed in secure environments without relying on external communication to function.
One of the primary benefits of no-code or low-code test automation is that it brings more people into the fold. However, it’s not enough for simply more people to get involved, it’s also essential that insights into software quality and performance can be readily accessed and shared with key stakeholders. The ability to monitor test automation activities over time means that teams can work together to achieve broader business objectives, outside of traditional indicators like the percentage of tests passed.
Getting started with codeless test automation
Test automation is an absolute imperative in this day and age. Working out the business case for codeless test automation involves first getting a clear understanding of what business objectives or outcomes you want to support. For instance, if your goal is the smooth rollout of a new version of a packaged application, bring together the key stakeholders to understand which systems need to be tested and where the various integrations and dependencies are. Mapping these out is key to getting the most out of a no-code/low-code automation testing solution.
Buying a codeless test automation solution won’t instantly solve all of your problems. What it will do is expose a wider group of people within your organization to where the problems in your software and processes lie. These solutions can highlight issues, which helps you demonstrate the impact to your business, as well as illuminating a path forward. After all, you can’t fix problems you don’t understand.
Eggplant is considered by Forrester and Gartner as a market leader in software test automation. Our award-winning Digital Automation Intelligence suite brings together the very best of low-code, model-based test automation, and pairs it with AI-powered intelligent testing from the user perspective. To see it for yourself, you can request a free trial today.