SlideShare ist ein Scribd-Unternehmen logo
1 von 85
TURBOCHARGE YOUR
 AUTOMATED TESTS
 WITH CONTINUOUS
   INTEGRATION



     STPCON 2011
          1
WHY AM I QUALIFIED TO BE
           UP HERE?
•   President of OpenSource
    Connections

• Contributor  to CruiseControl
    and Continuum CI projects

• Member    of Apache Software
    Foundation

• Presenter at conferences
    (OSCON, ApacheCON, jTDS,
    ExpoQA, STPcon 2009!)
WRITER
AUTHOR
FATHER
AGILISTA
AGENDA
           CI in a Flash


      Value Proposition of CI

       Challenges in using CI
Scaling CI for LARGE suites of tests

             Wrap Up


                 7
CI IN A FLASH!


      8
DEFINITION


a fully automated and reproducible build, including testing, that
             runs many times a day - Martin Fowler




               http://martinfowler.com/articles/continuousIntegration.html
MARTIN FOWLER

• Coinedthe term
 Continuous Integration

• Chief
      Scientist for
 ThoughtWorks

• Speaksand Blogs on
 software:

  • http://martinfowler.com/
CONCEPTUAL
MAPPING




diagram credit to Brian Di Croce @ http://blog.briandicroce.com/2008/03/17/setting-up-a-continuous-integration-
                                              environment-preface/
FEEDBACK MECHANISM

            From:    cruisecontrol@opensourceconnections.com
          Subject:    [CruiseControl] agenda_direcciones build 370 xed
             Date:    October 7, 2008 2:22:50 PM EDT
               To:   epugh@opensourceconnections.com
         The build has been fixed.

         CHANGES
         -------
         New revision 370 detected
         Revision 370 committed by epugh on 2008-10-07 18:22:03
         mysql esta mejor que sqlite
          M /branches/ERIC_EXPO_08_DEMO/agenda_direcciones/config/database.yml




         See http://cruise.opensourceconnections.com:3333/builds/agenda_direcciones/370 for details.
VALUE PROPOSITION
       OF CI




        14
ACTIVITY


Turn to the person next to you, and see how many
     non-obvious things you have in common.
LIFE WITH OUT CI
• Unstable   code, integration is difficult

• Many   build errors reported

• Only one person on the team can
 build the entire project

• Getting “test   ready” state is hard

• Feedback   cycle is long

          Every day is a struggle to be productive
LIFE WITH CI

•   The build process is simple
    and repeatable

• Elimination   of Human Error

• Bugs   stay fixed!

• Feedback    cycle is very rapid


         Every day you know you can produce better software!
photo credit to Jay Grieves @ www.bigswingingdeveloper.com
RISK REDUCTION


• What    is in the build?

•   What has changed between
    builds?

•    How do I verify
    functionality?
REDUCE HUMAN ERROR
MY AH-HAH! MOMENT
REDUCE REPETITIVE
                 PROCESSES


• DRY: Don’t    Repeat Yourself

• Script   Everything!

• “ant   deploy”
MAKE PAINFUL THINGS
     PAINLESS!




  photo credit to Paul Duvall @ http://www.integratebutton.com/
PRODUCE DEPLOYABLE
       SOFTWARE
• It’s   what we are here to do!

• Always     in a “Demo Ready” state

• No  last minute administrivia tasks to get the product
  ready

  • Installer   is built

  • Documentation          is written

  • Changelog      is written
ENABLE PROJECT VISIBILITY
INCREASE PROJECT
  CONFIDENCE
photo credit to ThoughtWorks
FACILITATE
COMMUNICATION
photo credit to Eric Pugh @ www.opensourceconnections.com
CHALLENGES IN USING
        CI
         34
WHAT PREVENTS TEAMS
  FROM USING CI?
CULTURAL CHALLENGES
FEAR OF COMMITMENT


 • Developers and Testers need to
    commit changes frequently!

 • Incremental  small changes make
    nding integration issues simpler




drawing credit to Tom Armitage @ http://infovore.org/archives/2007/03/14/the-continuous-integration-barometer/
THIS ISN’T 1984
FEAR OF BLAME
•    CI needs a champion who acts as the ambassador
    to the leaders of the organization.

• Thought     leaders in the organization who can help
    encourage team to accept the process changes that
    CI brings

•A    very successful test case

    •A   greenfield project if possible
CI ON A DOLLAR A DAY
"From now on, our code in revision control will always build
successfully and pass its tests.". - James Shore

    • Build   Computer

    • Ridiculous Toy

    • Annoying     Bell

    • Automated       Build

    • Group      Agreement

         http://jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html
credit to Paul Julius @ http://www.anthillpro.com/blogs/anthillpro-blog/2009/09/11/
                         enterprise_ci_cultural_maturity.html
STRUCTURAL CHALLENGES
TESTABILITY

• Modularity?                 • Perform  code complexity
                               analysis to see if some parts
• Coupling   to underlying     are more amenable to
 platform?                     testing.
• Requiresexternal services
 to be up and available for
 testing?
TIGHT COUPLING




photo credit to Jay Grieves @ www.bigswingingdeveloper.com
10 MINUTE RULE




photo credit to Jay Grieves @ www.bigswingingdeveloper.com
CUP OF COFFEE METRIC
What happens in the time it takes to get a cup of coffee can
tell you a lot about the quality of your continuous integration
system. - Paul Julius
• Builds   shouldn’t take any longer!

• Gettinga cup of coffee or drink
 of water breaks up your day

• Givesyou a chance to review
 your work

• Requires    a moduler fast build
      http://pauljulius.com/blog/2009/09/14/cup-of-coffee-metric-for-continuous-integration/
PAUL JULIUS

• co-founder   of CITCON

• Original
        developer of
 CruiseControl

• Speaksand Blogs on CI
 extensively

  • http://pauljulius.com/blog/
789:;0<69;:=     8;>76!          789!:2!07?9!    ?0>?86!0        78.?8!
!"#$%#&'




           !"#$%&'"()*+     ?-#4+!@)1-#)+   0)/)3*)31A+     95$1B'3C+       ,-'&*+D54E+
           ,-'&*+.#)/"      ,-'&*+.#)/"     :)/4"'#45A      !"#$%&!'(#%)*   >2+.3$/"(4#"

           0)*'1$#)*+                       ,-'&*+6&-"#)5   .)1-5)+
           ,-'&*+2$1('3)                                    !"#$%&!'(#%)*
                                            643#'3-4-"+
           .4&'*+                           ,-'&*"
           .4-51)+643#54&
GETTING TOO FOCUSED ON
       GREEN BAR

       Glare of the Green Bar in CI can
       obscure issues with your product
       James Bach
TOOL CHALLENGES
INVEST IN CI SERVER

                                                       X
• The    CI system must be as well maintained as
    the Source Control system.

• The   CI system performs builds very quickly.



                                                       ✓
• Who    has responsibility for CI? It’s very
    important to have a “throat to choke”.

• No    false alarms. If there are false alarms then
    the team loses condence in the CI system.

•
MONKEY CI
photo credit to Eric Pugh @ www.opensourceconnections.com
MAKING CI THE CORE OF TOO
     MANY SYSTEMS
MAKING DECISIONS BASED
  ON YOUR AVAILABLE
       TOOLING
!"#$%&'()




            789:;0<69;:=     8;>76!           789!:2!07?9!      ?0>?86!0              78.?8!

            F)&/)5+.15'/#"   D-&&A+.15'/#)*   .)&GH.)5I'1)+     L-"(H,-##43+          ?-#4E$#'1+
                                              9)"#+0)/&4A"      L54*+0)/&4AE)3#       L54*-1#'43+
                                                                                      0)/&4A"
                                              ?-#4+0)/&4A+#4+   M$#)*N+?-#4E$#'1+
                                              ;3)+!3IJ          L54E4#'43"

                                              24"#&A+           D-&&A+.#$3*$5*'K)*+
                                              .#$3*$5*'K)*      0)/&4A"
!"#$!%&'(




            789:;0<69;:=          8;>76!             789!:2!07?9!      ?0>?86!0     78.?8!

            944&H,$")*+           .'&4)*+:)/45#'3C   F'"#45'1$&+       95)3*'3C     L5)*'1#'I)
            :)/45#"                                  :)/45#"                        24*)&'3C
                                  L-%&'"(+                             654""H.'&4
            >'"'%'&'#AO+:)/45#+   P$#)"#+:)/45#"     654""+D-31#'43+   ?3$&A"'"
            :-33)5                                   :)/45#+?11)""

                                                     ,$"'1+
                                                     :)/45#+?3$&A"'"
SCALING CI FOR LARGE
  SUITES OF TESTS
          58
MULTI STAGE CI

• Reduce  the amount of
 integration required

• Teamsintegrate as modules
 are marked as ready.

• Maven2    was built with this in
 mind!


    Damon Poole @ http://damonpoole.blogspot.com/2008/01/advanced-multi-stage-continous.html
BREAK UP TESTS


• “preflight” or “smoke” tests

• longer   integration tests

• periodic   full site generation and report generation
THROW
HARDWARE AT THE PROBLEM
PARALLELISM

• Ifyour suite of
  tests take 24
  hours to run, can
  you spin it up on
  24 machines and
  take an hour?

• Testing a web
  application with
  Selenium?
  Selenium Grid!
RUN TO CLOUD!
VIRTUAL SERVERS!
PREDICTIVE TESTING



• Some commercial tools support predicting which tests will fail
 based on previous behavior, and running those rst!
DON’T DO IT ALL AT ONCE


• Justlike when embarking on a new exercise program, don’t
 just go full tilt, work up to it!

• Start
     with the tests that are easily put under CI rst, then
 move up the food chain.
SLIDING “WINDOW”

• For a test suite that takes a
 week to run, can you take a
 sliding chunk, plus some
 random tests?

• Ideas
      from DNA
 sequencing!

  • http://en.wikipedia.org/
   wiki/DNA_sequencing
789:;0<69;:=      8;>76!            789!:2!07?9!       ?0>?86!0         78.?8!
!"#!$%&




          .4E)++            :)C5)""'43+       .4E)+.#$#'1+       !@#)3"'I)+       RSST+
          9)"#+?-#4E$#'43   9)"#"+:-3+Q'#(+   ?3$&A"'"+<")*      <3'#+9)"#"       9)"#+64I)5$C)
                            ,-'&*
                                              ?-#4E$#)*+         !@#)3"'I)+
                                              D-31#'43$&+9)"#"   ?-#4E$#)*+
                                                                 D-31#'43+9)"#"

                                                                 :'"BH,$")*+
                                                                 2$3-$&+9)"#"

                                                                 .)1-5'#A+.1$3"
LOTS OF
                                 ADVANCED
                                TECHNIQUES
                                     !


credit to Christine Mitterbauer @ Microdoc
WRAP UP
!P!2!89.+;D+!89!:L:7.!+67
             789:;0<69;:=          8;>76!              789!:2!07?9!       ?0>?86!0              78.?8!




!"#$%#&'
             !"#$%&'"()*+          ?-#4+!@)1-#)+       0)/)3*)31A+        95$1B'3C+             ,-'&*+D54E+
             ,-'&*+.#)/"           ,-'&*+.#)/"         :)/4"'#45A         !"#$%&!'(#%)*         >2+.3$/"(4#"

             0)*'1$#)*+                                ,-'&*+6&-"#)5      .)1-5)+
             ,-'&*+2$1('3)                                                !"#$%&!'(#%)*
                                                       643#'3-4-"+
             .4&'*+                                    ,-'&*"
             .4-51)+643#54&




!"#$%&'()
             789:;0<69;:=          8;>76!              789!:2!07?9!       ?0>?86!0              78.?8!

             F)&/)5+.15'/#"        D-&&A+.15'/#)*      .)&GH.)5I'1)+      L-"(H,-##43+          ?-#4E$#'1+
                                                       9)"#+0)/&4A"       L54*+0)/&4AE)3#       L54*-1#'43+
                                                                                                0)/&4A"
                                                       ?-#4+0)/&4A+#4+    M$#)*N+?-#4E$#'1+
                                                       ;3)+!3IJ           L54E4#'43"

                                                       24"#&A+            D-&&A+.#$3*$5*'K)*+
                                                       .#$3*$5*'K)*       0)/&4A"




             789:;0<69;:=          8;>76!              789!:2!07?9!       ?0>?86!0              78.?8!
!"#!$%&




             .4E)++                :)C5)""'43+         .4E)+.#$#'1+       !@#)3"'I)+            RSST+
             9)"#+?-#4E$#'43       9)"#"+:-3+Q'#(+     ?3$&A"'"+<")*      <3'#+9)"#"            9)"#+64I)5$C)
                                   ,-'&*
                                                       ?-#4E$#)*+         !@#)3"'I)+
                                                       D-31#'43$&+9)"#"   ?-#4E$#)*+
                                                                          D-31#'43+9)"#"

                                                                          :'"BH,$")*+
                                                                          2$3-$&+9)"#"

                                                                          .)1-5'#A+.1$3"
!"#$!%&'(




             789:;0<69;:=          8;>76!              789!:2!07?9!       ?0>?86!0              78.?8!

             944&H,$")*+           .'&4)*+:)/45#'3C    F'"#45'1$&+        95)3*'3C              L5)*'1#'I)
             :)/45#"                                   :)/45#"                                  24*)&'3C
                                   L-%&'"(+                               654""H.'&4
             >'"'%'&'#AO+:)/45#+   P$#)"#+:)/45#"      654""+D-31#'43+    ?3$&A"'"
             :-33)5                                    :)/45#+?11)""

                                                       ,$"'1+
                                                       :)/45#+?3$&A"'"



                '!()*+,"$-!).$/     !"#$%&"!'


            !"#$%&'()*&)+(&,%-$(.(/0$&12&3"-+(/-4&3)5$6&78/-$.".$(
            !""#$%%&&&'()"!*++#,-'.-/%!"/+%,01-2,.01%&!*"03#(#0,1
Don’t forget the people aspect!




credit to Paul Julius @ http://www.anthillpro.com/blogs/anthillpro-blog/2009/09/11/
                         enterprise_ci_cultural_maturity.html
SELECTING A CI SYSTEM
APPROACHES


• Internal   Hosted System

• Cloud   Based Solution

• Completely    Hosted
CI MATRIX
Matrix of differences between CI tools: http://tinyurl.com/39hol7
HUDSON / JENKINS



• Hudson, recently
 forked as Jenkins.
CI IN A BOX


• Amazon   EC2 Hosted instance

• http://www.ciinabox.com/
MIKECI.COM
WHERE TO NEXT?
CITCON


• Open    Spaces Style

• Twice   a year, US and International

• Portland, Oregon, April   2010

• http://www.citconf.com/
CI YAHOO GROUP
http://tech.groups.yahoo.com/group/citcon/
THE BOOK
  Continuous Integration:
Improving Software Quality
THE CI GUYS
   http://ci-guys.com/

 Free online consulting
THANK YOU!



• twitter:   dep4b

• speakerrate:   http://www.speakerrate.com/epugh/

• email:   epugh@opensourceconnections.com

                          85

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps, beyond agile
DevOps, beyond agileDevOps, beyond agile
DevOps, beyond agileJulien Pivotto
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013Nick Galbreath
 
Operations: The Last Mile
Operations: The Last Mile Operations: The Last Mile
Operations: The Last Mile Rundeck
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management Rundeck
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsMike Brittain
 
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016Guillermo A. Fisher
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team CollaborationOpen Source Consulting
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Rundeck
 
From DevTestOops to DevTestOps
From DevTestOops to DevTestOpsFrom DevTestOops to DevTestOps
From DevTestOops to DevTestOpsAlex Soto
 
Ops Happens: Improving Incident Response Using DevOps and SRE Practices
Ops Happens:  Improving Incident Response Using DevOps and SRE PracticesOps Happens:  Improving Incident Response Using DevOps and SRE Practices
Ops Happens: Improving Incident Response Using DevOps and SRE PracticesRundeck
 
Microservices testing and automation
Microservices testing and automationMicroservices testing and automation
Microservices testing and automationAlex Soto
 
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...XebiaLabs
 
Testing in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOpsTesting in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOpsAlex Soto
 
Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsC4Media
 
Modern Operations: Solving DevOps’ Last Mile Problem
Modern Operations: Solving DevOps’ Last Mile Problem Modern Operations: Solving DevOps’ Last Mile Problem
Modern Operations: Solving DevOps’ Last Mile Problem Rundeck
 
SysAdmin to SRE: Solving the Last Mile Problem
SysAdmin to SRE: Solving the Last Mile ProblemSysAdmin to SRE: Solving the Last Mile Problem
SysAdmin to SRE: Solving the Last Mile ProblemRundeck
 
DevOps Patterns and Anti Patterns or DevOps Degradation and Lazy Developers
DevOps Patterns and Anti Patterns or DevOps Degradation and Lazy DevelopersDevOps Patterns and Anti Patterns or DevOps Degradation and Lazy Developers
DevOps Patterns and Anti Patterns or DevOps Degradation and Lazy DevelopersIgor Goulko
 
SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today Rundeck
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Moon
 
My 'Phoenix Project'—One Developer's Evolutionary Journey
My 'Phoenix Project'—One Developer's Evolutionary JourneyMy 'Phoenix Project'—One Developer's Evolutionary Journey
My 'Phoenix Project'—One Developer's Evolutionary JourneyBurr Sutter
 

Was ist angesagt? (20)

DevOps, beyond agile
DevOps, beyond agileDevOps, beyond agile
DevOps, beyond agile
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
 
Operations: The Last Mile
Operations: The Last Mile Operations: The Last Mile
Operations: The Last Mile
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
From DevTestOops to DevTestOps
From DevTestOops to DevTestOpsFrom DevTestOops to DevTestOps
From DevTestOops to DevTestOps
 
Ops Happens: Improving Incident Response Using DevOps and SRE Practices
Ops Happens:  Improving Incident Response Using DevOps and SRE PracticesOps Happens:  Improving Incident Response Using DevOps and SRE Practices
Ops Happens: Improving Incident Response Using DevOps and SRE Practices
 
Microservices testing and automation
Microservices testing and automationMicroservices testing and automation
Microservices testing and automation
 
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
 
Testing in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOpsTesting in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOps
 
Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient Systems
 
Modern Operations: Solving DevOps’ Last Mile Problem
Modern Operations: Solving DevOps’ Last Mile Problem Modern Operations: Solving DevOps’ Last Mile Problem
Modern Operations: Solving DevOps’ Last Mile Problem
 
SysAdmin to SRE: Solving the Last Mile Problem
SysAdmin to SRE: Solving the Last Mile ProblemSysAdmin to SRE: Solving the Last Mile Problem
SysAdmin to SRE: Solving the Last Mile Problem
 
DevOps Patterns and Anti Patterns or DevOps Degradation and Lazy Developers
DevOps Patterns and Anti Patterns or DevOps Degradation and Lazy DevelopersDevOps Patterns and Anti Patterns or DevOps Degradation and Lazy Developers
DevOps Patterns and Anti Patterns or DevOps Degradation and Lazy Developers
 
SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
My 'Phoenix Project'—One Developer's Evolutionary Journey
My 'Phoenix Project'—One Developer's Evolutionary JourneyMy 'Phoenix Project'—One Developer's Evolutionary Journey
My 'Phoenix Project'—One Developer's Evolutionary Journey
 

Andere mochten auch

Better search engine testing for solr
Better search engine testing for solrBetter search engine testing for solr
Better search engine testing for solrOpenSource Connections
 
Change
ChangeChange
Changeprivate
 
Wireless Patents under the PTAB’s IPR & CBM Scrutiny
Wireless Patents under the PTAB’s IPR & CBM ScrutinyWireless Patents under the PTAB’s IPR & CBM Scrutiny
Wireless Patents under the PTAB’s IPR & CBM ScrutinyAlex G. Lee, Ph.D. Esq. CLP
 

Andere mochten auch (6)

Ci Presentation for SPIN
Ci Presentation for SPINCi Presentation for SPIN
Ci Presentation for SPIN
 
Sale-leasebacks Investments
Sale-leasebacks InvestmentsSale-leasebacks Investments
Sale-leasebacks Investments
 
Better search engine testing for solr
Better search engine testing for solrBetter search engine testing for solr
Better search engine testing for solr
 
Shortcuts for digital literacy support v2
Shortcuts for digital literacy support v2Shortcuts for digital literacy support v2
Shortcuts for digital literacy support v2
 
Change
ChangeChange
Change
 
Wireless Patents under the PTAB’s IPR & CBM Scrutiny
Wireless Patents under the PTAB’s IPR & CBM ScrutinyWireless Patents under the PTAB’s IPR & CBM Scrutiny
Wireless Patents under the PTAB’s IPR & CBM Scrutiny
 

Ähnlich wie Turbocharge your automated tests with ci

Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Brian Ritchie
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Vadym Kazulkin
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsHow EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsApplitools
 
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Peter Leschev
 
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
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Outside The Code
Outside The CodeOutside The Code
Outside The CodeNaresh Jain
 
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...Vadym Kazulkin
 
Improve the User Experience in the Engineering Change Process
Improve the User Experience in the Engineering Change ProcessImprove the User Experience in the Engineering Change Process
Improve the User Experience in the Engineering Change ProcessDeeDee Kato
 
Steering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff PattonSteering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff PattonUIEpreviews
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessJosiah Renaudin
 
A Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenA Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenAtlassian
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMMatt Wright
 
'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps BelfastJohn Fitzpatrick
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The CloudMarcin Grzejszczak
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsOCTO Technology
 
Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Sebastian SchĂźrmann
 

Ähnlich wie Turbocharge your automated tests with ci (20)

Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsHow EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
 
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
 
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...
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Outside The Code
Outside The CodeOutside The Code
Outside The Code
 
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
 
Improve the User Experience in the Engineering Change Process
Improve the User Experience in the Engineering Change ProcessImprove the User Experience in the Engineering Change Process
Improve the User Experience in the Engineering Change Process
 
Steering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff PattonSteering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff Patton
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation Success
 
A Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenA Business Case for Git - Tim Pettersen
A Business Case for Git - Tim Pettersen
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The Cloud
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)
 

Mehr von OpenSource Connections

How To Structure Your Search Team for Success
How To Structure Your Search Team for SuccessHow To Structure Your Search Team for Success
How To Structure Your Search Team for SuccessOpenSource Connections
 
The right path to making search relevant - Taxonomy Bootcamp London 2019
The right path to making search relevant  - Taxonomy Bootcamp London 2019The right path to making search relevant  - Taxonomy Bootcamp London 2019
The right path to making search relevant - Taxonomy Bootcamp London 2019OpenSource Connections
 
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie HullHaystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie HullOpenSource Connections
 
Haystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim AllisonHaystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim AllisonOpenSource Connections
 
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...OpenSource Connections
 
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj BharadwajHaystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj BharadwajOpenSource Connections
 
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...OpenSource Connections
 
Haystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan KohlHaystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan KohlOpenSource Connections
 
Haystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon HughesHaystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon HughesOpenSource Connections
 
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerHaystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerOpenSource Connections
 
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...OpenSource Connections
 
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...OpenSource Connections
 
Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...OpenSource Connections
 
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...OpenSource Connections
 
Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...OpenSource Connections
 
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...OpenSource Connections
 
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah ViaOpenSource Connections
 

Mehr von OpenSource Connections (20)

Encores
EncoresEncores
Encores
 
Test driven relevancy
Test driven relevancyTest driven relevancy
Test driven relevancy
 
How To Structure Your Search Team for Success
How To Structure Your Search Team for SuccessHow To Structure Your Search Team for Success
How To Structure Your Search Team for Success
 
The right path to making search relevant - Taxonomy Bootcamp London 2019
The right path to making search relevant  - Taxonomy Bootcamp London 2019The right path to making search relevant  - Taxonomy Bootcamp London 2019
The right path to making search relevant - Taxonomy Bootcamp London 2019
 
Payloads and OCR with Solr
Payloads and OCR with SolrPayloads and OCR with Solr
Payloads and OCR with Solr
 
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie HullHaystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
 
Haystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim AllisonHaystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
 
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
 
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj BharadwajHaystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
 
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
 
Haystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan KohlHaystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan Kohl
 
Haystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon HughesHaystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon Hughes
 
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerHaystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
 
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
 
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
 
Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...
 
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
 
Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...
 
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
 
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
 

KĂźrzlich hochgeladen

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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.pdfEnterprise Knowledge
 
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 slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
🐬 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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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 AutomationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

KĂźrzlich hochgeladen (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Turbocharge your automated tests with ci

  • 1. TURBOCHARGE YOUR AUTOMATED TESTS WITH CONTINUOUS INTEGRATION STPCON 2011 1
  • 2. WHY AM I QUALIFIED TO BE UP HERE? • President of OpenSource Connections • Contributor to CruiseControl and Continuum CI projects • Member of Apache Software Foundation • Presenter at conferences (OSCON, ApacheCON, jTDS, ExpoQA, STPcon 2009!)
  • 7. AGENDA CI in a Flash Value Proposition of CI Challenges in using CI Scaling CI for LARGE suites of tests Wrap Up 7
  • 8. CI IN A FLASH! 8
  • 9. DEFINITION a fully automated and reproducible build, including testing, that runs many times a day - Martin Fowler http://martinfowler.com/articles/continuousIntegration.html
  • 10. MARTIN FOWLER • Coinedthe term Continuous Integration • Chief Scientist for ThoughtWorks • Speaksand Blogs on software: • http://martinfowler.com/
  • 12. MAPPING diagram credit to Brian Di Croce @ http://blog.briandicroce.com/2008/03/17/setting-up-a-continuous-integration- environment-preface/
  • 13. FEEDBACK MECHANISM From: cruisecontrol@opensourceconnections.com Subject: [CruiseControl] agenda_direcciones build 370 xed Date: October 7, 2008 2:22:50 PM EDT To: epugh@opensourceconnections.com The build has been fixed. CHANGES ------- New revision 370 detected Revision 370 committed by epugh on 2008-10-07 18:22:03 mysql esta mejor que sqlite  M /branches/ERIC_EXPO_08_DEMO/agenda_direcciones/config/database.yml See http://cruise.opensourceconnections.com:3333/builds/agenda_direcciones/370 for details.
  • 14. VALUE PROPOSITION OF CI 14
  • 15. ACTIVITY Turn to the person next to you, and see how many non-obvious things you have in common.
  • 16. LIFE WITH OUT CI • Unstable code, integration is difcult • Many build errors reported • Only one person on the team can build the entire project • Getting “test ready” state is hard • Feedback cycle is long Every day is a struggle to be productive
  • 17. LIFE WITH CI • The build process is simple and repeatable • Elimination of Human Error • Bugs stay xed! • Feedback cycle is very rapid Every day you know you can produce better software!
  • 18. photo credit to Jay Grieves @ www.bigswingingdeveloper.com
  • 19. RISK REDUCTION • What is in the build? • What has changed between builds? • How do I verify functionality?
  • 22. REDUCE REPETITIVE PROCESSES • DRY: Don’t Repeat Yourself • Script Everything! • “ant deploy”
  • 23. MAKE PAINFUL THINGS PAINLESS! photo credit to Paul Duvall @ http://www.integratebutton.com/
  • 24. PRODUCE DEPLOYABLE SOFTWARE • It’s what we are here to do! • Always in a “Demo Ready” state • No last minute administrivia tasks to get the product ready • Installer is built • Documentation is written • Changelog is written
  • 26.
  • 27. INCREASE PROJECT CONFIDENCE
  • 28.
  • 29. photo credit to ThoughtWorks
  • 31. photo credit to Eric Pugh @ www.opensourceconnections.com
  • 32.
  • 33.
  • 35. WHAT PREVENTS TEAMS FROM USING CI?
  • 37. FEAR OF COMMITMENT • Developers and Testers need to commit changes frequently! • Incremental small changes make nding integration issues simpler drawing credit to Tom Armitage @ http://infovore.org/archives/2007/03/14/the-continuous-integration-barometer/
  • 40. • CI needs a champion who acts as the ambassador to the leaders of the organization. • Thought leaders in the organization who can help encourage team to accept the process changes that CI brings •A very successful test case •A greeneld project if possible
  • 41. CI ON A DOLLAR A DAY "From now on, our code in revision control will always build successfully and pass its tests.". - James Shore • Build Computer • Ridiculous Toy • Annoying Bell • Automated Build • Group Agreement http://jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html
  • 42. credit to Paul Julius @ http://www.anthillpro.com/blogs/anthillpro-blog/2009/09/11/ enterprise_ci_cultural_maturity.html
  • 44. TESTABILITY • Modularity? • Perform code complexity analysis to see if some parts • Coupling to underlying are more amenable to platform? testing. • Requiresexternal services to be up and available for testing?
  • 45. TIGHT COUPLING photo credit to Jay Grieves @ www.bigswingingdeveloper.com
  • 46. 10 MINUTE RULE photo credit to Jay Grieves @ www.bigswingingdeveloper.com
  • 47. CUP OF COFFEE METRIC What happens in the time it takes to get a cup of coffee can tell you a lot about the quality of your continuous integration system. - Paul Julius • Builds shouldn’t take any longer! • Gettinga cup of coffee or drink of water breaks up your day • Givesyou a chance to review your work • Requires a moduler fast build http://pauljulius.com/blog/2009/09/14/cup-of-coffee-metric-for-continuous-integration/
  • 48. PAUL JULIUS • co-founder of CITCON • Original developer of CruiseControl • Speaksand Blogs on CI extensively • http://pauljulius.com/blog/
  • 49. 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! !"#$%#&' !"#$%&'"()*+ ?-#4+!@)1-#)+ 0)/)3*)31A+ 95$1B'3C+ ,-'&*+D54E+ ,-'&*+.#)/" ,-'&*+.#)/" :)/4"'#45A !"#$%&!'(#%)* >2+.3$/"(4#" 0)*'1$#)*+ ,-'&*+6&-"#)5 .)1-5)+ ,-'&*+2$1('3) !"#$%&!'(#%)* 643#'3-4-"+ .4&'*+ ,-'&*" .4-51)+643#54&
  • 50. GETTING TOO FOCUSED ON GREEN BAR Glare of the Green Bar in CI can obscure issues with your product James Bach
  • 52. INVEST IN CI SERVER X • The CI system must be as well maintained as the Source Control system. • The CI system performs builds very quickly. ✓ • Who has responsibility for CI? It’s very important to have a “throat to choke”. • No false alarms. If there are false alarms then the team loses condence in the CI system. •
  • 53. MONKEY CI photo credit to Eric Pugh @ www.opensourceconnections.com
  • 54. MAKING CI THE CORE OF TOO MANY SYSTEMS
  • 55. MAKING DECISIONS BASED ON YOUR AVAILABLE TOOLING
  • 56. !"#$%&'() 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! F)&/)5+.15'/#" D-&&A+.15'/#)* .)&GH.)5I'1)+ L-"(H,-##43+ ?-#4E$#'1+ 9)"#+0)/&4A" L54*+0)/&4AE)3# L54*-1#'43+ 0)/&4A" ?-#4+0)/&4A+#4+ M$#)*N+?-#4E$#'1+ ;3)+!3IJ L54E4#'43" 24"#&A+ D-&&A+.#$3*$5*'K)*+ .#$3*$5*'K)* 0)/&4A"
  • 57. !"#$!%&'( 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! 944&H,$")*+ .'&4)*+:)/45#'3C F'"#45'1$&+ 95)3*'3C L5)*'1#'I) :)/45#" :)/45#" 24*)&'3C L-%&'"(+ 654""H.'&4 >'"'%'&'#AO+:)/45#+ P$#)"#+:)/45#" 654""+D-31#'43+ ?3$&A"'" :-33)5 :)/45#+?11)"" ,$"'1+ :)/45#+?3$&A"'"
  • 58. SCALING CI FOR LARGE SUITES OF TESTS 58
  • 59. MULTI STAGE CI • Reduce the amount of integration required • Teamsintegrate as modules are marked as ready. • Maven2 was built with this in mind! Damon Poole @ http://damonpoole.blogspot.com/2008/01/advanced-multi-stage-continous.html
  • 60. BREAK UP TESTS • “preflight” or “smoke” tests • longer integration tests • periodic full site generation and report generation
  • 62. PARALLELISM • Ifyour suite of tests take 24 hours to run, can you spin it up on 24 machines and take an hour? • Testing a web application with Selenium? Selenium Grid!
  • 65. PREDICTIVE TESTING • Some commercial tools support predicting which tests will fail based on previous behavior, and running those rst!
  • 66. DON’T DO IT ALL AT ONCE • Justlike when embarking on a new exercise program, don’t just go full tilt, work up to it! • Start with the tests that are easily put under CI rst, then move up the food chain.
  • 67. SLIDING “WINDOW” • For a test suite that takes a week to run, can you take a sliding chunk, plus some random tests? • Ideas from DNA sequencing! • http://en.wikipedia.org/ wiki/DNA_sequencing
  • 68. 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! !"#!$%& .4E)++ :)C5)""'43+ .4E)+.#$#'1+ !@#)3"'I)+ RSST+ 9)"#+?-#4E$#'43 9)"#"+:-3+Q'#(+ ?3$&A"'"+<")* <3'#+9)"#" 9)"#+64I)5$C) ,-'&* ?-#4E$#)*+ !@#)3"'I)+ D-31#'43$&+9)"#" ?-#4E$#)*+ D-31#'43+9)"#" :'"BH,$")*+ 2$3-$&+9)"#" .)1-5'#A+.1$3"
  • 69. LOTS OF ADVANCED TECHNIQUES ! credit to Christine Mitterbauer @ Microdoc
  • 71. !P!2!89.+;D+!89!:L:7.!+67 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! !"#$%#&' !"#$%&'"()*+ ?-#4+!@)1-#)+ 0)/)3*)31A+ 95$1B'3C+ ,-'&*+D54E+ ,-'&*+.#)/" ,-'&*+.#)/" :)/4"'#45A !"#$%&!'(#%)* >2+.3$/"(4#" 0)*'1$#)*+ ,-'&*+6&-"#)5 .)1-5)+ ,-'&*+2$1('3) !"#$%&!'(#%)* 643#'3-4-"+ .4&'*+ ,-'&*" .4-51)+643#54& !"#$%&'() 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! F)&/)5+.15'/#" D-&&A+.15'/#)* .)&GH.)5I'1)+ L-"(H,-##43+ ?-#4E$#'1+ 9)"#+0)/&4A" L54*+0)/&4AE)3# L54*-1#'43+ 0)/&4A" ?-#4+0)/&4A+#4+ M$#)*N+?-#4E$#'1+ ;3)+!3IJ L54E4#'43" 24"#&A+ D-&&A+.#$3*$5*'K)*+ .#$3*$5*'K)* 0)/&4A" 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! !"#!$%& .4E)++ :)C5)""'43+ .4E)+.#$#'1+ !@#)3"'I)+ RSST+ 9)"#+?-#4E$#'43 9)"#"+:-3+Q'#(+ ?3$&A"'"+<")* <3'#+9)"#" 9)"#+64I)5$C) ,-'&* ?-#4E$#)*+ !@#)3"'I)+ D-31#'43$&+9)"#" ?-#4E$#)*+ D-31#'43+9)"#" :'"BH,$")*+ 2$3-$&+9)"#" .)1-5'#A+.1$3" !"#$!%&'( 789:;0<69;:= 8;>76! 789!:2!07?9! ?0>?86!0 78.?8! 944&H,$")*+ .'&4)*+:)/45#'3C F'"#45'1$&+ 95)3*'3C L5)*'1#'I) :)/45#" :)/45#" 24*)&'3C L-%&'"(+ 654""H.'&4 >'"'%'&'#AO+:)/45#+ P$#)"#+:)/45#" 654""+D-31#'43+ ?3$&A"'" :-33)5 :)/45#+?11)"" ,$"'1+ :)/45#+?3$&A"'" '!()*+,"$-!).$/ !"#$%&"!' !"#$%&'()*&)+(&,%-$(.(/0$&12&3"-+(/-4&3)5$6&78/-$.".$( !""#$%%&&&'()"!*++#,-'.-/%!"/+%,01-2,.01%&!*"03#(#0,1
  • 72. Don’t forget the people aspect! credit to Paul Julius @ http://www.anthillpro.com/blogs/anthillpro-blog/2009/09/11/ enterprise_ci_cultural_maturity.html
  • 73. SELECTING A CI SYSTEM
  • 74. APPROACHES • Internal Hosted System • Cloud Based Solution • Completely Hosted
  • 75. CI MATRIX Matrix of differences between CI tools: http://tinyurl.com/39hol7
  • 76. HUDSON / JENKINS • Hudson, recently forked as Jenkins.
  • 77. CI IN A BOX • Amazon EC2 Hosted instance • http://www.ciinabox.com/
  • 80. CITCON • Open Spaces Style • Twice a year, US and International • Portland, Oregon, April 2010 • http://www.citconf.com/
  • 81.
  • 83. THE BOOK Continuous Integration: Improving Software Quality
  • 84. THE CI GUYS http://ci-guys.com/ Free online consulting
  • 85. THANK YOU! • twitter: dep4b • speakerrate: http://www.speakerrate.com/epugh/ • email: epugh@opensourceconnections.com 85

Hinweis der Redaktion

  1. \n
  2. \n
  3. Soon to be in a Spanish language newsletter!\n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. Wrap up should have plenty of time for questions\n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. the build on the left for &amp;#x201C;agenda direcciones&amp;#x201D; produced the email on the right. \n
  16. \n
  17. Turns out that is what CI is for, discovering the non obvious!\n
  18. \n
  19. \n
  20. \n
  21. \n
  22. checkability requires control and visibility into your app\n
  23. \n
  24. war file deployment is a pain\n
  25. \n
  26. \n
  27. \n
  28. \n
  29. tester who knows that there are no silly integration bugs delaying work!\n
  30. not what we are trying to do. \n
  31. \n
  32. Human error was behind major industrial disasters such as three mile island. NASA lost the 125 million dollar Mars Climate Orbiter because Lockheed used english units while Nasa used metric when working with navigation data. Clearly not enough integration between the teams!\n
  33. Talk about Seymour, the build master, and the big weekend build, and you have to come in. And the time that I forgot to check in all my code. \n
  34. \n
  35. The CI book makes this point: if something is painful, do it often till you solve the problem.\n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. bangalore India...\n
  42. \n
  43. \n
  44. \n
  45. This is a &amp;#x201C;glanceable&amp;#x201D; device, or ambient information.\n
  46. \n
  47. \n
  48. \n
  49. \n
  50. we need soemthing tell us how far away we are getting from mailine\n
  51. \n
  52. \n
  53. \n
  54. \n
  55. not just a build loop, it&amp;#x2019;s a people loop!\n\nJames Shore touched on something really important back in his 2006 blog article &quot;Continuous Integration on a Dollar a Day&quot;.\n
  56. Mention the jesters cap at VA..\n
  57. \n
  58. Look at the Panopticode Report in dasher\n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. tell about CI system running great for 6 months... only cause the smtp server was rejecting all build status email from being sent!\n
  67. \n
  68. Remember the Ginsu Knife? &amp;#x201C;How much would you pay for this?&amp;#x201D; &amp;#x201C;But wait! There&apos;s more&amp;#x201D;. Sold between 2 and 3 million sets between 78 and 84 and invented the modern infomerical\n
  69. \n
  70. \n
  71. \n
  72. This is really about an existing suite of tests that are NOT under CI.\n
  73. \n
  74. some folks argue this isn&amp;#x2019;t really an issue if integration is constantly happening in very small chunks. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. Of course you need virtualized servers to make this work\n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. not just a build loop, it&amp;#x2019;s a people loop!\n\nJames Shore touched on something really important back in his 2006 blog article &quot;Continuous Integration on a Dollar a Day&quot;.\n
  91. \n
  92. \n
  93. \n
  94. market for both open source and commercial has exploded.\n
  95. aka as &amp;#x201C;Hudkins&amp;#x201D;\n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n