In the modern world of software development, the pressure to deliver new software features and content has increased exponentially. Online purchases topped $500 Billion in 2018 and those e-commerce sites can lose upwards of one million dollars for every minute of downtime. When the stakes are that high, what do companies do to make sure they can get their products to market as fast, or faster, than their competitors without risking a breakdown in quality?
In 2019, the answer to that question appears to be automation. This isn’t a new idea. Automated software testing tools have been around since the early 1990s. What is new is the importance of being able to automate more of your test cases to be able to test faster and more frequently.
Without using automation to speed up the testing process, manual testing becomes a bottleneck, slowing down the ability to respond to business demands for instant deployment of new ideas and leaving companies choosing between speed or quality. The introduction of risks associated with fast deployment and insufficient testing essentially makes customers the testers of a new product. This can lead to a loss of business due to poor software quality, as customers abandon websites and applications that frustrate them. Similarly, if a company takes too long to get to market, they hand their competitors an advantage and inevitably lose business.
The time is now to transform the way software is tested. We need more efficient ways to automate testing. We need better tools to enable our testing teams to do most of that automation. And we need better integration with our development teams to be able to rapidly evaluate every build and assure its readiness for production deployment. For many companies the answer to these needs is going scriptless. Companies that have adopted scriptless automation can automate API, Data Warehouse, and UI testing with their manual testing teams!
Let’s take a closer look at what scriptless automation is and how you can use it to reap its benefits.
What is scriptless automation?
Scriptless automation is a generic term used by today’s automation tool vendors focused on easing the job of building, running, and maintaining software testing. In most cases, it involves being able to identify objects in a software application and define actions to be taken on those objects. This is all accomplished through the automated tool’s user interface without having to write any programmatic code. Thus, scriptless automation tools enable testers to create reusable, expandable, and easy to maintain automated tests without needing to learn a programming language.
In the early days of software test automation it was claimed anyone could use the tools of that era because you could simply press the record button and perform a sequence of actions, and then stop recording, reset your application, and playback the automated test. Easy! Unfortunately, there were many situations that required intervention in order to make those recordings robust enough to be useful. Those interventions required code and code would require time to maintain, thus making the ease of recording less effective and more expensive.
While some of the modern scriptless tools claim that they do not require the need to write code, there are those that are akin to the old record-playback model. Others use different paradigms that involve separating the recognition of application objects from the business actions taken upon them. In this model-based approach, changes to an application’s objects are maintained separately from the business logic, making the maintenance of automated scripts much easier and much faster.
Candidate tests for scriptless automation
Using the best scriptless automated testing tools, a wide variety of desktop, web-browser, and even green screen (mainframe terminal emulation) applications can be tested. Tests can also be run at the API, service-oriented architecture (SOA), or Microservices layer before the user interface (UI) is available. And, that same script can be used to virtualize the service being tested. Some modern tools also include the ability to test data warehouses and business intelligence applications—with the right tool set, end-to-end testing across an entire enterprise can truly be automated.
Skills requirements for scriptless automation
The skills necessary for moving to scriptless test automation include problem solving, attention to detail, categorizing, the ability to group and organize information, critical thinking, patience, persistence, and curiosity—essentially, the same skills needed for manual testing. In general, any skilled user of computer systems can access and use a scriptless automation tool. While some aspects of scriptless automation do require a software engineer, like building a new adapter for a new technology platform, the rule of thumb is that one software engineer can support 10 automation specialists. What’s an automation specialist? Hint: they used to be on a manual testing team.
The first step toward going scriptless is to adopt a toolset that fits your company’s objectives. The toolset will need to support all aspects of the Agile/DevOps lifecycle and be fairly effortless for the testing team to understand and adopt. The tool vendor should have online, easily available training courses, as well as onsite training and consulting to supplement self-paced learning.
One critical factor when training manual testers on a new automation tool is to ensure that they understand automation test design considerations. If a manual testing team begins to venture off and begin designing automated tests, they could run into common pitfalls, such as redundant navigation or trying to create multiple iterations of the same test case. To avoid these, the testers should be supplemented with expertise in test case design and tool support. Most consulting partners provide readily available expertise for both training and implementation. They work to guide teams through the steps of establishing best practices and gaining experience with a newly implemented technology.
One best practice we recommend is establishing a pilot project. For success, an experienced consultant should lead the pilot project with a business sponsor responsible for the overall budget and schedule. A pilot project should be of the size and complexity necessary to implement new skills and technology, but not so large and complex that it will put the company at risk should unforeseen issues arise. Working on the pilot project, the team can establish their own metrics for the creation and execution of automated tests. Likewise, measurements of converting manual tests to automated tests can be collected.
Over the course of time, best practices can be refined, and reliable project estimates can be produced for future projects. Metrics captured during a pilot project can be presented to the larger organization as what is possible if these new processes and scriptless automation tools were broadly adopted.
Now that you know the basics of scriptless automation and what it can do for your organization, take the next step! Connect with an SPR expert to help transform your manual testing team into automation specialists or to receive a demo of Tricentis Tosca, the leading scriptless automation tool according to Gartner Magic Quadrant.