Confidential Continuous Integration Framework (CIF) 5/18/2004.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
© by cellconsult.com Application Testing & Test Management.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Continuous Integration (CI) By Jim Rush Version Control Build Test Report.
HP Quality Center Overview.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
MC365 Ant. Today We Will Cover: Overview of Ant Installing Ant Using the Ant command line tool Various Ant commands available Using Ant in Eclipse.
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Introduction to Software Testing
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
Deployment and Configuration Management Solution
Introduction to Continuous Integration Mike Roberts.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
© 2012 IBM Corporation Rational Insight | Back to Basis Series SCM introduction Chu Shu June 2012.
AUTOBUILD Build and Deployment Automation Solution.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
AUTOBUILD Build and Deployment Automation Solution.
Apache Ant A gateway to test-driven Java development.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (CM)
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
May 29 th, 2003 Curtis Anderson Sivaprasad Padisetty.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Software Quality Assurance
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
LCG-SPI: SW-Testing LCG AppArea internal review (20/10/03)
Unit Testing with JUnit and Clover Based on material from: Daniel Amyot JUnit Web site.
Testing as a Driver for Development Change Wall Street Systems Graham Thomas.
Distributed Java Programming Build Management  A repeatable build management process allows you to integrate the development efforts of your team.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
EMBEDDED REAL-TIME, INC. December 8, 2015 Java Unit Mark Mosher Rochester Java Users Group.
Community Codes Free and shared resource Ongoing distributed development by both research and operational communities – Maintained under version control.
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
Copyright 2005, Open Foundation, LLC Continuous Integration Presented to UniForum Chicago Quinn McCallum & Scott Wheeler Open Foundation, LLC May 10th,
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
Ant / continuous integration. Turning Client Vision into Results 2 Outline presentation Introduction Ant –History –Concepts –Tasks –Examples –Extending.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Software Deployment & Release 26/03/2015 1EN-ICE.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Test Automation Using Selenium Presented by: Shambo Ghosh Ankit Sachan Samapti Sinhamahapatra Akshay Kotawala.
TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
DataGrid Quality Assurance
SE goes software engineering; (practically) managing the Compose
Quality Control in the dCache team.
Applied Software Implementation & Testing
Continuous Performance Engineering
Introduction to Software Testing
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
SE goes software engineering; (practically) managing the Compose
Continuous Integration
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Confidential Continuous Integration Framework (CIF) 5/18/2004

Confidential 2 Agenda Introduction to Continuous Integration Framework (CIF) The “story” of CI at Sabre Benefits Implementing CI Auto build and test tools CI processes What does CI mean to you? Future Directions

Confidential 3 Quality Driven Goals “ Establish a framework for processes, procedures, and automation to support zero tolerance and quality initiatives for all projects in automated build, test, and deploy processes”

Confidential 4 Continuous Integration “A fully automated build and test process that allows a team to build and test their software many times a day.” – Martin Fowler “Service Support group extends the definition to include deployment of software.” Components of an Automated Daily Build Single storage for all source codes Access to anyone needing current or previous versions Automated build process for a single command build Automated testing with a solid/complete suite of tests possible with a single command Automated deployment and fallback based on successful execution of test criteria Maintains current executable (best executable so far)

Confidential 5 Successful Build & CI Successful Build Latest sources checked out of central repository All files compiled Resulting object files linked, versioned and packaged for execution (war, jar, or zip format) System deployed and suite of tests run against the system If all steps execute without error or human intervention and all test passes, we have a successful build! CI characteristics Single source point Automated build scripts Self testing code Master build Good checking in policies “Effort of integration is exponentially proportional to the amount of time between integrations” –

Confidential 6 CIF Benefits Drive product/application quality: Daily build/compile Source code cross-referencing Code style checking Documentation Code coverage Dependency analysis Unit testing Load testing Regression testing System deployment/fallback using automated end to end CIF

Confidential 7 CIF Benefits Reduces certain problems that come with team development Integration bugs manifest early. Early is GOOD! Reduces the scope of the search for the bug Catches enough bugs to be worth the cost AUTOMATION Less chance of accidental loss Helps support ever shrinking development cycles Published results

Confidential 8 Implementing Auto-builds Many choices for project build system – ANT, Centipede, CruiseControl Choices for various metrics tools – which ones to use? Resolving issues and logging Auto deployment integration Centipede structure with metrics tools integration Auto fallback integration

Confidential 9 Build and Test Tools Krysalis Centipede: project build system Easy, extensible and powerful Apache style cross project pollination Open source Java based Active developer community Source control: ClearCase Other tools: JUnit: Regression testing framework JellyUnit: Jelly based JUnit testing mechanism JDepend: Design quality metrics for each Java package JMeter: Load testing functional behavior & performance measurement Clover: JCoverage (open-source) UML Java docs Source code xref

Confidential 10 Confidential CIF Process – Automation! Get latest code from central repository Clean compile, JAR Deploy codes to target environments Instrument codes for code coverage Perform unit testing Perform regression/performance testing against deployed code Initiate fallback if necessary Generate code coverage report, UML Javadocs, JDepend report, source code xref report Publish results to Web site result to project personnel

Confidential 11 Confidential Current Achievements CIF implemented with COMPLETE automation for Java projects 20 projects implemented CI framework Automated deployment/fallback capability All latest open source tools integrated for maximum benefit, effective use, and company cost saving CI implementation time reduced from many weeks to few days for a typical Java project Support resources reduced 10-fold with standard CIF framework

Confidential 12 Confidential Current Achievements Extended CI framework for C++ Extended C++Unit for build and repository management Extended C++ unit and regression tests Extended volume and performance measurement tools Building cross Java/C++ testing bridges Currently use unit test using positive flow characteristics but error paths for cross integration are very hard to test Building cross Java/C++ load and volume tools

Confidential 13 Confidential Future Directions Multiple repository support Clearcase and CVS Diagnostics and quality metrics Rate of bugs per phase Complexity/hot spot predicator for code/system Build automated test cases concurrently with use cases and use tools (e.g. Rational) to create traceability matrices Extend CI framework for TPF Extending tools for build and repository management Extending unit and regression tests –Leveraging existing Winrunner and Loadrunner tools Extending volume and performance measurement tools

Confidential 14 Confidential Issues Lack of standardized tools for TPF Many of the standard test and tool features in C++ and Java do not exist in TPF or are not easily exploitable Many open source tools do not include and, moreover, are not easily interoperated with TPF –Could Rational Test Realtime be a solution? Cross platform development is difficult due to lack of standard configuration management (CM) processes for deployment and development: Version naming convention, release notes and release schedule Completion criteria prior to deployment to different environments Branch naming convention and criteria to branch creation Parallel development and code merges CM process for product change/enhancement/bug fixes

Confidential Questions?