UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.

Slides:



Advertisements
Similar presentations
Acceptance Testing.
Advertisements

A Brief Introduction to Test- Driven Development Shawn M. Jones.
System Analysis & Design Methods V Extreme Programming XP/dX.
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
March 25, 2002R McFadyen a lightweight approach to software development. about 5 years old has been used at: Bayerische Landesbank, Credit Swiss.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Maintaining and Updating Windows Server 2008
System Integration and Build Management Christian Schröder Roman Antonov.
Big Projects  Part of this class is about picking a cool software project and building it 1.
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
Introduction to Continuous Integration Mike Roberts.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
#RefreshCache CI - Daily Builds w/Jenkins – an Open Source Continuous Integration Server Nick Airdo Community Developer Advocate Central Christian Church.
Desktop Security: Worms and Viruses Brian Arkills, C&C NDC-Sysmgt.
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
Continuous Delivery Ajey Gore Head of Technology ThoughtWorks India.
Improving productivity with online collaboration © 2015 albert-learning.com Improving productivity with online collaboration.
Continuous Integration and Testing
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
Craig Berntson
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Creating a Maintainable Software Ecosystem Jeremy D. Miller November 27th, 2007.
The Joel Test 12 Steps to Better Code. Readings The Joel Test (by Joel Spolsky) 043.html.
Testing in Extreme Programming
1 Lecture 19 Configuration Management Software Engineering.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
© 2012 About Me Doing agile since 1999 Start ups / Enterprises Planigle - Consulting and Training Qcue – VP, Engineering.
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
Debugging Strategies from Software Carpentry. Agan's Rules Many people make debugging harder than it needs to be by: Using inadequate tools Not going.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
UAT Automation Framework By SSTZ-UAT. Agenda Traditional Automated Testing. UAT Automation Framework introduction. Advantage. Demo. Q&A.
Feedback from the POOL Project User Feedback from the POOL Project Dirk Düllmann, LCG-POOL LCG Application Area Internal Review October 2003.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Continuous Integration Make your development life simpler.
Software Testing Process
Version Control and SVN ECE 297. Why Do We Need Version Control?
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Integrating the Code during the Development Alexander Vakrilov Telerik Corporation
Maintaining and Updating Windows Server 2008 Lesson 8.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Continuous Delivery and Quality Monitoring 1 iCSC2016, Kamil Henryk Król, CERN Continuous Delivery and Quality Monitoring Kamil Henryk Król CERN Inverted.
Continuous Delivery and Quality Monitoring
Don’t Forget Security When Delivering Software
Unit Testing.
Build Automation with Gradle
Continuous Integration and Testing
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
When I want to execute the subroutine I just give the command Write()
REAL-TIME, INTERACTIVE DOCUMENT AUTOMATION
CSE 303 Concepts and Tools for Software Development
Continuous Integration
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
Integration Reading: McConnell, Code Complete, Ch. 29
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Jamie Cool Program Manager Microsoft
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

UHCS 2005, slide 1 About Continuous Integration

UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback Impress your boss ? Impress your customers?

UHCS 2005, slide 3 What about Integration bugs ? Every team member’s code is well built and works fine in isolation but… … strange things happen when everything is integrated… who is to blame ? Problem may be in interaction between works One person may have stepped on another’s bug, which may have existed for months Integration bugs are particularly hard to find and fix. May crop up just before a release.

UHCS 2005, slide 4 Eliminating Integration bugs 1.A single person writes the entire code ? well, maybe not literally, but virtually…. Continuous integration: The entire code base and testing framework is maintained and updated as if it was one unit. Most “integration bugs” are noticed instantly and time spent on them reduces dramatically.

UHCS 2005, slide 5 How often should we Integrate? i.e., how often should you check in ? build ? test the entire application ? Once a week, once a few days, nightly builds, every 5 min ? End of project “big bang” integration ? Integration is a lot of painful work, so it should be done as infrequently as possible. Otherwise you will never get anything done.

UHCS 2005, slide 6 Integrate early and frequently Why do people postpone integration? –Under too much pressure –They don’t have time for it –Don’t want to be distracted by that –Don’t have necessary parts installed –Note enough compute horsepower Solution is to automate the integration process as much as possible

UHCS 2005, slide 7 Continuous Integration Run test cases when ever code change is checked in or as soon as possible When code is checked in the code is compiled automatically and all tests cases are executed –If a test fails the team is alerted –When test fails, nothing else important/high priority Fix the code to make the test succeed Or modify the test to fit the changes if appropriate

UHCS 2005, slide 8 More on Continuous Integration Clearly all files should be in a single configuration management system Build scripts to automate building BVT Tests – not same as acceptance tests. You may want to not write any code until there is a test that fails (XP ?) Frequent check ins It will not eliminate all integration bugs, but the time saved should far exceed time spent ?

UHCS 2005, slide 9 Tools for Continuous Integration Anthill Cruise Control/Cruise Control.NET Draco.NET Gump References: 1. "Continuous Integration," Martin Fowler, Matthew Foemmel, "Continuous Integration Server Feature Matrix," ntegration+Server+Feature+Matrix. ntegration+Server+Feature+Matrix

UHCS 2005, slide 10 Demo