Continuous Delivery- The new normal
Continuous Delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently.
Benefits of continuous delivery
Testing : The final barrier for Continuous Delivery
Continuous Delivery without continuous testing
A Continuous Delivery Scenario
Engineering teams develop software modules and commit their code regularly into a version control tool like GitHub.
“Devop” teams use a Continuous Integration solution such as Jenkins to run daily builds, including various post-build tests, to validate the quality of the build.
QA testers validate release candidates prior to their deployment in production with a handful of automation tools (e.g. JMeter, Loadrunner).
Operations validate releases that were just deployed in production, and monitor the application further in a post-production environment.
How Continuous testing facilitates Continuous Delivery
When we have Continuous Integration and Continuous Delivery in practice, why not we have Continuous Testing?
Currently in DevOps only Continuous Integration infrastructure exist where mainly low level test are being executed but specialized test are being done only end of the release which increases risk of finding critical regression issues in later point of time.
To ensure Continuous Delivery a concept has been produced as Continuous testing for complete automated End to End scenario, End User Acceptance Test, Performance test, cross browser to support Continuous Delivery where all specialized Test are running next to Continuous Integration infrastructure based on everyday changes being introduced by Developers.
Continuous Testing in Practice
A successful continuous testing process requires the right tools and processes to be adopted across the various teams within the organization.
This is how a working architecture look like,
Conclusion
The only viable solution for Cloud Delivery model is to integrate a fully automated Continuous Testing process into their Software Development Life cycle. There is no room in agile processes for manual hand offs and quality compromises, Continuous Testing will become increasingly critical as an inherent piece of any successful Continuous Delivery process.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
6 | |
5 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 |