Continuous testing is a modern testing technique that depends on actionable feedback at each stage of the software delivery cycle. The main goal of Continuous Testing is to test early at all stages of the SDLC with automation, test as often as possible, and get faster feedback on the builds.
Continuous testing executes automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate, thus gaining actionable feedback at each stage of SDLC. Below are the different types of Continuos testing focus areas that we have:
Key Principles of Continuous Testing
A Balanced Testing Pyramid reduces Cost of Quality and Accelerates Testing
Automated Pipelines with Quality Gates: Automated pipelines with quality gates are an important part of continuous testing. Quality gates are checkpoints that are used to ensure that code meets certain quality standards before it is allowed to proceed to the next stage of the pipeline. Automated quality gates can help ensure that code is tested thoroughly and that it meets certain performance and architecture metrics.
Quality gates can be implemented at different stages of the pipeline, including unit testing, component testing, integration testing, and end-to-end testing. By implementing quality gates at each stage of the pipeline, you can ensure that code is tested thoroughly and that it meets certain quality standards before it is allowed to proceed to the next stage.
Continuous Testing practices
The Continuous testing approach recommends various best practices listed below
Adoption expectations
System Components | MVP | MVP+ |
---|---|---|
Static Code Analysis |
+ |
|
Code Reviews |
+ |
|
Version Control |
+ |
|
Unit Testing |
+ |
|
Environment Provisioning |
|
+ |
Automated pipelines with Smoke testing as Quality Gate at all Env |
+ |
|
Automated pipelines with Regular Quality Gate at all Env |
|
+ |
Automated pipelines with Advanced Quality Gate at all Env |
|
+ |
Balanced Test Pyramid |
+ |
|
Test Design Practices |
+ |
|
In-sprint automation |
|
+
|
Tools
Functionality | Tool Name |
---|---|
Test automation and in-sprint automation |
Git |
Version Control Collaboration |
Azure DevOps Repo, Bitbucket |
Build automation tools |
Jenkins, Bamboo, TeamCity, Azure DevOps |
Containerization and orchestration tools |
Docker, Kubernetes, OpenShift |
Test Automation |
JUnit, NUnit, Rest Assured, Selenium |
Roles
Name | Responsibilities |
---|---|
QE Architect |
|
Developer |
|
Build Engineer |
|
Test Automation Engineer (TAE) |
|
QA Specialist (Functional SME) |
|