Most of us are still accustomed to a waterfall process, even though we hear more and more about the agile way of working and agile practices. The same goes with software development. You start by developing, then you test and finally you release the functionality. But where is the continuity in this process? Everything happens successively. In this blog Laura Popovici, Pega Developer at BPM Company, explains how this can be done.
Continuous Integration / Continuous Delivery
The waterfall methodology is not only applied in the IT or software development industry, but also in our daily tasks. In some cases, the waterfall approach is a good one in everyday life. For instance, it would be ideal to take a shower after a workout or go to sleep after you’ve removed your make-up, not the other way around. With the help of CI/CD (Continuous Integration / Continuous Delivery) pipelines, continuity in this process is possible. Software users nowadays expect fast fixes and at the same time are less and less tolerant towards defects.
Way of working with the CI/CD process at BPM Company
CI/CD pipeline process is a practice focused on improving software delivery and it simply automates how software is delivered. In a world where everything is happening at an astonishing speed and more and more things are automated, why not use continuous testing in your CI/CD pipeline process?
What is continuous testing? Why is it important to a CI/CD pipeline?
First of all, there should be automated tests in every software development process. There’s no value in automating the delivery process if there are still time-consuming, manual steps. However, while manual testing is still important for exploratory testing, the most valuable tests to automate are end-to-end (E2E). Continuous testing, also known as agile testing, is an iterative process that follows the principles of agile software development. The main goal is to achieve high product quality, identify issues as early as possible in the process, and provide feedback in no time. Extensive refactoring and retesting are avoided too. We all know that applying changes is more costly after the application has been already released to Production.
Who would want costly fixes in production?
The best teams and companies use automated tests. Even more, these tests are integrated within the CI/CD pipeline process. Each programming language has its own ecosystem of tools and capabilities. Depending on these factors, an integration between the automated tests and your CI/CD pipeline can be achieved successfully.
If we refer to PEGA, while configuring the CI/CD pipeline model in PDM (PEGA Deployment Manager), make sure you set up a task (usually applicable to the QA environment) to run the regression automated tests. For example, Azure DevOps automation test scripts pipelines or Jenkins pipelines can be integrated with the PDM CI/CD pipeline.
PDM on cloud – CI/CD pipeline configuration example
At a click of a mouse, all the automated test scripts are triggered when the deployment reaches the automated tests step in the pipeline. And not just that, some automated test tools are suited for managing parallel testing meaning that tests can run simultaneously, cross-browsers and even cross-systems.
PDM on premise – CI/CD pipeline configuration example
The competition in the market is increasingly challenging. We’ve become T-shaped assets in cross-functional agile squads. If possible, everyone expects top quality, acceptable costs involved, and a prompt delivery process. All this while the requirements of the end-users are satisfied.
Well, continuous testing integrated with your CI/CD pipeline is the answer. Make smart choices! – Laura Popovici