ALMA Common Software Basic Track Test Driven Development Unit testing and TAT.

Slides:



Advertisements
Similar presentations
ALMA Cycle 2 Capability Jongsoo Kim ALMA EA Korea node.
Advertisements

Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The March to Early.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
ALMA: The March to Early Science Al Wootten, ALMA/NA Project Scientist Cometary Radio Astronomy.
ALMA TACand the proposal process Lister Staveley-Smith Member, ALMA Review Panel.
Introduction to Eclipse, Unit Testing and JUnit David Rabinowitz.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
The Need for Packages How do you break down a large system into smaller systems? Structured methods use functional decomposition Functions represent something.
7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
2008 Decmeber 5 ALMA-JT Science Meeting 1 ALMA Project News Koh-Ichiro Morita ALMAJ Project Scientist.
ALMA During Early Science
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
December 2007Chile Observatories Earthquake Preparedness Workshop1 Atacama Large Millimeter/submillimeter Array ALMA Eduardo Donoso.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing LCG Applications Area GridPP 7 th Collaboration Meeting LCG/SPI LCG.
Descripción y Areas del Dpto. de Computación de ALMA (ADC) Tzu-Chiang Shen Gerente del Grupo de Software Departamento de Computación ALMA Joint ALMA Observatory.
ALMA Common Software Basic Track Introduction to the ACS Framework.
ALMA Common Software Basic Track Software Engineering Basics.
Workshop in ALMA Logs Prepared by Juan Pablo Gil – Arturo Hoffstadt
Integrating the CERN laser alarm system with the ALMA common Software SPIE, Orlando, May 2006 Integrating the CERN LASER Alarm System with the ALMA Common.
NAASC Status and NSF Proposal Review & Recommendations Carol Lonsdale Head, North American ALMA Science Center ANASAC Sept 2010.
ICT Coordination and Planning Meeting #1 (17-19 April 2013) ALMA Dashboard 1.0 Giorgio Filippi The Atacama Large Millimeter/submillimeter Array.
EA ARC Ken Tatematsu East-Asian ARC Manager. ARC organization Difference between ARCS: NA: concentrated in Charlottesville Europe: distributed in different.
A Search for Hydroxlyamine (NH 2 OH) Towards IRC+10216, Orion-S, Orion(KL), SgrB2(N), SgrB2(OH), W512M, W3(IRS5) R. L. Pulliam NRAO / North American ALMA.
The ALMA Software and Release Management Ruben Soto Software Operations Group & Release Manager Joint ALMA Observatory.
ALMA Common Software Basic Track Component implementation guidelines.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The ALMA Observing.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The ALMA Observing.
ALMA Common Software Basic Track Logging and Error Systems.
ACS Component Simulator J. Ibsen European Southern Observatory Garching – January 2007ESO.
ALMA Common Software Basic Track A walk through ACS functionality.
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.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
Atacama Large Millimeter/ submillimeter Array - ALMA ASAC Charge 3 For Oct 31 ASAC Report to ALMA Board Al Wootten JAO Interim Project Scientist.
ALMA Polarization Commissioning and Verification Status Kouichiro Nakanishi (Joint ALMA Observatory/NAOJ) on behalf of ALMA Polarization Commissioning.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
Early Science Specification and Expected Array Evolution Masao Saito EA ALMA Project Scientist EA PS Report1 2nd ALMA Users Meeting 2011/1/13.
Computing ALMA Board Meeting November 2015 Jorge Ibsen Head of ADC, ICT Lead Contributions from: ADC Management (JAO): Achermann, Parra, Saldias, Shen,
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
ALMA and the Call for Early Science The Atacama Large (Sub)Millimeter Array (ALMA) is now under construction on the Chajnantor plain of the Chilean Andes.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
Atacama Large Millimeter/ submillimeter Array - ALMA ASAC Charges For Oct 31 ASAC Report to ALMA Board Al Wootten JAO Interim Project Scientist.
ALMA Town Meeting Introduction K. Y. Lo Director of NRAO.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
ALMA Common Software Basic Track Project Lifecycle.
ALMA Common Software Basic Track Configuration Database.
ALMA Common Software Basic Track Component/Container Model and Lifecycle Management.
Charlottesville, November ALMA CSV Update Alison Peck Current status.
Introduction to Unit Testing and JUnit David Rabinowitz.
Dashboard upcoming features A Hales, ALMA and M Chavan, ESO
ALMA ANTENNA KEY SPECIFICATIONS
ACA TP Spectrometer Manabu Watanabe (NAOJ)
ALMA Common Software Basic Track
ALMA Software Scheduling subsystem Planning for cycle5 onwards
BA Continuum India Pvt Ltd
PRTS & KPI Nick Whyborn – Vasco Cortez
Shift Log Tool Refactoring
Obsprep Planning, 2017 Alan Bridger
Upgrade to Oracle12c in February 2017 José Parra
Leanne Guy EGEE JRA1 Test Team Manager
Applied Software Implementation & Testing
ATACAMA LARGE MILLIMETER ARRAY
Outline Welcome: K.Y. Lo ALMA Project Status: Adrian Russell
ACS ALMA Common software Demo Setup
Welcome K. Y. Lo Director, NRAO
Atacama Large Millimeter Array Science IPT Review
Presentation transcript:

ALMA Common Software Basic Track Test Driven Development Unit testing and TAT

What is it? In a nutshell  Development process that relies on very short development cycles  Tests written before functionality

Workflow

How to test?  Unit testing  Atomic code functionality tests  xUnit code-driven testing framework:  CppUnit  jUnit  PyUnit

What to test? What not to test? For sure:  Interfaces  Critical and/or non trivial portions of the code Avoid testing:  Code without added value, such as getters/setters and delegations Be cautious:  Over-testing is a waste of time

xUnit  Test case: basic unit  Test suite: set of tests that share the same test conditions  setup()  tearDown()  Assertions

ACS TAT  Automated test driver  Initializes environment (ACS)  Pass criteria based on comparing test output against an output template  Can also run other kind of tests besides xUnit-based ones

Integration Tests  Tests the interactions among software modules  Tests deployment configuration  Integration CDB  Hardware configuration, if necessary  Individual module unit tests must pass to integrate

Development team Responsible for:  Adding (at least one!) unit test(s) for your component  Prepare a test environment  Run the test(s) until the work  Once tests pass, check in all your code, test code and relevant configurations (TAT files, CDB) to the project configuration server  Document your work right away and in parallel with the development! Advise: When done, take a well deserve coffee break…

Integration and testing team Responsible for:  Continuous (and automatic) integration  Quality control during development  Build every time changes are detected  Identifying compilation and failures against regression tests  Facilitating the parties responsible for the failure and more importantly the parties responsible for fixing it  Revert to the last working checkpoint in case of a failure Advise: Use automated tools like Jenkins, the integration team key tool

Questions? Acknowledgements ACS presentations were originally developed by the ALMA Common Software development team and has been used in many instances of training courses since Main contributors are (listed in alphabetical order): Jorge Avarias, Alessandro Caproni, Gianluca Chiozzi, Jorge Ibsen, Thomas Jürgens, Matias Mora, Joseph Schwarz, Heiko Sommer. The Atacama Large Millimeter/submillimeter Array (ALMA), an international astronomy facility, is a partnership of Europe, North America and East Asia in cooperation with the Republic of Chile. ALMA is funded in Europe by the European Organization for Astronomical Research in the Southern Hemisphere (ESO), in North America by the U.S. National Science Foundation (NSF) in cooperation with the National Research Council of Canada (NRC) and the National Science Council of Taiwan (NSC) and in East Asia by the National Institutes of Natural Sciences (NINS) of Japan in cooperation with the Academia Sinica (AS) in Taiwan. ALMA construction and operations are led on behalf of Europe by ESO, on behalf of North America by the National Radio Astronomy Observatory (NRAO), which is managed by Associated Universities, Inc. (AUI) and on behalf of East Asia by the National Astronomical Observatory of Japan (NAOJ). The Joint ALMA Observatory (JAO) provides the unified leadership and management of the construction, commissioning and operation of ALMA.