• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Testing the continuous delivery process   @dev opsdays ams 2013
 

Testing the continuous delivery process @dev opsdays ams 2013

on

  • 603 views

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

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

Statistics

Views

Total Views
603
Views on SlideShare
595
Embed Views
8

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 8

https://twitter.com 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Testing the continuous delivery process   @dev opsdays ams 2013 Testing the continuous delivery process @dev opsdays ams 2013 Presentation Transcript

    • codecentric Nederland BV@mieldonkersSUCCESFUL TESTINGTHE CONTINUOUS DELIVERY PROCESS
    • codecentric Nederland BVINTRODUCTIONMiel DonkersDeveloper@mieldonkers
    • 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
    • codecentric Nederland BVWHY CONTINUOUS DELIVERY
    • codecentric Nederland BVWHAT IS CONTINUOUS DELIVERY•  Continuous Delivery pipeline•  Automation•  Manual control•  Feedback
    • 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
    • codecentric Nederland BVGOALS•  Predictability•  Quality•  Speed
    • codecentric Nederland BVProdROLE OF THE TESTERTESTLocalBuildIntegrationserverReleasebuildDEVAccTestUsersDEVDEV
    • codecentric Nederland BVPUSH VS. PULL
    • codecentric Nederland BVEXAMPLE§ Elke stage een slide.
    • codecentric Nederland BVSTOP THE LINE!
    • 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
    • codecentric Nederland BVWHAT ARE THE MAIN STEPS OF CONTINUOUS DELIVERY?
    • 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
    • codecentric Nederland BVAPPLICATION STACKApps / Services/ ComponentsApplicationConfigurationMiddlewareMiddlewareConfigurationOperatingSystemOS ConfigurationHardwareTESTING
    • codecentric Nederland BVASK YOURSELF•  Which parts are tested how?•  What remains to be tested?
    • codecentric Nederland BVWHAT DO WE TEST WHERE AND WHEN?•  Automation is key•  Do what we do best•  Team effort
    • codecentric Nederland BVMANUAL TESTINGStill required:•  "Show me"•  Exploratory testing•  User acceptance testing
    • 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
    • codecentric Nederland BVEXAMPLE – DELIVERY PIPELINE 2/2Run JMeter1Provision-DeployUATStart EC2 Image2Provisioning3DB Create Update4Deploy WAR5Start Tomcat6PerformanceTestSelect Version1Provision-DeployPRODBLUE/GREENStart EC2 Image2Provisioning3DB Update4Deploy WAR5Start Tomcat6Select Version1
    • codecentric Nederland BVTOOLING THAT CAN HELP YOU
    • codecentric Nederland BVHIGHLIGHTS•  Pull vs Push•  Dashboard•  Manual testing is (still) necessary•  But try to automate as much as possible•  Learn from each other
    • codecentric Nederland BVTHANK YOU FOR YOUR ATTENTION – ANY QUESTIONS?
    • codecentric Nederland BVmiel.donkers@codecentric.nl@mieldonkersSee our website for more information:http://www.codecentric.nl/portfolio/continuous-delivery/CONTACT INFORMATION