Robotic Process Automation Testing.

The purpose of this article is to give a brief insight into Robotic Process Automation (RPA), and to open a discussion on an approach for quality & testing.

In line with recent technology predictions, we are seeing a growing trend in the uptake of Robotic solutions to automate repetitive, error prone, time based manual business processes known as Robotic Process Automation (RPA). It should be noted that the inputs for RPA must be of a digital source. RPA can be implemented as an independent project within an organisation or part of a larger strategic Digital Transformation programme to enhance business efficiency, improve quality and reduce costs.

In its simplest form, RPA is the use of a Software Application, termed “Bots”, that are programmed to complete tasks normally completed by humans on a Business Software Application. The concept here is that by programming a Bot to complete the task, this Bot can be used many times, replicated and thereby reducing the need for manual processing. An example of where an RPA might be used, is in the extraction of User Registration details from a User Capture process from an email or contact form and inputting these details automatically.

Robotic Process Automation Testing

Note
For those not familiar with RPA, a Bot is a Software Application hosted on a Server and not a physical Robot in the traditional sense.

The Bots can read/write from a data source such as Excel or an SQL Database to process data into Software Applications by controlling the objects in the applications being automated. Similar challenges exist in RPA that have also existed in Test Automation for some time now around the use of objects. Considerations should be made to allow ease of automation and where possible limiting 3rd party controls that are not well suited.

Problems that may exist could be around software objects of the application being automated not designed well to support automation around object interactions. Greater onus is now on producers of software applications and software vendors to make their applications more suitable to RPA in the development design stage and as part of the Product Build.

RPA Design & Build

  • RPA Bots must be comprehensively tested – ‘To Err is Human; to Really Foul Things Up Requires a Computer’ (credit Paul Ehrlich)
  • RPA Bots need to be monitored in real time – real time checking of Bot outputs
  • RPA Bots need to be managed like any other company resource
  • Controls must be in place to shut down a Bot instantly where an issue is identified
  • Human roles and functions within companies will change, people need to be dynamic
  • Those who have worked in Functional Test Automation have new opportunities in Robotic Process Automation
  • If undertaking an RPA Implementation, learn from Test Automation – start with a proof of concept and get a simple process working first as part of your RPA framework
  • Deliver using Agile, frequent working blocks of automated processing
  • Have Senior Management buy-in, implementation of RPA must come from the top
  • Have a process to measure and report (frequently) on the ROI of each Bot – to prove business value it must be measured
  • Software Testing mindsets can provide invaluable risk migration in the success or failure of RPA implementations.

Testing Approach

  • Define your inputs and expected outputs around positive used cases
  • Think of edge cases, where the Bot might fail, and test these cases
  • Consider Data & Environments e.g. Legacy Data of complex data types can increase chance of failure
  • Prioritise and perform a collaborative risk assessment
  • Test execute your Bot multiple times and capture results
  • Learn from issues identified, fix, adapt, and apply learnings
  • Most fundamentally is to also test Non Functional aspects of a Bot in DevOps for example test the monitoring, management, security, access, controls, restore points etc
  • Consider Automation of Testing for RPA – Ask questions around how often will the process be modified or the application interacting with RPA be modified. Remember a wider software application which undergoes frequent change, may require an Test Automation solution for the RPA Bot process
  • The use of RPA is growing in popularity by many organisations as a future solution to improve efficiency. Human nature can spawn negative views due to the uncertainty around roles and job security. However what’s clear is that those who embrace the change will drive reduced costs by increasing capacity for other business critical activities.

Bio, James is a Director of Exactest (www.exactest.ie) an independent Software Quality Assurance provider in Ireland and the UK. He has delivered senior test management capability to Test Director level on multi million euro programmes. He has expertise in large and complex test solutions in both on and offshore test delivery models and is a Certified Test Performance and Automation Engineer.