SlideShare a Scribd company logo
1 of 30
Download to read offline
codecentric Nederland BV
@pascal_dufour & @hrietman
SUCCESFUL TESTING
THE CONTINUOUS DELIVERY PROCESS
codecentric Nederland BV
INTRODUCTION
Harald Rietman
Developer
Scrum Master
@hrietman
Pascal Dufour
Agile Tester
@Pascal_Dufour
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
GOALS
•  Predictability
•  Quality
•  Speed
codecentric Nederland BV
CONTINUOUS IMPROVEMENT CYCLE
Requires:
Discipline &
Responsibility
codecentric Nederland BV
PUSH VS. PULL
codecentric Nederland BV
APPLICATION STACK
Apps / Services
/ Components
Application
Configuration
Middleware
Middleware
Configuration
Operating
System
OS Configuration
Hardware
TESTING
codecentric Nederland BV
STOP THE LINE!
codecentric Nederland BV
WHAT IS CONTINUOUS DELIVERY
•  Continuous Delivery pipeline
•  Automation
•  Manual control
•  Feedback
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
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
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
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
WHAT DO WE TEST WHERE AND WHEN?
•  Automation is key
•  Do what we do best
•  Team effort
codecentric Nederland BV
MANUAL TESTING
Still required:
•  Smoke testing
•  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
•  Manual testing is (still) necessary
•  Pull vs Push
•  Dashboard
codecentric Nederland BV
THANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
codecentric Nederland BV
Pascal.Dufour@codecentric.nl
+31 (0) 6 819 288 98
@pascal_dufour
Harald.Rietman@codecentric.nl
+31 (0) 6 549 633 47
@hrietman
See our website for more information:
http://www.codecentric.nl/portfolio/continuous-delivery/
CONTACT INFORMATION

More Related Content

What's hot

Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
 
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
Bamdad Dashtban
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
Rajwinder Singh
 

What's hot (20)

Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
 
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
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014
 
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...
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev ops
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
 
Docker and Jenkins Pipeline
Docker and Jenkins PipelineDocker and Jenkins Pipeline
Docker and Jenkins Pipeline
 
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
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous Delivery
 
Continuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreContinuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyre
 
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous Delivery
 
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
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
 
Game of Codes: the Battle for CI
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CI
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
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...
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 

Viewers also liked

9M 2012 Consolidated Results
9M 2012 Consolidated Results9M 2012 Consolidated Results
9M 2012 Consolidated Results
Terna SpA
 
Solarponics Case Study
Solarponics Case StudySolarponics Case Study
Solarponics Case Study
Whizbang
 
Appropriate healthcare technologies for low resource settings use of m-tech...
Appropriate healthcare technologies  for low resource settings  use of m-tech...Appropriate healthcare technologies  for low resource settings  use of m-tech...
Appropriate healthcare technologies for low resource settings use of m-tech...
MobileDiagnosis Non Profit Association
 
Science, technology and understanding
Science, technology and understandingScience, technology and understanding
Science, technology and understanding
David Geelan
 

Viewers also liked (20)

Wishing you all a happy and lucky 2015
Wishing you all a happy and lucky 2015Wishing you all a happy and lucky 2015
Wishing you all a happy and lucky 2015
 
Insert latest articles on blogger
Insert latest articles on bloggerInsert latest articles on blogger
Insert latest articles on blogger
 
9M 2012 Consolidated Results
9M 2012 Consolidated Results9M 2012 Consolidated Results
9M 2012 Consolidated Results
 
Think different visualization tools for testers StarEast 2013 pascaldufour
Think different  visualization tools for testers  StarEast 2013 pascaldufourThink different  visualization tools for testers  StarEast 2013 pascaldufour
Think different visualization tools for testers StarEast 2013 pascaldufour
 
Solarponics Case Study
Solarponics Case StudySolarponics Case Study
Solarponics Case Study
 
An Analysis of Italian Politicians Facebook Pages
An Analysis of Italian Politicians Facebook PagesAn Analysis of Italian Politicians Facebook Pages
An Analysis of Italian Politicians Facebook Pages
 
Presentazione S.V.A
Presentazione S.V.APresentazione S.V.A
Presentazione S.V.A
 
Cleaning Out Your IT Closet - SPSRED 2013
Cleaning Out Your IT Closet - SPSRED 2013Cleaning Out Your IT Closet - SPSRED 2013
Cleaning Out Your IT Closet - SPSRED 2013
 
What is science
What is scienceWhat is science
What is science
 
Solr features
Solr featuresSolr features
Solr features
 
Utvikling av bygder og landbruk i Steinkjer
Utvikling av bygder og landbruk i SteinkjerUtvikling av bygder og landbruk i Steinkjer
Utvikling av bygder og landbruk i Steinkjer
 
Ottobre novembre 2012
Ottobre novembre 2012Ottobre novembre 2012
Ottobre novembre 2012
 
Appropriate healthcare technologies for low resource settings use of m-tech...
Appropriate healthcare technologies  for low resource settings  use of m-tech...Appropriate healthcare technologies  for low resource settings  use of m-tech...
Appropriate healthcare technologies for low resource settings use of m-tech...
 
MobileDiagnosis 2013
MobileDiagnosis 2013 MobileDiagnosis 2013
MobileDiagnosis 2013
 
Implications of the new Ofsted inspection framework for PSHE education
Implications of the new Ofsted inspection framework for PSHE educationImplications of the new Ofsted inspection framework for PSHE education
Implications of the new Ofsted inspection framework for PSHE education
 
Open source พื้นฐานที่ควรมี
Open source พื้นฐานที่ควรมีOpen source พื้นฐานที่ควรมี
Open source พื้นฐานที่ควรมี
 
THE FACES of the RAILWAY STATIONS / I VOLTI DELLE STAZIONI FERROVIARIE
THE FACES of the RAILWAY STATIONS / I VOLTI DELLE STAZIONI FERROVIARIETHE FACES of the RAILWAY STATIONS / I VOLTI DELLE STAZIONI FERROVIARIE
THE FACES of the RAILWAY STATIONS / I VOLTI DELLE STAZIONI FERROVIARIE
 
Science, technology and understanding
Science, technology and understandingScience, technology and understanding
Science, technology and understanding
 
Nature
NatureNature
Nature
 
Network security
Network securityNetwork security
Network security
 

Similar to Successful testing continuous delivery (Testnet 2013)

Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Dynatrace
 

Similar to Successful testing continuous delivery (Testnet 2013) (20)

Continuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeContinuous Integration - Mobile Practice
Continuous Integration - Mobile Practice
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
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
 
CI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOUCI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOU
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
 
DevOps in an Embedded World
DevOps in an Embedded WorldDevOps in an Embedded World
DevOps in an Embedded World
 
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
 
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
gopaddle-meetup
gopaddle-meetupgopaddle-meetup
gopaddle-meetup
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 Medellin
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous Deployment
 
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
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinement
 
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
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 

More from Pascal Dufour

Happier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufourHappier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufour
Pascal Dufour
 

More from Pascal Dufour (8)

Contract testing TestCon 2019
Contract testing TestCon 2019Contract testing TestCon 2019
Contract testing TestCon 2019
 
Meetup How we became Software testing world champion
Meetup How we became Software testing world championMeetup How we became Software testing world champion
Meetup How we became Software testing world champion
 
Road 2 devops at Stater
Road 2 devops  at StaterRoad 2 devops  at Stater
Road 2 devops at Stater
 
Agile testing organizational mindshift
Agile testing organizational mindshiftAgile testing organizational mindshift
Agile testing organizational mindshift
 
Stop coding start testing
Stop coding start testingStop coding start testing
Stop coding start testing
 
A-TDD workshop Testnet
A-TDD workshop Testnet A-TDD workshop Testnet
A-TDD workshop Testnet
 
Happier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufourHappier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufour
 
Visibility najaarsevent testnet
Visibility najaarsevent testnetVisibility najaarsevent testnet
Visibility najaarsevent testnet
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Successful testing continuous delivery (Testnet 2013)

  • 1. codecentric Nederland BV @pascal_dufour & @hrietman SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS
  • 2. codecentric Nederland BV INTRODUCTION Harald Rietman Developer Scrum Master @hrietman Pascal Dufour Agile Tester @Pascal_Dufour
  • 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 GOALS •  Predictability •  Quality •  Speed
  • 7. codecentric Nederland BV CONTINUOUS IMPROVEMENT CYCLE Requires: Discipline & Responsibility
  • 9. codecentric Nederland BV APPLICATION STACK Apps / Services / Components Application Configuration Middleware Middleware Configuration Operating System OS Configuration Hardware TESTING
  • 11. codecentric Nederland BV WHAT IS CONTINUOUS DELIVERY •  Continuous Delivery pipeline •  Automation •  Manual control •  Feedback
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 17. codecentric Nederland BV WHAT ARE THE MAIN STEPS OF CONTINUOUS DELIVERY?
  • 18. codecentric Nederland BV TOOLING THAT CAN HELP YOU
  • 19. 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)
  • 20. codecentric Nederland BV OUR SETUP https://github.com/... CD Server Test Server User Acceptance Test Server Production Cluster Blue / Green CD Slave
  • 21. 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
  • 22. 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
  • 23. codecentric Nederland BV ASK YOURSELF •  Which parts are tested how? •  What remains to be tested?
  • 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: •  Smoke testing •  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 •  Manual testing is (still) necessary •  Pull vs Push •  Dashboard
  • 29. codecentric Nederland BV THANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
  • 30. codecentric Nederland BV Pascal.Dufour@codecentric.nl +31 (0) 6 819 288 98 @pascal_dufour Harald.Rietman@codecentric.nl +31 (0) 6 549 633 47 @hrietman See our website for more information: http://www.codecentric.nl/portfolio/continuous-delivery/ CONTACT INFORMATION