How To Make Quality Gates in CI/CD with GitHub
--
Continuous Testing is a fundamental part of delivering valuable software optimizing our effort. While it is a simple term, making the concept a reality requires a deep dive into implementation details.
We covered in previous articles the bottom-line reasons, challenges, and the core test automation elements in Continuous Testing. We will now share in a series of articles more concrete implementation elements.
This first article focuses on setting up Quality Gates within a CI/CD context. As a result, you can verify the application requirements as soon as possible using test automation. We will cover the following steps :
- Clarify the architecture of the Quality Gates in CI/CD
- Define the Quality Gates content with a Test Campaign
- Implement the Quality Gates for the non-production deployment
- Configure sanity checks and post-deployment tests
- Continuously improve and shift-right afterward
You can follow this article by securing these prerequisites:
- GitHub account, if you don’t have one go here
- Cerberus Testing account, you can get a free cloud here
- An application under test on GitHub that you can fork here
- A standard application build and deployment pipeline
Let’s start with the end in mind by clarifying the architecture.
Follow Cerberus Testing for more open source test automation.
Clarify the architecture of the Quality Gates in CI/CD
Our Quality Gates acting in CI/CD aims to ensure the quality requirements we can verify with test automation. The best practice is to decouple the build, deployment and activation across various test environments. In our case, we rely on one test environment before going to production.
From an architectural perspective, our requirements are to ensure that the application goes through every test environment with automated test execution. If our quality criteria are not met, the application deployment must stop. As a preventive measure, we leave the possibility of a manual bypass…