3. TYPICAL
• As a tester, do you need to wait for an
acceptable release from developers?
• Loose time doing all repetitive manual stuff?
• Maintain different environments and software versions manually,
over-and-over-and-over…
• Didn't we fix this issue three months ago?
• Is this really release 1.6.5?
All sounds familiar?
codecentric Nederland BV
8. WHAT ARE THE MAIN STEPS OF CONTINUOUS DELIVERY?
• Build – compile, unit test, version, package
• Quality – metrics, documentation
• Test – acceptance-, regression- and performance tests
• Provision environments – deployment to test- and staging
environment
• Production – green/blue deployment to production
codecentric Nederland BV
11. ROLE OF THE TESTER
Prod
Acc
Local
Build
Integration
server
Release
build
Test
Users
DEV
codecentric Nederland BV
DEV
DEV
TEST
12. ANATOMY OF A DEPLOYMENT PIPELINE
Fast Feedback
Commit
Automated
Acceptance Test
Automated
Capacity Test
Manual
Testing
Done
Release
Trust in Application Stability
•
•
•
•
Every change results in a trigger of the deployment process
Software is build once and only once
The same deployment process for every environment
Deployment in production-like environments
codecentric Nederland BV
21. EXAMPLE – DELIVERY PIPELINE 1/2
Provision-Deploy
Acceptance
Commit
Push to Git Repo
Trigger CD Pipeline
Build Source Code
Run Unit Tests
Run Code Analyse
Version Git Repo
Release WAR
codecentric Nederland BV
1
Start EC2 Image
2
Provisioning
3
DB Create Update
4
Deploy WAR
5
Start Tomcat
6
7
Acceptance Test
1
2
3
4
5
Start Selenium
Run AATs
1
2
22. EXAMPLE – DELIVERY PIPELINE 2/2
Performance
Test
Run JMeter
Provision-Deploy
UAT
1
Select Version
Start EC2 Image
Provisioning
DB Create Update
Deploy WAR
Start Tomcat
codecentric Nederland BV
Provision-Deploy
PRODBLUE/GREEN
1
2
3
4
5
6
Select Version
Start EC2 Image
Provisioning
DB Update
Deploy WAR
Start Tomcat
1
2
3
4
5
6
33. HIGHLIGHTS
•
•
•
•
Fast Feedback & Dashboards
Manual testing is (still) necessary
But try to automate as much as possible
Learn from each other
codecentric Nederland BV
34. THANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
codecentric Nederland BV
38. WHAT ARE THE KEY BENEFITS OF CONTINUOUS DELIVERY?
• Low-risk releases
• Faster return on investment in software projects
• Improvement of competitiveness and responsiveness
• Quality improvement of new software versions
codecentric Nederland BV