Testing the continuous delivery process @dev opsdays ams 2013

733 views
630 views

Published on

Presentation on how Continuous Delivery cannot succeed without properly organizing the testing of your application, infrastructure and pipeline.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
733
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testing the continuous delivery process @dev opsdays ams 2013

  1. 1. codecentric Nederland BV@mieldonkersSUCCESFUL TESTINGTHE CONTINUOUS DELIVERY PROCESS
  2. 2. codecentric Nederland BVINTRODUCTIONMiel DonkersDeveloper@mieldonkers
  3. 3. codecentric Nederland BV• Experience with Continuous Delivery?• As a tester, do you need to wait for anacceptable 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. 4. codecentric Nederland BVWHY CONTINUOUS DELIVERY
  5. 5. codecentric Nederland BVWHAT IS CONTINUOUS DELIVERY•  Continuous Delivery pipeline•  Automation•  Manual control•  Feedback
  6. 6. codecentric Nederland BVWHAT 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 stagingenvironment•  Production – green/blue deployment to production
  7. 7. codecentric Nederland BVGOALS•  Predictability•  Quality•  Speed
  8. 8. codecentric Nederland BVProdROLE OF THE TESTERTESTLocalBuildIntegrationserverReleasebuildDEVAccTestUsersDEVDEV
  9. 9. codecentric Nederland BVPUSH VS. PULL
  10. 10. codecentric Nederland BVEXAMPLE§ Elke stage een slide.
  11. 11. codecentric Nederland BVSTOP THE LINE!
  12. 12. codecentric Nederland BVANATOMY OF A DEPLOYMENT PIPELINERelease•  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 environmentsCommitAutomatedAcceptance TestAutomatedCapacity TestManualTestingFast FeedbackTrust in Application StabilityDone
  13. 13. codecentric Nederland BVWHAT ARE THE MAIN STEPS OF CONTINUOUS DELIVERY?
  14. 14. codecentric Nederland BVANATOMY IN DETAILSourceCodeCommit StageCompileCommit TestsAssembleCode AnalysisArtifact RepositoryAcceptance StageConfigure EnvironmentDeploy BinariesSmoke TestAcceptance TestsUATConfigure EnvironmentDeploy BinariesSmoke TestCapacity StageConfigure EnvironmentDeploy BinariesSmoke TestRun Capacity TestsProductionConfigure EnvironmentDeploy BinariesSmoke TestEnv.&AppConfigEnv.&AppConfigVersion ControlTestersSelf-servicedeploymentsOperationsPerform pushButton releasesDevelopersSee code metricsand test failuresreportsbinariesmetadata binariesreportsmetadata binariesreportsmetadata
  15. 15. codecentric Nederland BVAPPLICATION STACKApps / Services/ ComponentsApplicationConfigurationMiddlewareMiddlewareConfigurationOperatingSystemOS ConfigurationHardwareTESTING
  16. 16. codecentric Nederland BVASK YOURSELF•  Which parts are tested how?•  What remains to be tested?
  17. 17. codecentric Nederland BVWHAT DO WE TEST WHERE AND WHEN?•  Automation is key•  Do what we do best•  Team effort
  18. 18. codecentric Nederland BVMANUAL TESTINGStill required:•  "Show me"•  Exploratory testing•  User acceptance testing
  19. 19. codecentric Nederland BVEXAMPLE – DELIVERY PIPELINE 1/2Push to Git Repo1Provision-DeployAcceptanceCommitTrigger CD Pipeline2Build Source Code3Run Unit Tests4Start EC2 Image1Provisioning2DB Create Update3Deploy WAR4Start Tomcat5Start Selenium1Acceptance TestRun AATs2Version Git Repo6Release WAR7Run Code Analyse5
  20. 20. codecentric Nederland BVEXAMPLE – DELIVERY PIPELINE 2/2Run JMeter1Provision-DeployUATStart EC2 Image2Provisioning3DB Create Update4Deploy WAR5Start Tomcat6PerformanceTestSelect Version1Provision-DeployPRODBLUE/GREENStart EC2 Image2Provisioning3DB Update4Deploy WAR5Start Tomcat6Select Version1
  21. 21. codecentric Nederland BVTOOLING THAT CAN HELP YOU
  22. 22. codecentric Nederland BVHIGHLIGHTS•  Pull vs Push•  Dashboard•  Manual testing is (still) necessary•  But try to automate as much as possible•  Learn from each other
  23. 23. codecentric Nederland BVTHANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
  24. 24. codecentric Nederland BVmiel.donkers@codecentric.nl@mieldonkersSee our website for more information:http://www.codecentric.nl/portfolio/continuous-delivery/CONTACT INFORMATION

×