A buzzword that's been around for a little while in the testing community, but is now picking up momentum, is robotic process automation tools (RPA).
Before we get to the tools, let’s go over what RPA is.
So, what is RPA?
Sune Engsig, a Senior Product Evangelist at LeapWork, explained it to me as follows.
Think of RPA automating tasks like a real user in production.
The big difference, of course, is that when you’re talking traditional automation, you need to be clear whether it's designed to do testing or if you are using it just for automation.
RPA is all about triggering an application to do some things; you're shifting around data, information requests, automating a flow.
Say have an insurance claim system, and it's a workflow engine.
You can use RPA to mimic a user driving either part of the process, or the whole process.
By automating common business workflows for existing systems, you remove the potential for human error.
How Does RPA Work?
In a digital workforce, you've got a robot, and you've got an additional worker.
A software robot is a very simple algorithm. It doesn't necessarily learn.
For example, it might be simple as a macro doing data entry. Because if you create a macro in Office, you save that macro and then run that on a schedule. There are robots out there that can do that basic type of process.
Then, you put it in a workflow and it becomes a slightly more intelligent process. And then, you make that workflow branch out and you build on it. So it becomes a much more intelligent and structured way of doing automation.
That's how robots add value.
Robotic workers are much more autonomous and much more about learning.
Take, for example, a worker that makes a mistake while processing documents. It can be taught to learn from those mistakes.
It is taught over time. And so it increases in value over time.
And the value both a robot and a worker bring is that they're increasingly connected to each other.
These digital systems can quickly process a high volume of data and make autonomous decisions based on the rules that they are given.
The Differences Between Test Automation and RPA Software
Process automation is similar to functional automation, except it's more about automating a business function instead of validating your software.
The clear division between the two is that with RPA in production, you do not focus on verifying and validating functionality when driving a user interface.
RPA can be used to help with software security and performance activities as well.
So if you’re already into automation, it’s a great skill to have because we’ll undoubtedly be seeing more of it in the coming years.
Where the Robotic Process Automation Market is Heading
I'm interested in discovering emerging areas that don't have a lot of people in them yet because it seems that automation is becoming overpopulated with folks who see themselves (incorrectly) as Selenium experts.
This has also affected the amount of money one can make as a Selenium consultant. The rate one can charge has dropped considerably in the past few years.
So if you're looking to increase the value of your consulting or of what you can bring to a company, RPA is something you should keep an eye on.
How popular is this technology?
Take a look at this Google trend for business process automation.
You can clearly see this is a high growth area, as Google has it listed as a “breakout” topic.
It can conceivably boost your company’s digital transformation efforts by leveraging a software robot to create intelligent automation.
As you can see, it's a perfect time to get your foot in the door with RPA.
Hopefully, you are now excited to try RPA for yourself!
RPA Tools You Should Try
Here are the top RPA tools I’d suggest to get you started learning and implementing robotic process automation.
The characteristics of most RPA tools is that they have the following features:
- Are able to work and integrate with Enterprise solutions
- Are considered no- or low-code solutions to create your automated flows
- Have orchestration abilities
- Flexibility is another major benefit
Some business benefits of RPA are:
- Cost savings
- Lower your cycle time
- Increased productivity
Let's start with the top three vendor solutions that Gartner rated as the “leaders” in their 2020 Gartner Magic Quadrant for Robotic Process Automation, then take look at three open-source solutions as well.
This is the tool you most likely think of when you hear folks talking about RPA.
It’s one of the most popular and common in this space. UiPath describes itself as doing automation of work using digital robots. It utilizes artificial intelligence (AI) to analyze tasks to discover activities performed by folks in your organization.
- Great for enterprises
- Excellent learning university portal
Another tool I often hear when it comes to intelligent automation is Automation Anywhere.
They have a marketing twist when describing their commercial robotic automation test tool solution. They explain that their automation uses “software bots” to automate business logic with scriptless, end-to-end tests. The three main areas AA highlights for their product are:
- RAP – automate every rule-based process
- Cognitive – self-learning automation
- Analytics – real-time, operational intelligence with enterprise-wide business
- Offer a free community edition
Blue Prism offers an RPA automation suite that they describe as their intuitive digital workforce available in the Cloud and on-prem. it includes:
- An Object Studio that helps you build your automation using a drag-and-drop interface
- A Digital Workforce made up of autonomous software robots
- A Control Room to easily assign a process to your digital workers
Based on my conversation with Sune their solution might be one of the easiest tools to use in this area.
They also tend to specialize more with a test automation focus.
LeapWork requires no coding to create fairly complex automated processes that include test automation flows.
Automagica's name reminds me of the 2020 Dio album Magica, so it has to be good, right? :)
Automagica is an open-source, Smart Robotic Process Automation (SRPA) platform based on the Python language. What's cool about Automagica is you can quickly automate a bunch of different cross-platform processes like:
- Browser automation
- PDF manipulation
- File and folder manipulation
- Email operations
- Word and Excel automation
- Tons more
This open-source tool RPA-Python was originally named TagUI for Python.
Their GitHub description reads as follows:
“RPA for Python's simple and powerful API makes robotic process automation fun! You can use it to quickly automate repetitive time-consuming tasks, whether the tasks involve websites, desktop applications, or the command line.”
Open Source Robotic Process Automation Software (Open RPA) describes itself as a free, open-source, enterprise-grade RPA solution. Combine it with the OpenFlow library to create a scalable and secure workflow solution for managing your digital robot knowledge workers.
Ok, this one was not created specifically for RPA but it does have an RPA library you can add.
For folks that don't know if you want to use Python for test automation, you can’t go wrong with the Robot Framework.
This mature product, created for testers, uses a keyword-driven approach to make tests readable and easy to create.
It also includes many test libraries and other tools you can use like the RPA framework one.
The RPA Framework is a collection of open-source libraries and tools for RPA, and it was created to be used with both Robot Framework and Python.
Business Process Management: A Growing Trend
As I mentioned earlier if you look at the growth of RPA adoption (based on Google trends for the past five years), you can see a clear increase in a movement towards a virtual workspace.
Leveraging RPA can increase a company’s growing transaction processing needs, allowing them to focus on higher-value activities.
I believe more and more companies will soon be adding RPA to their center of excellence to improve the quality of their business operations and decision making, so it would definitely be worth your time to learn more about it.