In this instalment of the RPA Implementation Lifecycle, we focus on the Release phase and explore Continuous Deployment and Testing approaches that can be applied in RPA implementation projects and how that compares against other similar low-code implementation projects.
Continuous Deployment & Testing in RPA
Having mature DevOps practices in place is a must for any software development project to foster collaborative ways of working and to facilitate frequent, faster, and more reliable software deliveries regardless of whether it is a low code or a good code project. In the case of RPA implementations, an automated deployment process to build and release robots through deployment pipelines is essential to allow CI/CD (continuous integration/continuous delivery) of the software robots so they can be compiled, packaged, tested and deployed in a controlled and efficient manner. Executing repeatable automated tests through different environment stages as part of the deployment pipelines is something which is necessary for incremental agile RPA software development to ensure the quality of the robots before they are being deployed into production.
Organisations adopting RPA must make efforts to put in place such DevOps practices and avoid doing ad-hoc deployment and release testing of Software robots. Not all RPA vendors at the moment provide built-in automated deployment and testing capabilities, or support for external industry-standard DevOps tooling, for example, Azure DevOps, Jenkins, and so on. However, a standout example is UiPath, it now provides an integration package for a third-party tool such as Azure DevOps to allow packaging, publishing and testing of UiPath RPA projects using Azure DevOps build and release pipelines. This lets one deploy UiPath projects as packaged solutions onto the UiPath Orchestrator, as well as to run either existing automated UI test sets (built using the recent Test Suite capabilities in UiPath) from the UiPath orchestrator or to run other standalone automated tests as part of the deployment process.
Continuous Deployment & Testing in other Low code Implementations
So how does this compare to DevOps practices in other low code implementations?
Pegasystems, one of the leading low code application platforms, now provides built-in DevOps capabilities for continuous deployment & automated testing. Going one step ahead, they do this in addition to supporting integrations with a number of third-party DevOps tooling such as Jenkins, Docket, Puppet, and so on. Pioneering the concept of model-driven DevOps, Pega’s new Deployment manager feature allows building CI/CD pipelines for low code Pega apps from within Pega Platform covering the build, package, test, and deploy activities. With an in-built DevOps tool in the platform that leverages Pegasystems’s existing orchestration engine and case management technology, Pega attempts to instil industry-standard DevOps practices in their customer deployments without the need to use a separate third-party DevOps platform.
Additionally, to employ a testing pyramid based automated testing approach needed for continuous integration and continuous delivery of software deployments, Pega now provides PegaUnit testing feature that allows developers to define & execute automated unit testing for app rules as part of the CI/CD pipelines. And, as well as to include automated UI testing built either using tools such as Selenium and Cucumber through supported frameworks or using scenario testing capabilities within the Pega platform.
Read the other articles from this RPA Implementation Lifecycle series:
Contact us at SQA Consulting, to see how we may assist you in developing the necessary skills needed for implementing RPA projects.