automation goal for its regression testing using RPA
down from 3 days for regression testing due to RPA
The Directorate of Integration and Diversity (IMDI) is a Norwegian government agency, which is responsible for implementing public policy concerning refugees and integration. Working with Norwegian municipalities, the Directorate is responsible for implementing the national government’s policy on integration helping refugees to settle in the country and provide professional and social opportunities.
To meet its mission to deliver excellent integration services, IMDI introduced an iterative, agile software development cycle around four-week sprints. However, those sprints were taking six weeks as heavily manual testing slowed the process. The Directorate took the innovative step to apply Robotic Process Automation (RPA) to help improve test preparation and automation.
While RPA is best known for process automation, it’s beginning to demonstrate its value in software testing. The technology can mimic a real-life environment and testing the applications in it, allowing testers and developers to save money and resources as well as be more efficient. RPA tools are increasingly being used for preparing tests environments, handling test data and regression testing.
IMDI is leading the way in deploying RPA as part of it test automation strategy. It realized quickly that this type of automaton is ideal for an agile development environment where testing is a vital part of continuous delivery. The challenge for the Directorate was the time that manual software testing was adding into development and delivery.
Our system is continually evolving, and you want to have frequent new releases, but testing meant an iteration was taking six weeks. The result was that we can’t produce fast enough as we spent too much time testing. We saw that RPA offered the potential to improve test quality and accelerate our release schedule.
Kjartan Asmundsson • Change Manager
Regression testing is a major part of the software development process. It involves re-running functional and non-functional tests ensure that any system change doesn’t adversely affect previously developed and tested software. RPA has been shown to be highly effective for regression testing due to its ability to handle many test variations simultaneously and for managing test data. With so many potential variations, it can take a good deal of time and resource to properly handle regression testing manually.
“We knew our major challenge was regression testing,” says Øyvind Woll, Senior Advisor and leading the implementation of RPA at IMDI. “This testing was highly manual and very time consuming. We’ve built a system where there are many stakeholders working in the application at one time. For any change, testing has been enormous and has slowed us down a lot.”
RPA helps an organization by facilitating user acceptance testing of system changes. In the past, this has involved many business users and subject matter experts in the same regression tests after any system alteration. This was very time-consuming and boring, which could lead to tests being neglected as people simply didn’t have the time to devote themselves.
Using RPA to automate the tests allows IMDI to free stakeholders from the test burden while improving test quality through better creation and control of test data.
Where we were previously spending up to a three days in regression testing, RPA is able to reduce this to around a day. It’s a significant time saving. Our aim is to automate 80% of all our regression testing as we go forward.
Øyvind Woll • Senior Advisor
The secret to successful software testing lies in test preparation – especially in ensuring that the test data is correct.
“Most of the time spent in testing is preparing the test. We have a great deal of data coming in from the immigration authorities, municipalities and other third parties. For any refugee, we have data flowing through the system every time something happens in their case. And, every time, there are a series of rules that have to be applied to that data. This shows the scale of the task we face with regression testing.”
If the preparation is not spot on and the data precise and correct, then the likelihood is that there will be error and delaying in the actual testing. The challenge was greater for IMDI where the highly sensitive data in its system could clearly not be used for test purposes. The Directorate’s solution was to develop synthetic data that could be used for testing.
We have constructed our own test data that can be used and re-used in our testing, With RPA, we’ve developed bots that enter this data into the system in the same way as a third party would have. The robot sends the data in the correct sequence at the right time on every occasion. That saves us a lot of time, maybe half a day. Then, we can also send the test data through other processes that the user doesn’t have to do themselves.
Øyvind Woll • Senior Advisor
Ensuring the test data is correct delivers a number of key performance benefits to IMDI as Øyvind Woll explains: “When we know that people are using accurate test data then if something does go wrong you know its somewhere else in the system. We’re able to use and re-use the data knowing it’s correct. When you’re running hundreds of tests at the same time that level of data quality is invaluable.”
With the robot automatically feeding consistent data into the tests, it frees the users but also dramatically reduces the chance of human error in testing. RPA reduces the need for a tester to manually enter or manipulate data in the system or fail to conduct the test fully or properly due to other work commitments. The quality of the test is improved, and the time taken in testing and re-testing is reduced.
Beyond improving data quality, automating testing working UiPath has allowed for seamless integration of RPA into IMDI’s development and testing environments. The goal is to use this close integration between the IMDI Test Manager, Azure DevOps, UiPath Orchestrator, Test Manger, and Studio Pro to create a very user-friendly experience for the tester.
Woll explains: “We’ve built a pipeline from Azure DevOps that automatically runs tests in UiPath Test Manager and Orchestrator. The results are returned to Azure DevOps, so the tester only has to look at the tests that are completed. This helps us make the test experience as user-friendly as possible.”
The approach has brought positive results.
“By making the tester’s life easier, we’re seeing more domain experts and business users committing to proper testing with proper test data. They see the benefit and will devote the time,” he continues.
In most DevOps environments the goal is to achieve test-driven development (TDD). This is a means of introducing continuous testing to ensure that new system changes can be brought online quickly and effectively. This is the long-term strategy that Kjartan Asmundssson sees for RPA at IMDI.
When we find bugs in regression tests, we lose one or two weeks of schedule fixing the issues and re-testing. If we’re able to fully optimize the regression tests, we could start running them during the developing stage. We’d spot all the errors and bugs a lot earlier. We could run more tests at the same time and test much more than we’re currently able. So, it could save us a lot more than just three or four days and boost the quality as well.
Kjartan Asmundssson • Change Manager