CI/CD / Development / Machine Learning / Sponsored / Contributed

Robotic Process Automation: A New Spin on Old Challenges

1 Oct 2019 8:56am, by

Tricentis sponsored this post.

Place yourself in “Jeopardy!” mode for a moment. Here’s the answer:

Automatically driving an application via the UI or API to make manual work faster, less burdensome and more accurate.

Time to give Alex Trebek your answer. If you say “What is test automation?” you’re correct. But if you say “What is Robotic Process Automation?” you’re also correct. Undeniably, test automation and RPA have a lot in common — for better, or for worse.

What Is RPA?

Wayne Ariola
Wayne, from Tricentis, is a recognized thought leader on software testing topics such as continuous testing, risk-based testing, service virtualization and API testing. Wayne has created and marketed products that support the dynamic software development, test and delivery landscape. He has driven the design of many innovative technologies and received several patents for his inventions. He has been a contributor to the software testing space for 15 years and in the software industry for more than 20 years. Connect with him on LinkedIn or Twitter.

While software testing all-too-often remains the overlooked “second-class citizen” of the Application Development world, RPA has truly captured the attention (and dollars) of IT leaders — to the point where it has become the fastest-growing market in enterprise software.

At its core, RPA is ultimately the same as software test automation. As the “Jeopardy!” leadoff suggested, both RPA and software test automation automatically drive an application via the UI or API to make manual work faster, less burdensome and more accurate.

Of course, there are some key differences:

  • RPA focuses on automating sequences of tasks in production environments to successfully execute a clearly defined path through a process so you can complete work faster.
  • Test automation focuses on automating realistic business processes in test environments to see where an application fails so you can make informed decisions about whether an application is too risky to release.

In other words: with RPA, you use automation to make a process work. For software testing, you focus on using automation to determine how a process can possibly break.

There are two critical automation capabilities required for both RPA and software test automation: UI automation and API automation. At the same time, there are some core differences that must be addressed to enable either software test automation or RPA to succeed at scale in the enterprise. For software test automation, this includes secure and stateful test data management, test-driven service virtualization, change-impact analysis and risk-based test case design. For RPA, this involves production-grade execution, enterprise-grade security and access control and comprehensive event triggers.

RPA: Not Robotic. Not Process. ‘Just’ Automation

Despite its catchy moniker, RPA is really “just” automation.

It’s easy to be enticed by vendor-induced visions of sophisticated cyborg-like robots taking over previously-human-led processes — faster, better and cheaper. However, that’s quite far from RPA reality. From a technical perspective, RPA bots are really just sets of automation instructions. These instructions are either expressed in the form of scripts (with hard-coded technical details on how to find various element locators on the page) or model-based automation technologies (which define automation from the perspective of business user and store automation details in reusable/rearrangeable automation building blocks). If you’ve ever worked with test automation, these approaches should sound quite familiar.

Moreover, RPA’s strength has proven to be automating short repetitive tasks rather than long-running end-to-end processes. According to Gartner, “the term ‘process’ in the RPA acronym is more accurately discrete ‘task’ automation. Most automations supported by RPA tools last, at most, a couple of seconds. Furthermore, at best, the process support aspect of these products is limited to simplistic workflow.”

Solving Age-Old Automation Challenges

Ultimately, it’s the strength of the underlying automation engine that makes or breaks both RPA and software test automation initiatives. Given that script-based automation approaches have failed to meet enterprise test automation objectives over the past 20 years, it’s unreasonable to expect the same script-based approaches to now meet enterprise RPA objectives.  Not surprisingly, the script-based approaches that have yielded poor results in the software test automation world continue to fall short in the RPA sphere — and the resilient model-based approaches that enable high levels of enterprise test automation continue to rise to the top for RPA.

Brittle automation — the same core problem that has doomed so many software test automation initiatives — has already emerged as the number-one enemy to RPA success and ROI. As publications such as “The Wall Street Journal” and “Forbes” have reported, the problem with RPA is that bots break — a lot. RPA users are realizing what testers learned years ago: if your automation can’t adapt to day-to-day changes in interfaces, data sources and format, underlying business processes, etc., then maintaining the automation is going to rapidly eat into your ROI. Moreover, with RPA, the repercussions of broken automation are much more severe. A test that’s not running is one thing; a real business process that’s not getting completed is another.

Recommendations

The common heritage of software test automation and RPA can be a blessing, not a curse. Old problems don’t have to be new again with RPA. The key problem with RPA — the construction of sustainable automation — is a skill that most successful testers already possess.

As with test automation initiatives, the success of RPA initiatives ultimately rests on resiliency. It’s essential to find an automation approach that enables business users to rapidly create and update resilient automation for the organization’s core enterprise technology sets (SAP, Salesforce, ServiceNow, Excel, PDF, custom apps, etc.). RPA bots must be resilient to change and bot maintenance must be simple and straightforward… which eliminates the popular script-based approaches. Otherwise, RPA is simply short-lived automation that creates technical debt — leaving the organization at risk when automation fails to execute the required tasks.

According to a recent Gartner keynote, many organizations are finding that software test automation is a great bridge into RPA initiatives and it’s important to utilize test automation assets and test automation teams as you build RPA.” There’s a growing trend of organizations entering into RPA by extending their test automation efforts — and those that have successfully conquered the test automation challenge are especially well-poised for success with RPA.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.