Created by Jan Medved www.opendaylight.org Integration & Test Strategy for Lithium.

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

Taxi Magic Mobile App Testing. iOS Testing Rapid Releases: Submit about every 30 days to iTunes CI Automated Tests: Polls git repository commits and executes.
Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.
OpenDaylight: An Open Source SDN for Your OpenStack Cloud Stephan Baucke, Ericsson Kyle Mestery, Cisco Anees Shaikh, IBM Chris Wright,
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Components and Architecture CS 543 – Data Warehousing.
Developing the NSDL User Portal Dean Krafft, Cornell University
Introduction to Continuous Integration Mike Roberts.
Deploying Dynamics Applications Thomas Hansen – Director, appSolutions a|s
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.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
Microsoft and Community Tour 2011 – Infrastrutture in evoluzione Community Tour 2011 Infrastrutture in evoluzione.
Best Practices and Pitfalls for Building Products out of OpenDaylight Colin Dixon,TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery,Sr.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
INFSO-RI Module 01 ETICS Overview Alberto Di Meglio.
MAE Continuous Integration Administration guide July 8th, 2013.
Created by Jan Medved Integration & Test Strategy for Lithium.
INFSO-RI Module 01 ETICS Overview Etics Online Tutorial Marian ŻUREK Baltic Grid II Summer School Vilnius, 2-3 July 2009.
11 SUPPORTING APPLICATIONS IN WINDOWS XP PROFESSIONAL Chapter 9.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
Created by Jan Medved Integration & Test Strategy for Lithium.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence.
South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC
*HCL Confidential ICE OFM – Automated Deployment Framework.
Paul Graham Software Architect, EPCC PCP – The P robes C oordination P rotocol A secure, robust framework.
Extending UFT. Agenda Running UFT tests from HP ALM Leveraging BPT From test scripts to CI – running UFT tests from Jenkins.
IPG2P Steering Committee January 25, CI Development Update Feb 2011 – next release – API function and Job Execution Paves way for user-led analysis.
Controller spin-off proposals
(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.
Software Testing Process
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.
Copyright Vincent Massol 2006 – All rights reserved Panorama of Quality Features in Maven2 Vincent Massol, 11 July 2006
 Introduction  Tripwire For Servers  Tripwire Manager  Tripwire For Network Devices  Working Of Tripwire  Advantages  Conclusion.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Application Migration Fritz Ohman Alphageek
CERN IT Department CH-1211 Genève 23 Switzerland t Bamboo users meeting IT-CS-CT.
E2G Web Services E2G Scripts and Methods E2G Domain Logic E2G Domain Logic Client Custom Scripts and Methods Client Custom Scripts and Methods E2G Rules.
Test and Performance Integration Group.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
The Maven Alfresco SDK™ At the end of a journey, there is always a new beginning…
PRODUCT - ORGANIZATION - AGILE - LEAN CD - Agile on Steroids - (and what Jenkins got to do with it) Paul Bakker linkedin.com/paulgbakker github.com/p-bakker.
Test all the things! Improving code quality at the OU with Continuous Integration MoodleMoot Ireland UK 2016 Mark Johnson Tony Lin.
ImageJ2. Why ImageJ2? ● Support the next generation of image data ● Interoperate and collaborate with other projects ● Broaden the ImageJ community ●
Integrated ALM with Cross-Tool Reporting Kovair Marketing Kovair Software Copyright ©
Open-O Integration Project Introduction
Build Automation with Gradle
OPEN-O CSIT Infrastructure
Self Healing and Dynamic Construction Framework:
Open-O O-Parent Project Proposal
4th Forum How to easily offer your application as a self-service template by using OpenShift and GitLab-CI 4th Forum Alberto.
Quality Control in the dCache team.
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
Automated Testing and Integration with CI Tool
Sr. Developer Cloud System - Architecture
Continuous Integration
Continuous Integration Tool
CONTINUOUS INTEGRATION –WHY WE DO IT?
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Implementation Discussion Bin Hu
Interoperability Testing
Presentation transcript:

Created by Jan Medved Integration & Test Strategy for Lithium

Created by Jan Medved  OpenDaylight is made of multiple projects -> we have to test them individually and together  Projects are quite heterogeneous: core, tools, plugins, apps, etc… -> they have different test needs  OpenDaylight has a common CI process for all projects -> tests should in general be part of the CI  We leave users freedom to select features -> we need an strategy to test a non-rigid distribution Facts 2

Created by Jan Medved  Forget about verifying projects, focus on features  Test single feature enabled to identify issues in a feature itself  Test all features enabled to identify feature interferences  For a given project, tests are called after:  A change (merge) in an upstream project. This triggers build and system test  A change in the project itself. We miss system test on code submit  Be selective with the tests we run  A change in a “stem” project will trigger test on many features  A change in a “leaf” project will trigger test on few concerned features High Level Strategy 3

Created by Jan Medved We define 2 integration features for test purposes:  compatible-with-all -> useful for all features system test  all = compatible-with-all + incompatible features -> useful to detect feature/bundle interferences We generate 2 distributions (no feature enabled at startup):  Regular distribution with all projects feature indexes (except integration)  Test distribution = Regular distribution + integration feature index Distribution Assembly 4

Created by Jan Medved Build test occurs during project code build. Examples are Junit, PAX-EXAM or Karaf feature install test Every project in OpenDaylight defines 3 build jobs:  Verify -> This job builds the project code and pass build tests upon code submit  Merge -> This job builds the project code and pass build tests upon code merge. In addition it will upload generated artifacts to Nexus repository.  Integration -> This job will build the project code and pass build tests after a merge in an upstream project Build Test 5

Created by Jan Medved System test requires a framework that installs controller and executes tests against network tools. Example is the Robot test. For every project user-facing feature we will create 2 system test jobs:  feature-only test -> Install single feature with required dependencies and run feature planned test  feature-all test  If feature is compatible -> Install odl-integration-compatible- with-all and run feature planned test  If feature is not compatible -> Install odl-integration- compatible-with-all + incompatible feature and run feature planned test System Test 6

Created by Jan Medved Test Triggers 7 Code Merge Release creation Merge build feature-only test feature-all test feature-only test feature-all test For all available features For all features in downstream Code Submit Verify build *Optional (requires project distribution or some automation to update project artifact) Integration build For all projects in downstream feature-only test*