primers

One year ago, I heard the word “RPA” in a speech given by a customer. I looked it up and realized that RPA is short for Robotic Process Automation, which has something to do with Automation, but I didn’t quite understand it at that time.

Half a year ago, I heard that the IT department of the customer began to train everyone to use THE RPA tool UiPath to do automatic testing, but they encountered some troubles, so I asked if we have relevant experience. I was sorry I hadn’t, so I decided to research what RPA was.

At the beginning of RPA impression

The first thing I saw was Accenture’s article “Getting Robots Right”, which introduced the common mistakes of RPA, case sharing, and the key success factors of RPA, etc., all of which were high and high. For me, who had not been in contact with RPA, it was still a little foggy, but I just had a general understanding of RPA.

RPA uses software to complete repetitive, structured, rules-based tasks to automate business processes on a large scale and ultimately achieve enterprise-level intelligent automation. It is an office-based equivalent of a production line robot, based on machine learning and artificial intelligence.

In short, RPA is about replacing people with robots (software) to perform tasks.

The article also describes the things RPA can do, such as processing transactions, manipulating data, triggering responses, and communicating with other digital systems. It’s basically operating different systems and handling different tasks like a human being does.

Ideal applications that can be operated with RPA tools can be found in finance, human resources, procurement, supply chain management, customer service/experience, and hundreds of industry-specific business processes, such as insurance claim processing.

So far, it feels abstract, knowing that THE RPA is primarily intended to automate business processes, but not knowing exactly what the RPA looks like.

So try out the RPA tool first.

Initial experience with RPA tools

I downloaded the trial version of UiPath, the tool with the largest market share, and tried to record a simple step by using the recording and playback function provided by it. It did work, but I found that it could not be so simple for complex and conditional jumps.

Through the study of the introduction manual, pondering to write several program examples: one is to guess the number game, there are two versions; Another is to check the real-time weather in a given city from the web site. They look like this:

The game on the left is in the form of sequence, and the two on the right are Flow charts, which are very similar to the Flow charts drawn at ordinary times, intuitive and readable. Sounds interesting!

How does this work? Trouble?

The UIPath tool provides a graphical programming interface for UIPath Studio, which consists of three main sections, Activities (default on the left), Properties (default on the right), and in the middle is a place to edit and display sequences or flowcharts like the one shown above.

Activities have various active controls, such as Input Dialog, Write Line and other Input/output controls, as well as conditional/loop controls such as If, While/Do While. Drag the active control to the middle edit area to set its relationship to other existing controls. FlowChart; whereas arrows connect different controls to set up relationships, sequences are sequential in terms of how the controls are placed.

Then, select the control in the edit area and set the corresponding control Properties in the Properties pane on the right, such as: guess the number game, determine the size of the input number and the actual number to determine different pop-up message content, which can be set in the Properties pane.

At the same time, it also supports setting corresponding variables. For example, the actual numbers and input numbers in the number guessing game can be replaced by variables, which is convenient for comparison.

Therefore, in UiPath through drag and drop and corresponding attribute Settings, all in the graphical interface to complete, you can achieve a program preparation, does not need to have coding work, no requirements for programming skills. For ordinary business workers, it is also very simple.

This simple tool for business process automation seems to have a lot in common with traditional UI automation. Can it really be used for automated testing as our customers do?

RPA and UI automation

After studying the usage of UiPath for a while, I made a share to the team. When I demonstrated the use of UiPath with the program made in front of us, the program that had worked well to obtain the weather actually failed. The reason is that the element on the page has changed, and the path to get the new element has to be modified to pass.

Thus, RPA tools are as influenced by UI elements as UI automation tools.

UiPath provides a graphical programming interface that makes it easy for people without coding skills to create a new workflow and drag and drop it.

However, UI automation tests need to be modified as the UI changes, and the process of modifying them through a graphical interface is somewhat cumbersome (perhaps because I’m not proficient enough with the tool). As QA, I prefer to modify them through code. UiPath stores the Xaml format in the background, which is just as readable and doesn’t feel as easy to change.

On the other hand, UI automation testing is best integrated with continuous integration tools, and mainstream RPA tools are not run on CI pipelines.

Unlike UI automation tools that run in test environments, RPA tools are primarily intended for production environments and are based on relatively stable systems to automate processes.

Of course, TagUI, an open source RPA tool, can be programmed and can be run from the command line, but this tool is less like an RPA tool and more like a UI automation tool delayed by RPA.

RPA tool for UI automation testing not only does not have too many advantages, but also brings a lot of inconvenience, there is a chicken with a knife suspected, inappropriate.

For automated testing, again based on the concept of test layering, consider moving the UI layer automation down as much as possible, or use lighter, more suitable tools for necessary UI automation testing.

Due to various discomfort, our client’s use of RPA tools for automated testing was of course aborted.

Since RPA is not suitable for automated testing, let’s see what it really does.

The real use of RPA technology

RPA technology can mimic a variety of repetitive rules-based processes that do not require real-time creativity or judgment, performing rules-based workflows on a computer without interruption, not only faster than humans, but also reducing the opportunity for error and fraud. In short, to “work like humans,” to “further liberate humans from mechanical labor,” freeing them to do higher-value work. This is the original purpose of RPA technology, the real purpose of RPA technology.

Based on the above characteristics, RPA technology in the financial field is relatively mature application. Finance is a field of strong rules, and many transaction processes and reporting processes in the financial field are mostly repeatable and regular, so it is also the easiest to achieve process automation. Relative standardization, clear rules and repeatable activities in financial decision making can also be applied with RPA technology.

The input-process-decision-output process related to finance is analyzed and disassembled, and then the robot software is used to simulate the operation of human beings. The software originally intended to be used in various software platforms, including accounting software, ERP software, report software, Even CRM software and tax software require a lot of manpower to fill in, submit, execute commands, menu click, output statements and other actions to be completed by robots. This is the application scenario of RPA technology in the field of finance.

RPA technology can also be applied to other structured business processes based on rules, such as HR, insurance reimbursement processes, and so on. At present, there have been many successful application cases at home and abroad, such as the financial and tax robot of the Big Four accounting firms, Ali Cloud RPA and so on.

(Photo credit: www.pwccn.com/zh/tax/tax-…)

RPA needs to proceed cautiously

RPA technology can be used to automate structured rules-based business processes, so it is considered as a technology that can liberate human beings from repetitive labor. It is a perfect, efficient and low-cost digital transformation solution favored by many enterprises.

However, although RPA technology is attractive, there are significant technical limitations in current RPA products that prevent RPA projects from achieving their full value. These challenges include:

  • Conversion of non-digital process inputs
  • The ability to identify target data fields in unstructured document formats
  • The ability to adapt to changing rules or business logic with relative ease
  • The ability to generate insights from transactional data for automated processes
  • The ability to interpret and understand the instruction set upstream of machine activity in context

RPA technology should be combined with AI technology to use cognitive and intelligent recognition technology to deal with these challenges, so as to be better applied in digital transformation.

On the other hand, IT is easy to ignore the technical transformation of the underlying support system when considering the use of RPA technology to realize digitalization only from the business layer, which is not conducive to the transformation of the whole IT environment and the complete digital transformation of enterprises. In November 2018, ThoughtWorks released its 19th technical radar, the RPA, for the first time on the list, but it was placed in the ‘hold’ ring for this reason.

(Download Technical Radar Issue 19)

Technical Radar recommendations:

The problem with the RPA approach, which focuses on automating business processes without addressing the underlying software system or function, is that introducing additional coupling makes it more cumbersome to change the underlying system. IT will also make any future attempts to address legacy IT environments more difficult. Few systems can afford to ignore change, so RPA progress needs to be coupled with an appropriate legacy systems modernization strategy.

At the same time, some consulting experts such as Deloitte and Ernst & Young said that there is still a lot of infrastructure work to be carried out in terms of the basic capacity of process management and system of many enterprise customers. There is no rush to achieve RPA, the first thing is to build their own process management and system.

Therefore, RPA ecosystem is not mature enough to be an ideal digital tool. How to use THE RPA should be based on the characteristics and specific needs of the enterprise.


For more insights, please follow our wechat account ThoughtWorks Insights