Testing for patch certification

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
Glite I/O Storm Testing in EDG-LCG Framework Elena Slabospitskaya, Vadim Petukhov, (IHEP, Russia) Gilbert Grosdidier, (CNRC, France) NEC'2005, Sept 16.
EMI INFSO-RI EMI SA2 Report Quality Assurance Alberto Aimar (CERN) SA2 WP Leader.
EMI INFSO-RI EMI Quality Assurance Processes (PS ) Alberto Aimar (CERN) CERN IT-GT-SL Section Leader EMI SA2 QA Activity Leader.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Configuration Management (CM)
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
INFSO-RI Enabling Grids for E-sciencE Integration and Testing, SA3 Markus Schulz CERN IT JRA1 All-Hands Meeting 22 nd - 24 nd March.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks CERN status report SA3 All Hands Meeting.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Usage of virtualization in gLite certification Andreas Unterkircher.
EGEE’06 Conference Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Testing gLite middleware: overview & status Andreas.
EGEE is a project funded by the European Union under contract IST Tools survey status, first experiences with the prototype Diana Bosio EGEE.
Testing Grid Software on the Grid Steven Newhouse Deputy Director.
DPM Python tools Ivan Calvet IT/SDC-ID DPM Workshop 10 th October 2014.
CERN IT Department t LHCb Software Distribution Roberto Santinelli CERN IT/GS.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The future of the gLite release process Oliver.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Tools and techniques for managing virtual machine images Andreas.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Task tracking SA3 All Hands Meeting Prague.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
European Middleware Initiative (EMI) The Software Engineering Model Alberto Di Meglio (CERN) Interim Project Director.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks GLite testing status and future Gianni Pucciani.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks SA3 partner collaboration tasks & process.
EGEE-III INFSO-RI Enabling Grids for E-sciencE SA3 All Hands Meeting 'Cluster of Competence' Experience SA3 INFN Cyprus May 7th-8th.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Patch Preparation SA3 All Hands Meeting.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks MSA3.4.1 “The process document” Oliver Keeble.
INFSO-RI Enabling Grids for E-sciencE gLite Test and Certification Effort Nick Thackray CERN.
Gianni Pucciani Wed 27 January 2010 IT-GT-SL meeting Certification tests and automation.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Implementing product teams Oliver Keeble.
EGEE-III INFSO-RI Enabling Grids for E-sciencE JRA1 and SA3 All Hands Meeting December 2009, CERN, Geneva Product Teams –
EMI is partially funded by the European Commission under Grant Agreement RI EMI SA2 Report Andres ABAD RODRIGUEZ, CERN SA2.4, Task Leader EMI AHM,
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Breaking the frontiers of the Grid R. Graciani EGI TF 2012.
EMI INFSO-RI Testbed for project continuous Integration Danilo Dongiovanni (INFN-CNAF) -SA2.6 Task Leader Jozef Cernak(UPJŠ, Kosice, Slovakia)
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Towards an Information System Product Team.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
CREAM Status and plans Massimo Sgaravatto – INFN Padova
Jean-Philippe Baud, IT-GD, CERN November 2007
Practical using C++ WMProxy API advanced job submission
All-Hands Meeting Outcome and Discussion
Open-O Integration Project Introduction
Status & Strategy for gLite multi-platform Support
Regional Operations Centres Core infrastructure Centres
JRA1 Middleware Re-engineering Status Report
Gianni Pucciani GD group meeting CERN, 25 November 2008
Andreas Unterkircher CERN Grid Deployment
New monitoring applications in the dashboard
Partner Status HPCL-University of Cyprus
glexec/SCAS pilot service
T-StoRM: a StoRM testing framework
Future Test Activities SA3 All Hands Meeting Dublin
Quality Control in the dCache team.
Leanne Guy EGEE JRA1 Test Team Manager
Testing Activities on the CERT-TB Status report
ETICS Services Management
Francesco Giacomini – INFN JRA1 All-Hands Nikhef, February 2008
Applied Software Implementation & Testing
Leigh Grundhoefer Indiana University
Porting LCG to IA64 Andreas Unterkircher CERN openlab May 2004
Module 01 ETICS Overview ETICS Online Tutorials
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Testing for patch certification Gianni Pucciani SA3 All Hands Meeting, Prague 06 November 2008

Outline Introduction. Current status of the testing process. Running tests and regression tests. Writing new tests, guidelines. Patch certification survey results and hints. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Testing activity What we test: Deployment + functional + regression tests on the CTB, during patch certification; to test the service functions using API or CLI, including basic service checks (ping test, BDII checks). Performance and stress tests are done only when required, on dedicated machines. They are not part of the normal patch certification procedure. What we do not test: Unit tests, must be done by service developers. Complex and systematic use cases, performance and stress tests done on request during “pilots” in pre-production. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Current status List of available tests: https://twiki.cern.ch/twiki/bin/view/LCG/AvailableTests Service certification checklist https://twiki.cern.ch/twiki/bin/view/EGEE/ServiceCertificationChecklist For patch certification tests are run from the command line (Shell, Python, Perl scripts). Meta-script are available whenever possible to run all the necessary test scripts in one shot. A framework to automatically run regression tests is available. Writing tests is a continually evolving process; tests must be easily added and integrated in the test repository and made immediately available for patch certification. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Current status: testing during patch certification Install a (virtual) machine with the given service (production version). Reproduce the bugs(*). Write regression tests(*) (**). Install the patch. Verify that the bugs have been fixed. Follow the instructions on the service certification checklist on how to run tests for the given service. Usually checkout the tests from CVS and launch a bash meta-script. When available, run regression tests using the regression tests framework. Attach the meta-script and regression tests output to the Savannah patch tracking system. (*)A few criteria to decide when 2,3 can be skipped are listed here: https://twiki.cern.ch/twiki/bin/view/EGEE/BugNonVerification (**)In some cases a regression test can be written after the patch is certified. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Current status: testing scripts, CVS architecture Tests scripts are available on CVS: (http://glite.cvs.cern.ch/cgi-bin/glite.cgi/org.glite.testsuites.ctb/) Example: AMGA/ tests/ AMGA-test_ping.py AMGA-test_functions.py AMGA-test_statistics.py manual/ README AMGA-certtest.sh AMGA-certconfig.sh APEL/ BDII/ ....... SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Current status: running the tests Example from the AMGA tests: #>./AMGA-certtest.sh START Mon Sep 15 14:10:57 CEST 2008 -------------------------------------- Executing AMGA-test_ping.py AMGA-test_ping.py PASSED Executing AMGA-test_functions.py AMGA-test_functions.py PASSED Executing AMGA-test_statistics.py AMGA-test_statistics.py PASSED END Mon Sep 15 14:11:01 CEST 2008 TEST_PASSED #> ./AMGA-certtest.sh START Mon Sep 15 14:09:50 CEST 2008 --------------------------------------- Executing AMGA-test_ping.py AMGA-test_ping.py PASSED Executing AMGA-test_functions.py AMGA-test_functions.py FAILED Executing AMGA-test_statistics.py AMGA-test_statistics.py PASSED END Mon Sep 15 14:09:54 CEST 2008 TEST_FAILED The following tests failed: AMGA-test_functions.py: results in tests/AMGA-test_functions.py_result.txt SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Regression tests A regression test is bound to a specific bug, and it may involve the deployment of multiple nodes with specific configurations. It is note always possible to write a regression test, please refer to one of the points listed here: https://twiki.cern.ch/twiki/bin/view/EGEE/BugNonVerification and state clearly the reason not to reproduce a bug. A number of regression tests (mainly DM and WMS) is already available. A framework to easily run tests and extend the regression tests repository is available: https://twiki.cern.ch/twiki/bin/view/LCG/SAMTests#Regression_Tests. Certifiers are strongly encouraged to write regression tests during patch certification, where it often requires a minimal overhead. From our experience more than 50% of the bugs are candidates for regression tests. Producing regression tests must be part of the patch certification process, it does not have to be considered a worthless hassle. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Regression test writing ./regTest.sh ./regTest.sh –tl testlists/mybugs.txt ./bugs/ bug1596 bug22165 … test_bug1596_pre () test_bug1596 () test_bug1596_post () ./config/ commonFunctions.sh config.sh ./testlists/ mybugs.txt mybugs.sh 1596 22165 … VO=dteam SE_DPM=se.cern.ch … by Andreas Unterkircher SA3 All hands meeting May 2008 SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Missing tests A list of missing tests is available and constantly updated: https://twiki.cern.ch/twiki/bin/view/EGEE/GliteTestMissing Some examples: File Transfer Service (FTS): Testing the FTS Java API. Further tests with all combination of SEs. Tests with different VOMS roles. LCG File Catalog (LFC): Test the Perl API. SCAS For new services, a document describing the main functionalities and interfaces should be provided before the service enter the release process. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Writing new tests If you are collaborating in writing tests please make sure that: a task is assigned to you and tracked through the Savannah task tracking system (contact Diana.Bosio@cern.ch). your contact information appear here: https://twiki.cern.ch/twiki/bin/view/EGEE/EGEECertification#Test_writers_maintainers_table you are subscribed to the list: egee-sa3-testing@cern.ch Test writing guidelines: https://twiki.cern.ch/twiki/bin/view/EGEE/EGEECertification#Test_writing Provide a test plan explaining the tests that will be implemented. Priority to service ping tests and functionality tests (CLI and API). Tests should be launched from the command line (Bash, Perl, Python), without the need of using any framework. The CERN certification team will take care of the integration in the test repository. Provide adequate documentation. Tests maintenance is done by the CERN certification team, with the test developer’s help when needed. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Testing frameworks Testing during patch certification has to be quick and easy so that we can profit from a distributed and dynamic list of certifiers provided by SA3 partners. Testing frameworks: SAM: used to monitor the certification Testbed. Nagios: under evaluation. It will be used to monitor the certification Testbed. ETICS: under evaluation, so far more suitable for unit tests and deployment tests (rpm installation) done by developers. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Patch certification survey results 1/2 15 surveys completed. Hints: ~ 70% of certifiers has low-medium experience. The process cannot assume high level of expertise in certifiers: Make the process as much automated as possible. Clearly state instructions on how to reproduce a bug in Savannah. Most time consuming phases: checking that bugs are fixed, reproducing the bugs, writing regression tests. Configuring the service and running mandatory tests have to be faster and easier. See 1.2 Improve (and distribute?) an automated installation/configuration tool like yaimgen for working in the CTB. Automate mandatory tests as much as possible. 12 out of 15 certifiers use a virtualization system during patch certification. Opening vNode for accessing it from outside CERN? Distributing vNode? SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Patch certification survey results 2/2 40% do not know how to write regression tests and integrate them in our framework I hope after this talk there will be no doubts anymore  Most certifiers do not write enough regression tests (85%) or do not write regression tests at all (33%). Congratulations to the only (anonym) certifier who is writing regression tests in more than 50% of the bugs. Include ‘writing regression tests’ into the patch certification process giving more time for the task of certifying a patch. Maintain the list of missing regression tests allowing a certifier to write a regression test after certifying a patch. Clearly reference one of the point in https://twiki.cern.ch/twiki/bin/view/EGEE/BugNonVerification when it is not possible to produce a regression test. SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Conclusions How to write tests and regression tests for patch certification. The testing effort must be shared among developers, certifiers, pre-production (pilots). Regression tests are the weakest point in our certification process. Interesting results came out of the survey, though not surprising in most of the cases. Thanks for your contribution! SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch

Useful links SA3 Testing and Certification Available tests https://twiki.cern.ch/twiki/bin/view/LCG/AvailableTests Service Certification Checklist https://twiki.cern.ch/twiki/bin/view/EGEE/ServiceCertificationChecklist Test writing guidelines https://twiki.cern.ch/twiki/bin/view/EGEE/EGEECertification#Test_writing Missing tests https://twiki.cern.ch/twiki/bin/view/EGEE/GliteTestMissing CVS tests repository http://glite.cvs.cern.ch/cgi-bin/glite.cgi/org.glite.testsuites.ctb Certification Testbed Contacts and how to join the Testbed https://twiki.cern.ch/twiki/bin/view/EGEE/CertTestBedWorld vNode Web Site https://vnode.web.cern.ch Web Application SA3 All Hands Meeting, Prague 06 Nov. 2008, Gianni.Pucciani@cern.ch