Accelerate Software Delivery



Similar documents
Continuous Integration Using Cruise Control

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Kevin Lee Technical Consultant As part of a normal software build and release process

Software Construction

Realizing Continuous Performance Management

The Importance of Continuous Integration for Quality Assurance Teams

The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Continuous Integration Multi-Stage Builds for Quality Assurance

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Upping the game. Improving your software development process

Delivering Quality Software with Continuous Integration

Continuous Integration Comes to China.

Java Software Quality Tools and techniques

Continuous Delivery for Force.com

Software Continuous Integration & Delivery

Continuous Delivery. Alejandro Ruiz

Modern practices TIE-21100/

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Continuous Integration: Aspects in Automation and Configuration Management

Continuous Integration Processes and SCM To Support Test Automation

Continuous Integration Optimizing Your Release Management Process

Implementing Continuous Integration Testing Prepared by:

Continuous integration End of the big bang integration era

Software infrastructure for Java development projects

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts

Development Testing for Agile Environments

Quality Cruising. Making Java Work for Erlang. Erik (Happi) Stenman

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Best Practices for Java Projects Horst Rechner

"Build and Test in the Cloud "

Mastering Continuous Integration with Jenkins

Spirent CLEAR Mobility. End-to-End Mobile Network Infrastructure Test and Lab Automation Solutions

a new generation software test automation framework - CIVIM

Test Management Tools

Continuous delivery Release software on-demand, not on Red Alert

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira

Agile Test Automation

DESIGN OF AUTOMATION SCRIPTS EXECUTION APPLICATION FOR SELENIUM WEBDRIVER AND TestNG FRAMEWORK

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.

Continuous Integration: Put it at the heart of your development

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

Continuous Integration in Kieker

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Software Development In the Cloud Cloud management and ALM

Continuous Delivery Workshop

Agile Delivery Framework Automation & Deployment With Puppet

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

Continuous Integration

Continuous Integration

Software Configuration Management Best Practices for Continuous Integration

CONTINUOUS INTEGRATION

Microsoft Modern ALM. Gilad Levy Baruch Frei

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Introduction to Agile Software Development Process. Software Development Life Cycles

Git Branching for Continuous Delivery

Continuous Delivery and Test Automation in Agile SW projects with Robot Framework Antti Pohjonen

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Foreword by Martin Fowler *

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

The Continuous Delivery Effect

Key Benefits of Microsoft Visual Studio Team System

MATLAB as a Collaboration Platform Marta Wilczkowiak Senior Applications Engineer MathWorks

Continuous Integration Northwestern University. Evanston, Illinois November The Business of IT

Continuous Integration: A case study

Build management & Continuous integration. with Maven & Hudson

Escaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git

Release Automation for Siebel

DevOps for the Mainframe

How Silk Central brings flexibility to agile development

Evaluation of AgitarOne

Continuous Integration Build-Test-Delivery (CI-BTD) Framework in compliance with ISO26262

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

White Paper. Software Development Best Practices: Enterprise Code Portal

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

HP Application Lifecycle Management

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Transcription:

Accelerate Software Delivery with Continuous Integration and Testing Kevin Lawrence kevin@agitar.com Agitar Software, 2009 1

Agenda What is Continuous Integration Continuous Integration Practices Impact of Continuous Integration Toolset 2

Agenda What is Continuous Integration Continuous Integration Practices Impact of Continuous Integration Toolset 3

What is Continuous Integration? Source Code Repository Check in code Developer writes code Check out and build Send email Continuous Integration Server Developer fixes problems

Reducing the Cost of Mistakes Manual CI practice of frequently integrating my work with work of the team Automated CI practice of giving automated feedback as rapidly as possible following a change Common goal lower the cost of failure 5

Model of Finding Bugs Manually Assumption Testing a feature takes 2 min Investigation & reporting a bug takes 10 min Investigation and reporting take time away from testing Conclusion In a 90 min session, we can run 45 tests as long as we don t find any bugs... (example from Michael Bolton, DevelopSense.com) 6

Finding Bugs Manually Costs Time Number of bugs found Time spent reporting bugs (minutes) Increase in testing time 0 0 0 1 10 11% 9 90 100% 90 minute testing session, 45 features tests Other costs of those bugs? Time to retest Engineering time to investigate Bugs hidden behind bugs 7

Early Feedback Enables Early Bug Fixes Code rules pass Code compiles Unit tests pass System tests pass Installer created Deployment successful People are generally interested in being good citizens. Alistair Cockburn 8

Agenda What is Continuous Integration Continuous Integration Practices Impact of Continuous Integration Toolset 9

CI Practices with Examples from Agitar Invest in tests Minimize feedback cycles Use multiple feedback mechanisms 1 0

Invest in Tests Continuous Integration Automated nightly test run Machine independent tests Machine dependent tests No automated tests Imperfect tests, run frequently, are much better than perfect tests that are never written at all. Martin Fowler 1 1

Multiple Builds to Minimize Feedback Cycles quick build compiles + fast tests feedback < 10 minutes system tests feedback < 1 hour nightly tests (official build) 1 2

Agitar Makes Extensive Use of Multiple Build Cycles 14 servers dedicated to CI 8 instances of CruiseControl 6 machines for distributed agitation 106 builds defined Average 7 builds per day per module Coverage on multiple branches and operating systems Continuous releases to QA No special test builds required 1 3

Different Feedback Paths for Each Goal Visible feedback Lava lamps extreme Feedback Monitor Personal feedback Browser plugins, widgets Emails Detailed analysis JSP reporting application Managed testing Lava Lamps & XFM as Information Radiators 1 4

Quick Desktop Access to Information Firefox CruiseControl plugin Desktop widget 1 5

Email Gives Actionable Information 1 6

CruiseControl Report for Build Metrics 1 7

Management Email Shows Quality Trends 1 8

Agenda What is Continuous Integration Continuous Integration Practices Impact of Continuous Integration Toolset 1 9

Impact of Continuous Integration 36% reduction in defect rate when integration/regression testing at each code check-in Trade-offs between Productivity and Quality in Selecting Software Development Practices, IEEE Software, Sept-Oct 2003 2 0

Impact of Continuous Integration with Agitar Customers 90% reduction in bugs reaching QA Major municipal gas utility 95% cut in cost of bugs Large retail web site 90% cut in defect remediation cost Global supplier of healthcare equipment 2 1

Impact of Continuous Integration at Agitar Software Faster time-to-market More features and higher quality Agility in the marketplace added new functionality 2 weeks before ship shipped 1 week early Confidence in the process Oozing Confidence (Mike Clark) 2 2

Agenda What is Continuous Integration Continuous Integration Practices Impact of Continuous Integration Toolset 2 3

Toolset CruiseControl Open Source CI framework ~11K downloads per month CruiseControl extensions 3 rd party In-house scripts AgitarOne integration Ant tasks Reporting 2 4

AgitarOne AgitarOne brings unprecedented automation to the activities of developer testing 2008 2 5

Software & Information Resources cruisecontrol.sourceforge.net www.agitar.com www.junit.org www.junitfactory.com www.stickyminds.com www.martinfowler.com developertesting.com CruiseControl AgitarOne JUnit JUnitFactory CI: An Unlikely Hero Continuous Integration Continuous Integration, Continuous Agitation A Bad Day With Continuous Integration extreme Feedback for Software Development 2 6

Agitar Software, 2009 2 7