Software Test Automation Meets RPA
Robotic Process Automation (RPA) is a new technology that looks to eliminate manual repetitive tasks. It promises help for many different industries. Software testing and test automation is one area where RPA is expected to have a dramatic impact. With RPA, the software can be trained to perform repetitive QA tasks.
At SailPoint, we held a hackathon at our Pune India office and one project showed the potential of using RPA to improve the QA Engineer’s day-to-day life. The hackathon project explored using an RPA tool called UIPath. Some of the benefits showcased during this POC were automation of repetitive tasks such as:
- The launch of different IdentityIQ versions to allow testing multiple product branches,
- Automating the creation of connectors for managed downstream applications
- Various sanity test operations
- Performance testing for the IdentityIQ ServiceNow integration
Also, for the ServiceNow integration testing, we used a free version of UIPath RPA tool, installed on multiple virtual machines to execute the following use case:
- Log in with a test user to multiple Service Now instances
- Assign 10 Roles to the user
- Perform order checkout
- Logout from the ServiceNow instance
This was executed for 296 users. The entire execution was done in parallel with multiple UIPath instances executing this scenario simultaneously. The scenario was able to complete in less than 100 minutes. With manual effort, this scenario would have taken at least a full day of effort and valuable tester time.
This is a small example, that shows how RPA can help to increase processing efficiency and reduce errors. With a fully licensed UIPath version, the scenario can be expanded to many bots to automate large sets of manual tasks.
RPA bots can be created in a number of ways. Most RPA tools support recording the manual task as it is performed. In addition, the test engineer can create straightforward scripts. RPA allows testers to easily create simple tasks as well as very complex automation, involving conditional IF/ELSE statements, loops, custom variables and other advanced options.
Is it really different?
RPA tools allow automation to be developed by less technical personnel. RPA reduces the need for deep programming skills and provides UIs with simple drag and drop functionalities. RPA also supports a wide range of operating systems. RPA also provides support for both desktop-based applications and for web-based applications. Moreover, it supports all regular compliance and along with in-place automation framework, this can be combined to test uncovered scenarios.
More RPA vendors are bringing new capabilities to the market as the toolsets mature. Many of the tools are free for limited time periods to facilitate learning and RPA programming certifications are becoming available.
The future is bright
RPA shows the potential to make test automation faster and easier. This will allow testers to stop focusing on repetitive tasks and provide more value by extending the test environment in new ways.
“Nothing ever stays the same, change is the only constant in life.”