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.
Continuous Integration (CI) By Jim Rush Version Control Build Test Report.
Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware.
Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
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.
Continuous Integration and Testing
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Unit Testing Continuous Integration PYUNIT AND JENKINS FRAMEWORK Presenter Rachita Agasthy.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
OpenDayLight – “autorelease” tool and process Jun 2014 Giovanni Meo 1.
Best Practices and Pitfalls for Building Products out of OpenDaylight Colin Dixon,TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery,Sr.
MAE Continuous Integration Administration guide July 8th, 2013.
Created by Jan Medved Integration & Test Strategy for Lithium.
Created by Jan Medved Integration & Test Strategy for Lithium.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
1 © Cable Television Laboratories, Inc Do not share this material with anyone other than CableLabs Members, and vendors under CableLabs NDA if applicable.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC
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.
Perfecto Mobile Automation
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
EMI INFSO-RI EMI Quality Assurance Tools Lorenzo Dini (CERN) SA2.4 Task Leader.
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
CERN IT Department CH-1211 Genève 23 Switzerland t Bamboo users meeting IT-CS-CT.
숭실대 IoT , Openstack, DevOps 숭실대
Test and Performance Integration Group.
Versioning and Automated Weekly Releases.
Review for Eclipse Release Review | © 2012 by Review for Eclipse Committers, made available under the EPL v1.0 1 Review for Eclipse (R4E) 0.11 Release.
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.
Integrated ALM with Cross-Tool Reporting Kovair Marketing Kovair Software Copyright ©
Open-O Integration Project Proposal. Overview Project Name: Integration Repository Name: integration Description: Responsible for the integration framework.
QA Process within OEM Services Ethan Chang QA Engineer OEM Service, Canonical
Automated Software Testing
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Process improvements for better quality
Implementing Cloud-based Agile Team Development - Lessons Learned
Open-O Integration Project Introduction
Proposed IT Infrastructure for TOP OS project
Continuous Integration (CI)
OPEN-O CSIT Infrastructure
OPEN-O Sun Release Lab Deployment & Assembly
Automatic RElease Service
Open-O O-Parent Project Proposal
Quality Control in the dCache team.
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
Sr. Developer Cloud System - Architecture
JENKINS TIPS Ideas for making your life with Jenkins easier
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.
Overview on CI Use JJB (Jenkins Job Builder) to manage Jenkins jobs.
Interoperability Testing
Presentation transcript:

Created by Jan Medved Integration & Test Strategy for Lithium

Created by Jan Medved  OpenDaylight is made of multiple projects, each project defines one or more features -> we have to test them individually and together.  Projects are quite heterogeneous: platform, 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  Instead of verifying projects, test user-facing features.  Test single feature enabled to identify issues in a feature itself.  Test all features enabled to identify feature interferences.  For a given project, test after:  A change in the project itself. Today we miss system test on code submit, but this is also possible.  A change (merge) in an upstream project. This will trigger build and system test.  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 CI Infrastructure 5 System Test (Robot FW) System Test (Robot FW) Post test results Run test suite Project Build and Test (Jenkins) Project Build and Test (Jenkins) Code management (GIT/Gerrit) Code management (GIT/Gerrit) Gerrit code submit or merge event Artifact Repository (Nexus) Artifact Repository (Nexus) Upload artifactsDownload artifacts Project Build and Test (Jenkins) Project Build and Test (Jenkins) Upstream project merge

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 6

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 7

Created by Jan Medved Test Triggers 8 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*

Created by Jan Medved  Code sanity and code coverage reports are collected daily to Sonar  All system test code will be stored in the Integration repo, we can quantify the amount of test per project  Maven plugin for API coverage?  Number of critical bugs per project and bugs trends Quality metrics 9