SlideShare una empresa de Scribd logo
1 de 30
codecentric Nederland BV
@huibschoots & @mieldonkers
SUCCESFUL TESTING
THE CONTINUOUS DELIVERY PROCESS
codecentric Nederland BV
INTRODUCTION
Miel Donkers
Developer
@mieldonkers
Huib Schoots
Tester
@huibschoots
codecentric Nederland BV
• Experience with Continuous Delivery?
• 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…
• Is this really release 1.6.5?
• All sounds familiar?
TYPICAL
codecentric Nederland BV
Prod
BUILDING A RELEASE
TEST
Local
Build
Integration
server
Release
build
DEV
Acc
Test
Users
DEVDEV
codecentric Nederland BV
WHY CONTINUOUS DELIVERY
codecentric Nederland BV
WHAT IS CONTINUOUS DELIVERY
•  Continuous Delivery pipeline
•  Automation
•  Manual control
•  Feedback
codecentric Nederland BV
GOALS
•  Predictability
•  Quality
•  Speed
codecentric Nederland BV
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
CONTINUOUS IMPROVEMENT CYCLE
Requires:
Discipline &
Responsibility
codecentric Nederland BV
STOP THE LINE!
codecentric Nederland BV
PUSH VS. PULL
codecentric Nederland BV
ANATOMY IN DETAIL
Source
Code
Commit Stage
Compile
Commit Tests
Assemble
Code Analysis
Artifact Repository
Acceptance Stage
Configure Environment
Deploy Binaries
Smoke Test
Acceptance Tests
UAT
Configure Environment
Deploy Binaries
Smoke Test
Capacity Stage
Configure Environment
Deploy Binaries
Smoke Test
Run Capacity Tests
Production
Configure Environment
Deploy Binaries
Smoke Test
Env.&App
Config
Env.&App
Config
Version Control
Testers
Self-service
deployments
Operations
Perform push
Button releases
Developers
See code metrics
and test failures
reports
binaries
metadata binaries
reports
metadata binaries
reports
metadata
codecentric Nederland BV
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
MAIN STEPS TO CREATE A CONTINUOUS DELIVERY PIPELINE?
•  Getting started with virtual environments, e.g. Amazon EC2
•  Configure your Continuous Integration Server
•  Provisioning your Test, Staging and Production environments
•  Configure your Continuous Delivery Pipeline
•  Create a Dashboard of your Systems
codecentric Nederland BV
EXAMPLE
§ Elke stage een slide.
codecentric Nederland BV
WHAT ARE THE MAIN STEPS OF CONTINUOUS DELIVERY?
codecentric Nederland BV
TOOLING THAT CAN HELP YOU
codecentric Nederland BV
EXAMPLE – TECHNOLOGY STACK
•  Amazon EC2 (Virtualization, Cloud)
•  Jenkins (CI Server)
•  Git/Github (Version Control)
•  Sonar (Code Quality)
•  jUnit (Unit Tests)
•  jBehave (Acceptancetests)
•  Selenium (UI Tests)
•  Puppet (Provisioning)
•  Tomcat (Application Server)
•  Artifactory (Artifact Repository)
•  Maven (Build Tool)
•  jMeter (Performance Tests)
•  AppDynamics (Performance Tests)
•  Liquibase (DB Versioning)
codecentric Nederland BV
OUR SETUP
https://github.com/...
CD Server
Test Server
User Acceptance
Test Server
Production Cluster
Blue / Green
CD Slave
codecentric Nederland BV
EXAMPLE – DELIVERY PIPELINE 1/2
Push to Git Repo
1
Provision-Deploy
Acceptance
Commit
Trigger CD Pipeline
2
Build Source Code
3
Run Unit Tests
4
Start EC2 Image
1
Provisioning
2
DB Create Update
3
Deploy WAR
4
Start Tomcat
5
Start Selenium
1
Acceptance Test
Run AATs
2
Version Git Repo
6
Release WAR
7
Run Code Analyse
5
codecentric Nederland BV
EXAMPLE – DELIVERY PIPELINE 2/2
Run JMeter
1
Provision-Deploy
UAT
Start EC2 Image
2
Provisioning
3
DB Create Update
4
Deploy WAR
5
Start Tomcat
6
Performance
Test
Select Version
1
Provision-Deploy
PRODBLUE/GREEN
Start EC2 Image
2
Provisioning
3
DB Update
4
Deploy WAR
5
Start Tomcat
6
Select Version
1
codecentric Nederland BV
ASK YOURSELF
•  Which parts are tested how?
•  What remains to be tested?
codecentric Nederland BV
APPLICATION STACK
Apps / Services
/ Components
Application
Configuration
Middleware
Middleware
Configuration
Operating
System
OS Configuration
Hardware
TESTING
codecentric Nederland BV
WHAT DO WE TEST WHERE AND WHEN?
•  Automation is key
•  Do what we do best
•  Team effort
codecentric Nederland BV
MANUAL TESTING
Still required:
•  “Show me”
•  Exploratory testing
•  User acceptance testing
codecentric Nederland BV
ANATOMY OF A DEPLOYMENT PIPELINE
Release
•  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
Commit
Automated
Acceptance Test
Automated
Capacity Test
Manual
Testing
Fast Feedback
Trust in Application Stability
Done
codecentric Nederland BV
EXAMPLE
§ Elke stage een slide.
codecentric Nederland BV
SUMMARY
•  Continuous delivery is a way to create a stable release process
•  Automated testing makes continuous delivery possible
•  Manual testing is (still) necessary
•  Pull vs Push
•  Dashboard
codecentric Nederland BV
THANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
codecentric Nederland BV
huib.schoots@codecentric.nl
+31 (0) 6 24 64 10 33
@huibschoots
miel.donkers@codecentric.nl
+31 (0) 6 51 19 77 38
@mieldonkers
See our website for more information:
http://www.codecentric.nl/portfolio/continuous-delivery/
CONTACT INFORMATION

Más contenido relacionado

La actualidad más candente

Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineSlawa Giterman
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Edureka!
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationRodrigo Russo
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDNEdmund Turbin
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cdAmandeep Singh
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryMandi Walls
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSBamdad Dashtban
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerChris Adkin
 
Modern devOps with Docker
Modern devOps with DockerModern devOps with Docker
Modern devOps with DockerAvi Cavale
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with JenkinsBeMyApp
 
Continuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeContinuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeHARMAN Services
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source toolsSebastian Helzle
 
Jenkins Declarative Pipelines 101
Jenkins Declarative Pipelines 101Jenkins Declarative Pipelines 101
Jenkins Declarative Pipelines 101Malcolm Groves
 
CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2Mayank Patel
 
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1Howard Greenberg
 
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and AnalyticsAnalyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and AnalyticsCloudBees
 
How we git - commit policy and code review
How we git - commit policy and code reviewHow we git - commit policy and code review
How we git - commit policy and code reviewRuben Tan
 

La actualidad más candente (20)

Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cd
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous Delivery
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
 
Modern devOps with Docker
Modern devOps with DockerModern devOps with Docker
Modern devOps with Docker
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
Continuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeContinuous Integration - Mobile Practice
Continuous Integration - Mobile Practice
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Jenkins Declarative Pipelines 101
Jenkins Declarative Pipelines 101Jenkins Declarative Pipelines 101
Jenkins Declarative Pipelines 101
 
Jenkins pipeline as code
Jenkins pipeline as codeJenkins pipeline as code
Jenkins pipeline as code
 
CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2
 
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
 
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and AnalyticsAnalyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
 
How we git - commit policy and code review
How we git - commit policy and code reviewHow we git - commit policy and code review
How we git - commit policy and code review
 

Destacado

Introducing language technology in the editing process: How to do things righ...
Introducing language technology in the editing process: How to do things righ...Introducing language technology in the editing process: How to do things righ...
Introducing language technology in the editing process: How to do things righ...Loctimize GmbH
 
Experiences in Software Testing (lecture slides)
Experiences in Software Testing (lecture slides)Experiences in Software Testing (lecture slides)
Experiences in Software Testing (lecture slides)Dagmar Monett
 
Growing Your Business Through Experimentation
Growing Your Business Through ExperimentationGrowing Your Business Through Experimentation
Growing Your Business Through ExperimentationHiten Shah
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...SlideShare
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destacado (12)

Introducing language technology in the editing process: How to do things righ...
Introducing language technology in the editing process: How to do things righ...Introducing language technology in the editing process: How to do things righ...
Introducing language technology in the editing process: How to do things righ...
 
Experiences in Software Testing (lecture slides)
Experiences in Software Testing (lecture slides)Experiences in Software Testing (lecture slides)
Experiences in Software Testing (lecture slides)
 
Growing Your Business Through Experimentation
Growing Your Business Through ExperimentationGrowing Your Business Through Experimentation
Growing Your Business Through Experimentation
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar a Succesful Testing The Continuous Delivery Process

Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)Pascal Dufour
 
Testing the continuous delivery process @dev opsdays ams 2013
Testing the continuous delivery process   @dev opsdays ams 2013Testing the continuous delivery process   @dev opsdays ams 2013
Testing the continuous delivery process @dev opsdays ams 2013Miel Donkers
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDavide Benvegnù
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Lean IT Consulting
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platformcornelia davis
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentLeandro Totino Pereira
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...
DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...
DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...Kellton Tech Solutions Ltd
 
CI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOUCI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOUHanokh Aloni
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinDiego Garber
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasKJR
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneciberkleid
 
Infrastructure under the magnifying glass
Infrastructure under the magnifying glassInfrastructure under the magnifying glass
Infrastructure under the magnifying glasskreuzwerker GmbH
 

Similar a Succesful Testing The Continuous Delivery Process (20)

Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)
 
Testing the continuous delivery process @dev opsdays ams 2013
Testing the continuous delivery process   @dev opsdays ams 2013Testing the continuous delivery process   @dev opsdays ams 2013
Testing the continuous delivery process @dev opsdays ams 2013
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
 
How to Add Perfecto to Your CI
How to Add Perfecto to Your CIHow to Add Perfecto to Your CI
How to Add Perfecto to Your CI
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous Deployment
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
DevOps in an Embedded World
DevOps in an Embedded WorldDevOps in an Embedded World
DevOps in an Embedded World
 
DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...
DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...
DevOps Automation and Maturity using FlexDeploy, webMethods demo: Kellton Web...
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
CI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOUCI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOU
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 Medellin
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
gopaddle-meetup
gopaddle-meetupgopaddle-meetup
gopaddle-meetup
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Infrastructure under the magnifying glass
Infrastructure under the magnifying glassInfrastructure under the magnifying glass
Infrastructure under the magnifying glass
 

Más de Huib Schoots

Testing in modern times a story about quality and value - agile testing dev ...
Testing in modern times  a story about quality and value - agile testing dev ...Testing in modern times  a story about quality and value - agile testing dev ...
Testing in modern times a story about quality and value - agile testing dev ...Huib Schoots
 
A road to awesomeness
A road to awesomenessA road to awesomeness
A road to awesomenessHuib Schoots
 
Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)Huib Schoots
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testingHuib Schoots
 
Thinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing DaysThinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing DaysHuib Schoots
 
Where words fail music speaks
Where words fail music speaksWhere words fail music speaks
Where words fail music speaksHuib Schoots
 
Thinking and working visually for software testers
Thinking and working visually for software testersThinking and working visually for software testers
Thinking and working visually for software testersHuib Schoots
 
Mind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing DaysMind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing DaysHuib Schoots
 
Changing the context
Changing the contextChanging the context
Changing the contextHuib Schoots
 
Testnet JuBoCo boek introductie
Testnet JuBoCo boek introductieTestnet JuBoCo boek introductie
Testnet JuBoCo boek introductieHuib Schoots
 
Boost your testing power with Exploration
Boost your testing power with ExplorationBoost your testing power with Exploration
Boost your testing power with ExplorationHuib Schoots
 
So you think you can test?
So you think you can test?So you think you can test?
So you think you can test?Huib Schoots
 

Más de Huib Schoots (13)

Testing in modern times a story about quality and value - agile testing dev ...
Testing in modern times  a story about quality and value - agile testing dev ...Testing in modern times  a story about quality and value - agile testing dev ...
Testing in modern times a story about quality and value - agile testing dev ...
 
A road to awesomeness
A road to awesomenessA road to awesomeness
A road to awesomeness
 
Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)Telling the testing story - Storytelling voor testers (DUTCH)
Telling the testing story - Storytelling voor testers (DUTCH)
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Thinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing DaysThinking and working visually for software testers - Nordic Testing Days
Thinking and working visually for software testers - Nordic Testing Days
 
Where words fail music speaks
Where words fail music speaksWhere words fail music speaks
Where words fail music speaks
 
Set your course
Set your courseSet your course
Set your course
 
Thinking and working visually for software testers
Thinking and working visually for software testersThinking and working visually for software testers
Thinking and working visually for software testers
 
Mind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing DaysMind maps tutorial Agile Testing Days
Mind maps tutorial Agile Testing Days
 
Changing the context
Changing the contextChanging the context
Changing the context
 
Testnet JuBoCo boek introductie
Testnet JuBoCo boek introductieTestnet JuBoCo boek introductie
Testnet JuBoCo boek introductie
 
Boost your testing power with Exploration
Boost your testing power with ExplorationBoost your testing power with Exploration
Boost your testing power with Exploration
 
So you think you can test?
So you think you can test?So you think you can test?
So you think you can test?
 

Último

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Succesful Testing The Continuous Delivery Process

  • 1. codecentric Nederland BV @huibschoots & @mieldonkers SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS
  • 2. codecentric Nederland BV INTRODUCTION Miel Donkers Developer @mieldonkers Huib Schoots Tester @huibschoots
  • 3. codecentric Nederland BV • Experience with Continuous Delivery? • 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… • Is this really release 1.6.5? • All sounds familiar? TYPICAL
  • 4. codecentric Nederland BV Prod BUILDING A RELEASE TEST Local Build Integration server Release build DEV Acc Test Users DEVDEV
  • 5. codecentric Nederland BV WHY CONTINUOUS DELIVERY
  • 6. codecentric Nederland BV WHAT IS CONTINUOUS DELIVERY •  Continuous Delivery pipeline •  Automation •  Manual control •  Feedback
  • 7. codecentric Nederland BV GOALS •  Predictability •  Quality •  Speed
  • 8. codecentric Nederland BV 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
  • 9. codecentric Nederland BV CONTINUOUS IMPROVEMENT CYCLE Requires: Discipline & Responsibility
  • 12. codecentric Nederland BV ANATOMY IN DETAIL Source Code Commit Stage Compile Commit Tests Assemble Code Analysis Artifact Repository Acceptance Stage Configure Environment Deploy Binaries Smoke Test Acceptance Tests UAT Configure Environment Deploy Binaries Smoke Test Capacity Stage Configure Environment Deploy Binaries Smoke Test Run Capacity Tests Production Configure Environment Deploy Binaries Smoke Test Env.&App Config Env.&App Config Version Control Testers Self-service deployments Operations Perform push Button releases Developers See code metrics and test failures reports binaries metadata binaries reports metadata binaries reports metadata
  • 13. codecentric Nederland BV 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
  • 14. codecentric Nederland BV MAIN STEPS TO CREATE A CONTINUOUS DELIVERY PIPELINE? •  Getting started with virtual environments, e.g. Amazon EC2 •  Configure your Continuous Integration Server •  Provisioning your Test, Staging and Production environments •  Configure your Continuous Delivery Pipeline •  Create a Dashboard of your Systems
  • 16. codecentric Nederland BV WHAT ARE THE MAIN STEPS OF CONTINUOUS DELIVERY?
  • 17. codecentric Nederland BV TOOLING THAT CAN HELP YOU
  • 18. codecentric Nederland BV EXAMPLE – TECHNOLOGY STACK •  Amazon EC2 (Virtualization, Cloud) •  Jenkins (CI Server) •  Git/Github (Version Control) •  Sonar (Code Quality) •  jUnit (Unit Tests) •  jBehave (Acceptancetests) •  Selenium (UI Tests) •  Puppet (Provisioning) •  Tomcat (Application Server) •  Artifactory (Artifact Repository) •  Maven (Build Tool) •  jMeter (Performance Tests) •  AppDynamics (Performance Tests) •  Liquibase (DB Versioning)
  • 19. codecentric Nederland BV OUR SETUP https://github.com/... CD Server Test Server User Acceptance Test Server Production Cluster Blue / Green CD Slave
  • 20. codecentric Nederland BV EXAMPLE – DELIVERY PIPELINE 1/2 Push to Git Repo 1 Provision-Deploy Acceptance Commit Trigger CD Pipeline 2 Build Source Code 3 Run Unit Tests 4 Start EC2 Image 1 Provisioning 2 DB Create Update 3 Deploy WAR 4 Start Tomcat 5 Start Selenium 1 Acceptance Test Run AATs 2 Version Git Repo 6 Release WAR 7 Run Code Analyse 5
  • 21. codecentric Nederland BV EXAMPLE – DELIVERY PIPELINE 2/2 Run JMeter 1 Provision-Deploy UAT Start EC2 Image 2 Provisioning 3 DB Create Update 4 Deploy WAR 5 Start Tomcat 6 Performance Test Select Version 1 Provision-Deploy PRODBLUE/GREEN Start EC2 Image 2 Provisioning 3 DB Update 4 Deploy WAR 5 Start Tomcat 6 Select Version 1
  • 22. codecentric Nederland BV ASK YOURSELF •  Which parts are tested how? •  What remains to be tested?
  • 23. codecentric Nederland BV APPLICATION STACK Apps / Services / Components Application Configuration Middleware Middleware Configuration Operating System OS Configuration Hardware TESTING
  • 24. codecentric Nederland BV WHAT DO WE TEST WHERE AND WHEN? •  Automation is key •  Do what we do best •  Team effort
  • 25. codecentric Nederland BV MANUAL TESTING Still required: •  “Show me” •  Exploratory testing •  User acceptance testing
  • 26. codecentric Nederland BV ANATOMY OF A DEPLOYMENT PIPELINE Release •  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 Commit Automated Acceptance Test Automated Capacity Test Manual Testing Fast Feedback Trust in Application Stability Done
  • 28. codecentric Nederland BV SUMMARY •  Continuous delivery is a way to create a stable release process •  Automated testing makes continuous delivery possible •  Manual testing is (still) necessary •  Pull vs Push •  Dashboard
  • 29. codecentric Nederland BV THANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
  • 30. codecentric Nederland BV huib.schoots@codecentric.nl +31 (0) 6 24 64 10 33 @huibschoots miel.donkers@codecentric.nl +31 (0) 6 51 19 77 38 @mieldonkers See our website for more information: http://www.codecentric.nl/portfolio/continuous-delivery/ CONTACT INFORMATION