RPA Automation brings efficiency and effectiveness for the repeatable business processes by introducing ecosystem of Human and Robots (Co-HuBoTs) which achieves operational efficiency and better customer experience. RPA implementation can be attended where humans are required or unattended where no human intervention is required, and it can use AI/ML and cognitive features to complete the tasks.
Testing RPA implementations could be challenging as its not just about testing the automation of functional aspects but also technical implementation of these Bots. The technical implementation is not limited to just automation scripting but also extends to rules engine, Algorithms, effectiveness of cognitive features. The testing approach should address each step in the RPA journey right from requirement gathering till deployment & live proving, and should address below challenges, but not restricted: -
• Assuring RPA efficiency which introduces new level of quality, productivity and accuracy improvement
• Adherence to regulatory and compliance policies and not altering data ‘on its own’
• Ensuring data integrity across heterogenous systems and applications
• Guaranteeing security of sensitive data that is being consumed & transferred
• Exception handling to have robust and strong recovery mechanism
Approach provides information required to establish a successful Testing ability for Robotics implementation and ensures above challenges are met by detailing: -
- What focus areas need to be tested?
- How to validate & verify identified focus areas?
- When it should be executed & measured?
This holy trinity of What, How and When needs to be continuously fed with the patterns and learning data to make it more effective. This insight driven testing approach which not only provides focus areas but also optimise the testing effort as well as prioritise the testing assets. These actionable insights will help early defect identification and avoiding failures
My idea also includes a testing framework which is tool agnostic and can be seamlessly integrated to consume data from any tool (e.g. ALM tools, Test Data) as well as provide actional insights to the testing tools to drive action. This framework can be consumed by any testing tool of choice for functional, automation and NFR testing of Robotics solution.
2. Table of Contents
01 RPA and its type of solution
02 Importance of Testing in RPA
03 Testing Approach for RPA
04 Testing Framework for RPA
05 Conclusion
3. RPA and its type of solution
Robotic Process Automation (RPA) is a technique to automate high value, repetitive, rule-based tasks and free unwanted efforts with the use
of a computer software a.k.a “robot”. RPA robots work with existing systems and applications in exact same way as a human without requiring
change in existing infrastructure and processes. This collaborative ecosystem between Human and Robots can eventually be called as “Co-HuBots”
workplace.
RPA solution can be categories as below: -
- Attended/Assisted – Process which is triggered by human and need robot to work alongside in order to optimise the process by offloading
work from human and support in getting work done faster. This solution is targeted towards front-end activities
- Unattended - Process which is automatically triggered based on the schedule and then robot can work continuously without any human
involvement. This solution involves back-end activities
4. Importance of Testing in RPA
Testing of RPA solution is important for: -
• Assuring enhanced efficiency: - RPA introduces new level of quality, productivity and accuracy improvement, so its business critical
to ensure reduction of rote work & ease of use from RPA processes
• Processing of data for doing right: - RPA processes support organisation to ensure adherence to internal & cross-border compliance
and regulatory policies and not altering the data it is accessing ‘on its own’
• Ensuring data integrity: - RPA journey involves heterogenous systems and applications. So its utmost important to ensure data
integrity across all.
• Guaranteeing data security: - During RPA journey, sensitive data is being consumed & transferred. So, it becomes critical to validate
that data is not being logged or forged and if logged, then it is in encrypted format
• Handling exception: - Incorporation of robust and strong recovery mechanism for bots in case of network issue, application down or
any other failures
• Recording audit trail of activities: - E2E audit log needs to be available providing each process step and who triggered, which is useful
in case of auditing or tracing any suspicious activities identification.
5. Intelligent Testing Approach for Robotics implementation – Holistic View
Intelligent Testing Approach is evolutionary approach for Robotics
implementation which will allow more ground for testing at faster pace.
Approach start with understanding As-Is process and To-Be RPA solution
which assist in discovering what focus areas needs to be tested. Focus
areas are the characteristics of a process under consideration.
Quantification of these areas define how well process has been developed
in accordance with functional and non-functional aspects. A clearly defined
focus areas support to take Go/No-Go decision without adding any further
dilemma. Once discovery and assessment for testability of each identified
focus areas is completed, they are mapped against type of testing which
suggest how to validate & verify them. Each type of testing has its own
objective, features to test and outcome to evaluate. After mapping of focus
areas to type of testing, further mapping to phase of testing is carried
out which provides when it will be executed and measured. Discovery and
assessment of focus areas can be an iterative process as there are
possibility of miss out, which can be realised later in the stage.
This holy trinity of What, How and When is continuously fed with patterns
and learning data from previous releases or external data source which is
analysed using AI/ML prediction algorithm to have actionable insights.
These insights are game-changer to the approach which provides inputs to
Test suite optimisation, early identification & suggestion to defects and
other required quality metrics.
6. This area validates & verifies
whether To-Be RPA solution is been
delivered as per the functional
requirement of As-Is process
Process
Functionality
This provides information on how
easy and pleasing is the solution to
be used by end-user
User
Experience
Certain Organisation(s) requires
solution to be used by disable
person(s), which is assessed by this
focus area
Accessibility
This area ensures any vulnerability
threat in both data & code is
addressed & business risk is
mitigated
Security
This area evaluate solution
compactible with the disparate OS,
browser, devices as an when
required
Compatibility
RPA is known for ensuring
regulatory & compliance policies as
required by internal & cross border
policies. This area will confirm
process meet this requirements
Compliance&
Regulatory
One of the benefit of RPA is
performance optimisation of
existing process. This area assess
solution for response time,
concurrency & stability when under
load.
Performance
As bots are designed to work for
24X7, this focus area measures the
availability of solution and its ability
to recover from failure without loss
of data & functionality
Availability
On certain occasion, solution needs
to be scaled to meet increasing
demand. This area provides this
information & extend of scalability.
Its takes into consideration, both
hardware & software
Scalability
As both human & bots are involved in RPA, solution
need to keep records of information like process
name, who executed, exceptions, etc as required.
This area audits log files maintained as part of
solution which can be in future for any investigation,
if required
Auditability
For certain business function, employees need to
deal with sensitive data, PCI-DSS data, Personal
Information etc on various channels (telephone,
email). This focus areas verifies whether solution
records any such information which is against the
compliance rule & might risk the business
Communica-
tionchannel
Focus Areas – What & Why
Note: - Focus areas mentioned here is not restricted and can vary from process to process or organisation to organisation
7. Types of Testing
Will validate the Robotics solution with various combinations of hardware and software configuration that is essential
before exposing any transaction to bots. Some of the parameters that includes configuration of VMs, process controller
machine, runtime resources or bot machine, listener ports, application settings, SSL certificates & security, login agent
configuration, credential manager, encryption algorithm, environment variables, calendar setup, email configuration, user
setup and process configurations.
Configuration
Testing
Functional Testing verifies that the process developed is in conformance with the requirement specification. Every aspects
of process is tested by providing various input parameters and verifying end result. Through testing of all exception
scenarios is carried out and made sure they are handled as per business requirements
Functional
Testing
This testing verifies how easy and pleasing is the process developed to use and based on recommendation it is further
amendment to make is user friendly. In this, messages that are visible to end-users are also verified and amended
wherever required, so that it is easily understood in order to take appropriate action against the same
Usability Testing
This testing ensures process developed is usable by people with disabilities like hearing, colour blindness and others.
Accessibility
Testing
It verifies whether process developed can run on disparate browser, OS, devices (mobile, tablet) based on requirements.
Also if required version testing can also be performed which verifies process on different backward or forward versions of
application or systems
Compatibility
Testing
8. It verifies process responsiveness, speed and stability when under load. Depending upon the architectural landscape of
Robotics solution various performance testing scenarios can be executed like load, stress, spike and endurance. In this
testing for RPA, process developed is executed at full speed with or without load to identify components requiring
additional wait or where performance can be further optimised
Performance
Testing
This testing is carried out to validate how process developed reacts in case of failure and how it recovers from expected
and unexpected events without loss of data or functionality. Also in some organisation, rollback of deployment is also
tested which provide assurance of restoration to previous version in case of erroneous result of operations.
Resilience Testing
It verifies that the process developed do not have any vulnerability, so that its system and data are protected from
threat. There are two parts of security scanning in RPA: -
- Code or flow review of the Robotics process that has been developed and making sure it does only activities for
which it has been designed.
- Data security which ensures sensitive data is protected, used only in transit and is non-persistent. This should also
take into consideration sharing of data over any communication channel (Telephone, email). Some examples are
Personal Identifiable Information (PII), 16-digit card number which should always be masked and not to be stored as
per PCI-DSS policy, sensitive information should not be recorded when sharing over Telephone.
Security Testing
This testing is more tend towards analysis of the log files which has been created by Robotics solution which can be used
in future for any investigation. In this testing various parameters as below are analysed: -
- Who triggered the process?
- What part has been done by bot and what by human?
- Is exception being written and proper reason has been mentioned?
- Does logs record information as required by regulatory and compliance policies?
- Does E2E MI report can be extracted which will support business to analysis and act on it?
Data Analytic
Testing
Types of Testing (cont.…)
9. • In this phase of testing, individual components/objects are combined together to have E2E process flow. Its first
opportunity to test Robotics process end-to-end and identify any faults in interactions between integrated objects. This
phase validates whether process has been developed in accordance with requirements provided.
“Did I build what I said I would?”
• This is usually done by QA, but not restricted.
Process
Integration
Testing
• This phase makes sure that process developed is in agreement with the business requirement and assess whether it can
be accepted for delivery.
“Did I get built what I need?”
• This phase is mainly performed by Business/end-users/SME.
Business
Acceptance
Testing
• All the non-functional requirements like security, performance, resilience, compatibility etc are tested in this phase and
are made sure that they meet the expected outcome
Non-functional
Testing
• This phase will allow to verify weather environment on which Robotics solution needs to be deployed is set up correctly
including both hardware & software.
• This phase includes atleast combination of configuration testing and functional testing of MUST scenarios.
• This phase is not mandatory and can be executed in event of addition or amendment to environment.
• Testing in this phase is mostly carried out by small number of users in controlled way & then gradually ramping up for
full rollout.
Live Proving
Phases of Testing
11. Framework that can be used for Testing of RPA is as depicted below.
This framework can be easily integrated with any testing tool of
choice: -
Pre-requisite: -
1. RPA config file for the process under consideration
2. Test data required for testing.
Robotics process execution: -
3. Bot is triggered by QA or Business SME
4. Bot initiates RPA process and performs sequence of steps as
defined in the process flow by interacting with various
applications as required
5. Bot records all the steps it has executed into log files
Validation: -
6. After completion of entire process, application output and RPA log
are validated against required outcome
7. Report is prepared for review and circulation
Monitoring: -
8. Process steps that are being performed by bots can be monitored
using ‘Bot Monitoring tool’ in order to avoid interference with
automation
Testing Framework for Robotics implementation – Bird’s eye view
12. Conclusion
RPA Automation brings efficiency and effectiveness for the repeatable business processes by introducing ecosystem of Humans and Bots (Co-
HuBoTs) which achieves operational efficiency and better customer experience. Testing RPA implementations could be challenging as its not just
about testing the automation of functional aspects but also the technical implementation of these Bots. The technical implementation is not limited
to just automation scripting but also extends to rules engine, Algorithms, effectiveness of cognitive features. The testing approach should address
each step in the RPA journey right from requirement gathering till deployment & live proving. Approach provides information required to establish a
successful Testing ability for Robotics implementation and how to met mentioned challenges by detailing: -
• What focus areas need to be tested?
• How to validate & verify identified focus areas?
• When it should be executed & measured?
This holy trinity of What, How and When needs to be continuously fed with the patterns and learning data to make it more effective. This insight
driven testing approach which not only provides focus areas but also optimise the testing effort as well as prioritise the testing assets. These
actionable insights will help early defect identification and avoiding failures
Testing framework presented here within is tool agnostic and can be seamlessly integrated to consume data from any tool (e.g. ALM tools, Test
Data) as well as provide actional insights to the testing tools to drive action. This framework can be consumed by any testing tool of choice for
functional, automation, performance & NFR testing of Robotics solution
“Quality is more important than Quality”
13. About Author
Lokesh Gulechha has consistently developed and implemented innovative ideas which has transformed the business operations and enabled
dramatic quality improvement, increased productivity and reduced operational costs. He steered multiple projects for process optimization and
technology transformation initiatives. Lokesh’s state-of-the-art in space of Intelligent Automation coupled with Artificial Intelligence and Machine
Learning has allowed development of solution which caters to more complex decision-making tasks and unstructured data which allowed to
improve accessibility, speed and accuracy of the enterprises. He has addressed customer ecosystem challenges by means of propagating though
leadership and research.
Lokesh can be reached at email: - lokesh.gulechha@capgemini.com || LinkedIn: - https://www.linkedin.com/in/lokeshgulechha/