• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Software Testing Infrastructure
 

Software Testing Infrastructure

on

  • 1,850 views

 

Statistics

Views

Total Views
1,850
Views on SlideShare
1,850
Embed Views
0

Actions

Likes
1
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Software Testing Infrastructure Software Testing Infrastructure Presentation Transcript

    • Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02) M. Gallas IT-API LCG SPI project: testing 1
    • Index: • Overview • Unit-test • Unit-test frameworks • CppUnit • Oval • Unit-test structure and documentation • Status & future plans M. Gallas IT-API LCG SPI project: testing 2
    • Overview: LCG applications area project: • software testing will be an integral part of the software development process • All level of software testing should be run as part of an automatic process Software testing SPI project System test Software testing: We will select : Integration test •simple techniques, tools and methodologies Individual • run the tests in automatic way Unit test developer (work package test) domain M. Gallas IT-API LCG SPI project: testing 3
    • Unit Test: Unit-tests Should validate expected •Important code should have unit tests functionality at the level of: •Tests should be written together with the code • individual class •Code should pass all unit tests before it can be • small groups of released collaborating classes • work package CODE Automatic software test run process Code Documentation Software developer Unit-test SPI component (Version 1) • Test execution framework • Testing naming and structure • Test case specification template Test programs M. Gallas IT-API LCG SPI project: testing 4
    • Unit-test: Test frameworks (I) Aim: to help developers: • to produce code for unit-testing • to run tests in automatic way Our constrains: Our inputs: • Avoid commercial software and • Contacts within HEP-community (CMS licensing problems. and G4 mainly, until now). • Avoid “do it yourself solutions” • What is available as free open source •Try to adopt commonly used code. open-source software. What we propose: CppUnit Oval What we are doing: Our plans: •Trying CppUnit and Oval • Analysis of the CppUnit and Oval in the LCG-POOL project tools in the POOL environment. • Preparing “HowTo” documents to • Feedback from the experiments make easier the installation of these and big HEP software projects. tools and the start with process • Deliver and document the component soon. M. Gallas IT-API LCG SPI project: testing 5
    • Test frameworks (II): CppUnit A simple test: CppUnit: 1. Subclass the TestCase CppUnit class Like JUnit but for C++ 2. Override the method runTest(). 3. When you want to check a value, call http://sourceforge.net/projects/cppunit CPPUNIT_ASSERT(bool) and pass in an USED: expresion that is true if the test succeeds • in eXtreme Programing (XP) • proposed for DataGrid • Similar tools: Junit, PerlUnit, PyUnit, QtUnit • Output in XML, compiler or text •Windows version for MVC++6.0 • Just starting in LCG-POOL project (1 test running) M. Gallas IT-API LCG SPI project: testing 6
    • Test frameworks (IIcont): CppUnit M. Gallas IT-API LCG SPI project: testing 7
    • Test frameworks (III): Oval Oval build Oval: Test • validation and regression Source Executable • used in CMS Code Oval run Ovalfile • Can be use for Unit-test. (configuration) Log • It is possible to set different run file environments. Reference • Can run external scripts and file Oval external binaries. • Authors modified it to run it with or diff without CMS specific environment (SCRAM …) (Thanks to David Chamont for the changes) • Just starting in LCG-POOL project (1 test running) M. Gallas IT-API LCG SPI project: testing 8
    • Test frameworks (IIIcont): Oval M. Gallas IT-API LCG SPI project: testing 9
    • Unit-test: structure and documentation SPI-CVS_structure component • CVS testing structure ßWill help to have a •Test-naming automatic way to run test code SPI-TESTING component Test documentation: src doc test •Test cases specification template testA testB Ovalfile Nametest.ccp Nametest.ref Nametest.log [Nametest.in] M. Gallas IT-API LCG SPI project: testing [Mametest.out] 10
    • Unit-test: documentation M. Gallas IT-API LCG SPI project: testing 11
    • Status & Future Plans: Future Plans: • Produce a first version of the SPI- Testing Component (V1) which will provide: Status: - unit-test organization • Installing the component • Supporting the component at POOL project - test execution framework • Doing some test cases with them - test documentation and • Preparing Howto’s templates - complete user-documentation • Feedback with the HEP experiments and big software projects. M. Gallas IT-API LCG SPI project: testing 12
    • INDEX review: • Overview Thanks to: • Unit-test • contacts within the experiments • LCG-POOL team • Unit-test frameworks • D. Chamont (Oval) • CppUnit • Oval • Unit-test structure and documentation • Status & Future plans Howto for installation and examples will be available soon… Feedback and interaction are always welcome!! M. Gallas IT-API LCG SPI project: testing 13