<img height="1" width="1" src="https://www.facebook.com/tr?id=2484701261811639&amp;ev=PageView&amp;noscript=1">

What is RPA?

Your top RPA questions answered: what is RPA, why is it important, how is it used, RPA vs software test automation, and more.

What is RPA and Why is it Important? 

RPA Definition

The simplest definition of RPA is that RPA is software that simulates human-computer interactions to automate repetitive business processes.

Gartner's definition of RPA is

Robotic process automation (RPA) is a productivity tool that allows a user to configure one or more scripts (which some vendors refer to as “bots”) to activate specific keystrokes in an automated fashion. The result is that the bots can be used to mimic or emulate selected tasks (transaction steps) within an overall business or IT process. These may include manipulating data, passing data to and from different applications, triggering responses, or executing transactions. RPA uses a combination of user interface  interaction and descriptor technologies. The scripts can overlay on one or more software applications.

Wikipedia's definition of RPA is 

Robotic process automation (or RPA) is a form of business process automation technology based on metaphorical software robots (bots) or artificial intelligence (AI) workers.

In traditional workflow automation tools, a software developer produces a list of actions to automate a task and interface to the back-end system using internal application programming interfaces (APIs) or dedicated scripting language. In contrast, RPA systems develop the action list by watching the user perform that task in the application's graphical user interface (GUI), and then perform the automation by repeating those tasks directly in the GUI. This can lower the barrier to use of automation in products that might not otherwise feature APIs for this purpose.

RPA tools have strong technical similarities to graphical user interface testing tools. These tools also automate interactions with the GUI, and often do so by repeating a set of demonstration actions performed by a user. RPA tools differ from such systems that allow data to be handled in and between multiple applications, for instance, receiving email containing an invoice, extracting the data, and then typing that into a bookkeeping system.

Investopedia defines RPA as 

Software that can be easily programmed to do basic tasks across applications just as human workers do. The software robot can be taught a workflow with multiple steps and applications, such as taking received forms, sending a receipt message, checking the form for completeness, filing the form in a folder and updating a spreadsheet with the name of the form, the date filed, and so on. RPA software is designed to reduce the burden of repetitive, simple tasks on employees.

The term “robotic process automation” is a bit of misleading. There are no cool-looking robots involved (the “bots” are simply sets of automation instructions). It’s best suited to automating short repetitive tasks rather than long-running end-to-end processes. Ultimately, it’s “just” automation.

Types of RPA Bots: Attended vs Unattended

There are two main types of RPA bots: attended and unattended.

  • Attended bots, which are triggered on demand, typically augment the work of human users—working alongside humans to automate specific tasks within broader end-to-end business processes. They are most common in front-office activities and primarily handle tasks for individual employees.

  • Unattended bots work invisibly in the background, running based on time- or event-based triggers. They’re perfect for automating back-office processes at scale.

Reasons to Use RPA

There are 3 main reasons to use  RPA:

  • Poor man’s integration: This is a “quick fix” for connecting two systems without changing either system or integrating them via an API. If time, resources, and APIs permit, of course it’s best to actually integrate systems via APIs or other connectivity approaches. However, that’s not always feasible. Perhaps the organization doesn’t want to upgrade the legacy app. Perhaps one of the two applications you want to integrate lacks an API. Or, maybe the systems could technically be connected via APIs, but your organization lacks the time, resources, and prioritization required to make the integration happen within the desired timeframe. In any case, you can use RPA and its surface-level features to communicate through the interface itself.

  • Augment/automate manual tasks: Many of the RPA success stories you hear are related to this use case. One common “automate” example is HR onboarding (automatically logging into an HRM system, pulling details for a new employee, and granting them the appropriate access rights in the various systems used across your organization). An “augment” example is when a human worker fields a customer question, uses a bot to collect relevant information from different systems, then reviews and synthesizes that data to assist the customer.

  • Validating critical checks: This use case involves using automation to validate and document that a critical series of tasks were completed. For example, take compliance with GDPR or similar data privacy laws. Most companies store personal information across multiple systems. If someone “opts out” of one of those systems, the company needs to opt that person out of all other systems within 10 days to comply with the law. RPA can validate that the person was opted out of all systems, and even capture screen shots to document the compliance.

rpa_reasons

 

RPA Value Proposition

RPA offers a broad spectrum of benefits—most commonly related to accuracy, productivity, compliance, and simplicity.

  • Accuracy: RPA increases accuracy by reducing human errors in business processes. Whenever people manually transform, augment, and manipulate data, mistakes can cause inaccurate reporting, fines, and other negative impacts. By increasing accuracy, RPA reduces these damages. It also improves productivity by eliminating the time and effort required to find and fix the root cause of each error that occurs.

  • Productivity: RPA increases productivity by eliminating manual repetitive work, which is not only susceptible to human error, but also rather costly. Tasks like scanning documents to identify specific data (e.g., via OCR), moving data between systems, and so on are highly repetitive. They are easily automated for 24/7 operations—allowing the human workforce to focus on tasks that truly require human intelligence, compassion, creativity, etc.

  • Compliance: If you’re in a highly-regulated industry (finance, medical, etc.), it’s imperative to have critical checks in place. RPA can automatically validate—and document—that critical compliance tasks were completed as expected. See “3 Main Use Cases” for more details on this point.

  • Simplicity: For most use cases, RPA completes tasks through the same user interface that a human would use. As a result, it’s fairly simple to use, and there’s a low barrier to entry. Some solutions are more user-friendly than others, but all solutions aim to make automation simple enough for business users.
    rpa_benefits

 

What Can I Do with RPA?

What Tasks Can RPA Automate?

RPA can perform everyday tasks such as:

  • Opening email and attachments
  • Logging into web/enterprise applications
  • Following if/then decision rules
  • Extracting structured data from documents
  • Scraping data from the web
  • Reading and writing to a database
  • Moving files and folders
  • Copying and pasting
  • Completing forms
  • Performing calculations
  • Connecting to system APIs
  • Collecting social media data

Common RPA Use Cases

You can use RPA to automate virtually any rules-based process. See RPA Use Cases and Examples for a detailed list of RPA use cases across  telecom/media, financial/insurance, industrial/manufacturing, utilities, hospitality, public sector, health/life sciences, and retail— as well as several videos showing RPA in action. 

 

How Does RPA Relate to Software Testing?

RPA and Software Test Automation

Undeniably, the disciplines of RPA and software test automation are converging However, the tool sets, most likely, are not.

Enabling fast creation and updating of resilient UI automation and API automation is essential for both RPA and test automation. Nevertheless, there are some important differences. RPA requires enterprise-grade orchestration, high-availability, and production focus. Test automation requires capabilities such as test case design, service virtualization, test data management, etc.

In many respects, test automation is more difficult than RPA. With RPA, you need to determine how to use automation to advance known business tasks. With test automation, you need to determine what combination of factors could break an end-to-end process—and you also need to obtain, configure, and manage the test data and test environments needed to ensure your tests are accurate and realistic. 

RPA tools aren’t designed for enterprise software testing, just like software testing tools aren’t designed for enterprise RPA. Nevertheless, core automation assets and skillsets certainly can (and should) be leveraged across test automation and RPA if you want to take the fast track to RPA success.

Want (yet) another perspective? Read what testing expert Matt Heusser had to say about software testing and RPA.

 

The Common Challenge Across Test Automation and RPA: Brittle Scripts

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 low-code 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 #1 enemy to RPA success and ROI. As publications such as The Wall Street Journal and Forbes have been reporting, 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 RPA 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. 

 

How Test Automation Contributes to RPA Success

As RPA programs scale, every organization will undeniably need to add more automation experts and make them more productive. The organization’s software testers are not only well-versed in your specific culture and processes; they most likely have the precise skillet that’s required for RPA success.

The ability to design, construct, and maintain resilient automation is critical to success for both RPA and test automation. RPA, like test automation, requires a system thinking mindset. Of course, you need the domain expertise required to truly understand how a process works. But this must be paired with the more difficult-to-find expertise on how to get (and keep) the process automated, including nuances like validations, exception/error handling, and rollback sequences. The functional testers that lead the organization’s QA efforts have already figured this out—often, for the very processes you want to automate with RPA.

In fact, recent Forrester research confirmed that software test automation success is linked to effective bot maintenance and cost control. Firms that are effective at software test automation are also 1.4 times more likely to be effective at controlling RPA costs. They are 1.3 times more likely to be effective at maintaining RPA bots (e.g., cost and response time for keeping bots running).

 

Tricentis Tosca and Tricentis RPA: What's the Difference?

Tricentis RPA and Tricentis Tosca share the same core model-based automation, but each are separate products whose UIs and capabilities are focused on the task at hand (RPA/test automation). Existing Tricentis Tosca users will find that Tricentis RPA is very familiar. 

test_automation_rpa

Existing Tricentis Tosca automation artifacts and skillsets can be reused in Tricentis RPA. Everything you have created in the past can be used in Tricentis RPA—including your custom controls and models.

This reuse dramatically reduces the time and effort required to get started with RPA. If test automation has already been built around a core process, you gain a tremendous “head start” on the RPA automation effort. Additionally, if you use Tricentis for both test automation and RPA, you can identify and accommodate RPA changes faster

Recommended RPA Resources

An analyst's perspective on how to get started with RPA--and the fast track from test automation.

Gartner's recommendations for selecting an RPA tool.

Why resilient RPA is critical, and how Tricentis RPA delivers exceptional resilience.