Quality Assurance and Testing in LCG CHEP 2004 Interlaken, Switzerland 30 September 2004 Manuel Gallas, Jakub MOSCICKI CERN

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Project Management Summary Castor Development Team Castor Readiness Review – June 2006 German Cancio, Giuseppe Lo Presti, Sebastien Ponce CERN / IT.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
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.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
SPI Software Process & Infrastructure GRIDPP Collaboration Meeting - 3 June 2004 Jakub MOSCICKI
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
CERN - IT Department CH-1211 Genève 23 Switzerland t Monitoring the ATLAS Distributed Data Management System Ricardo Rocha (CERN) on behalf.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing LCG Applications Area GridPP 7 th Collaboration Meeting LCG/SPI LCG.
Unit tests, Integration tests Physics tests Andrea Dotti, Gunter Folger, Pere Mato CERN – PH/SFT Geant4 workshop 2012.
CHEP2000 February 2000 Impact of Software Review and Inspection Doris Burckhart CERN ATLAS DAQ/EF-1 Back-end software.
RUP Implementation and Testing
EMI INFSO-RI EMI SA2 Report Quality Assurance Alberto Aimar (CERN) SA2 WP Leader.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
EMI INFSO-RI EMI Quality Assurance Processes (PS ) Alberto Aimar (CERN) CERN IT-GT-SL Section Leader EMI SA2 QA Activity Leader.
J.T Moscicki CERN LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Software Packaging and Distribution LCG Application.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 Software Process panel SPI GRIDPP 7 th Collaboration Meeting 30 June – 2 July 2003 A.Aimar -
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
The LCG SPI project in LCG Phase II CHEP’06, Mumbai, India Feb. 14, 2006 Andreas Pfeiffer -- for the SPI team
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
LCG-SPI: SW-Testing LCG AppArea internal review (20/10/03)
20/09/2006LCG AA 2006 Review1 Committee feedback to SPI.
Feedback from the POOL Project User Feedback from the POOL Project Dirk Düllmann, LCG-POOL LCG Application Area Internal Review October 2003.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects Overview A.Aimar EP/SFT CERN LCG Software Process.
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.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
EGEE is a project funded by the European Union under contract IST Unit testing coordination and interface testing. David Collados Testing Team.
GLite build and integration system Building and Packaging Robert HARAKALY
Feedback from LHC Experiments on using CLHEP Lorenzo Moneta CLHEP workshop 28 January 2003.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” June 2004.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
SEAL Project Overview LCG-AA Internal Review October 2003 P. Mato / CERN.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview LCG Application Area Internal.
European Middleware Initiative (EMI) The Software Engineering Model Alberto Di Meglio (CERN) Interim Project Director.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
1 Comments to SPI. 2 General remarks Impressed by progress since last review Widespread adoption by experiments and projects Savannah, ExtSoft Build system.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects GRIDPP 7 th Collaboration Meeting 30 June – 2 July.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects Status and work plan for H July 2003 A.Aimar.
JRA1 Testing Current Status Leanne Guy Testing Coordination Meeting, 13 th September 2004 EGEE is a project funded by the European.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
A. Aimar - IT/API LCG - Software Process & Infrastructure1 SPI - News and Status Update CERN,
J.T Moscicki CERN LCG - Software Process & Infrastructure1 Quality Assurance LCG Application Area Internal Review October 2003 Jakub T. Moscicki.
SPI Software Process & Infrastructure Project Plan 2004 H1 LCG-PEB Meeting - 06 April 2004 Alberto AIMAR
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
EMI INFSO-RI SA2: Quality Assurance Status Report Alberto Aimar(SA2) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure SPI Infrastructure for LCG Software Projects CHEP 2003 A.Aimar EP/SFT CERN LCG Software Process.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview (38 slides, 22 screen dumps)
Comments on SPI. General remarks Essentially all goals set out in the RTAG report have been achieved. However, the roles defined (Section 9) have not.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
How to Contribute to System Testing and Extract Results
SPI Infrastructure for LCG Software Projects
SPI Software Process & Infrastructure
LCG Software Quality Assurance
Leanne Guy EGEE JRA1 Test Team Manager
User Feedback from SEAL
Applied Software Implementation & Testing
Introduction to Software Testing
Module 01 ETICS Overview ETICS Online Tutorials
Chapter 7 –Implementation Issues
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Quality Assurance and Testing in LCG CHEP 2004 Interlaken, Switzerland 30 September 2004 Manuel Gallas, Jakub MOSCICKI CERN

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 2 Outline: Quality Assurance and Testing in LCG LCG SPI Context SPI Services Overview Sw-Testing: Test Frameworks Test Documents User support Quality Assurance: QA activities Bug tracker statistics Test coverage LCG App.Area policies Summary

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 3 LCG SPI context LCG Infrastructure Common services Similar ways of working (process) Tools, templates, training General QA, tests, integration, release LCG Application Area software projects POOL: Persistency SEAL: Core common software PI: Physics Interfaces SIMU: Simulation …etc… LHC grid software applications (LHC experiments, projects, etc) LCG SPI project LCG Application Area SIMULATIO N

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 4 SPI Services Overview Provide General Services needed by each project CVS repository, Web Site, Software Library Mailing Lists, Bug Reports, Task Management, Collaborative Facilities Provide solutions specific to the Software Development phases Tools, Templates, Policies, Support, Documentation, Examples Software Testing and QA CodingAnalysis and Design Development Release Specifications Testing Build systems Deployment and Installation Documentation Quality Assurance Software Development General Services CVS service Collaborative FacilitiesTask ManagementMailing Lists Web Portal External Software SPI project  The rest of the talk describes QA and Sw-Testing services SPI Web Site -

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 5 Software testing should be an integral part of the software development in the LCG App Area. All level of software testing should be run as part of an automatic process. SW-Testing Overview - Software testing Integration test System test Acceptance test Unit test Sw-testing team Integration Tests System Tests Examples LHC experiments Use in Exp. Test FrameWorks SW-testing doc SW- testing support SPI SW-Testing SW-testing polices Code Documentation Software developer CODE Work Package Test Automated testing Nightly Building System

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 6 LCG-SPI SW-Testing Aim: to help developers: to help projects: to produce test code suitable to be run in automatic way to document their tests to plan their test phase to run all their test in automatic way to browse and scan easily the test results and failures Our inputs: Contacts within HEP-community. What is available as free open source code. Our constraints: Avoid commercial software and licensing problems. Avoid “do it yourself solutions” Try to adopt commonly used open-source software. Requirements from the users : Work with different languages (C++, Python, …) and in different environments (platforms & compilers) Allow two ways of testing: (1) “check the output of the test-code” (2) “check the test results inside the test-code”. Provide a easy way to integrate existing tests. Allow the creation of dependencies among tests. Easily establish a criteria if a test should pass or fail in a given release Organize the tests by components or packages / integration / system /acceptance. Regression testing and check respect to the previous sw-release. Easy integration with the Nightly Building System. Provide also a graphical interface to run the tests and examine the test results.

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 7 Test Frameworks: Global picture X-Unit family JUnitQtUnit CppUnitPyUnit Oval Test Scripts Old tests SW Product Examples Unit testing Acceptance testing QA activity End User Installation checks Nightly Building Project Release Sw-Testing QMTest Uses a GUI for creating and running tests (also in batch). Can run tests in parallel, supports execution of a single test or many at once (test-cases & test-suites) Organizes tests hierarchically Records dependencies among tests Top layer Bottom layer - Adaptable to the programming language and developer - Prepared to be run in automatic way - Integrates different ways to test. - Common environment to run the tests and to access the test results.

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 8 Main Scope: Unit–testing The same “assertion style” in different languages. Provides:- The name of the test case that failed. -The name of the source file that contains the test. -The line number where the failure occurred Different platforms/compilers: (Linux/Solaris/Windows) Test Frameworks: X-Unit family X-Unit family JUnit QtUnit CppUnit PyUnit A simple test: 1.Subclass the TestCase CppUnit or PyUnit class 2.Override the method runTest(). 3.When you want to check a value, call the (CppUnit or PyUnit) ASSERT(bool) and pass in an expresion that is true if the test succeeds

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 9 Test Frameworks: Oval Oval: validation and regression developed & used within CMS experiment Can be use for Unit-test to Validation tests. Compare the output log file with a given reference file (Smart comparison of those lines which start with “[Oval]”) It is possible to set different run environments. Can run external scripts and external binaries. Ovalfile (configuration) Executable Test Source Code Reference file Log file Oval run Oval diff Oval build

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 10 Test Frameworks: QMTest QMTest Uses a graphical interface for creating and running tests The configuration files are in XML and can be created from the GUI. We provide also script to do it Runs tests in parallel Organizes tests hierarchically Supports execution of a single test or many at once Records dependencies among tests Can be run in batch mode -> easy integration with the Nightly-Building systems

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 11 Test Documents For all project is needed a Test Plan in order to have a clear idea of the type of tests, schedule, environment and responsibilities. We use a templatetemplate Test Case template collects information about the existing tests and how they cover the expected functionality of the software.

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 12 User support: Web information httphttp://spi.cern.ch/ Test Frameworks HowTo Test doc Policies httphttp://spi.cern.ch/testing

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 13 User support: How-To * * * * * 3 Follow sw-testing policies Automatic testing requires some standardization 1 2

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 14 Quality Assurance Service - The main goal of QA activity is help LCG projects assess and improve the quality of the software provide tools to collect useful metrics/statistics which help to asses quality; generate reports; verify if project setup is correct with LCG policies. QA Tools and Focus Automatic reports Development/integration of automatic tools LCG Policies agreed and defined by AF SPI supports them in the tools and procedures and only helps to work them out

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 15 Quality Assurance Activities QA Checklist on each Release Build the release Run automatic tests Metrics Test Inventory & Metrics Documentation/Examples Inventory Bug tracker Statistics Code Inventory Rule Checker, Logiscope LCG Policies Configuration of a build system CVS directory structure Software testing polices Automatic QA Reports Generated at every release Published on the SPI web site External tools Test coverage SLOC, Valgrind, ignominy QA procedure: well-defined, transparent, open -clear rules and checklist of assessed items -anybody at anytime may see statistics -anybody may create reports themselves -anybody may contribute

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 16 QA Reports Bug tracker statistics Testing inventory by package Results of the automatic testing Test coverage Source code statistic (n files, n lines, sloc,.. ) CVS structure

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 17 QA reports: Bugtracker Statistics Defect Analysis in Time  Defect Reparation Trends  Activity of the project / users  Flexible category selection subsystems, severity,...  Caveat: -not all bug reports are “real” bugs Correlation of defects and tests  Traceability oEvery bug fix should be accompanied with a test case oTest case should contain a bug reference #  Avoiding reappearing bugs

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 18 QA reports: Test Coverage Coverage of Unit tests Integration tests Validation tests At the level of Project Package File Source Lines Tools gcc3.2 –gcov LTP scripts

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 19 LCG Policies CVS and Build Directory Policy Software Testing Policies Version Numbers, Tagging and Release Procedure Installation Directory Structure Platform string, binary names, debug flags and more They are a needed by the LCG They are defined by the LCG projects (AF), collected by SPI SPI supports them in the tools and procedures and only helps to work them out If everything is different is too difficult to use and to automate compromising on our habits, for project needs tell when they are not followed First time that this exists at this extent, and that is checked QA tools verify the compliance of software to the Policies

M.Gallas, J.Moscicki CERN PH-SFT SPI - Software Process & Infrastructure 20 QA activities designed to match the HEP environment -focused more on testing and bug tracking -less on sophisticated source code metrics integrated and automated into the LCG development environment QA infrastructure will be reused in EGEE Summary Quality Assurance and Testing in LCG LCG SPI Context SPI Services Overview Sw-Testing: Test Frameworks Test Documents User support Quality Assurance: QA activities Bug tracker statistics Test coverage LCG App.Area policies Summary Software testing activities a complete and coherent automatic testing infrastructure was deployed based on existing tools in the open source community. It covers covers from unit to validation tests. a unique entry point (QMTest) can be use to run all the tests at the release time, in the nightly building system, for the QA reports or by the developer.