Presentation is loading. Please wait.

Presentation is loading. Please wait.

National Alliance for Medical Image Computing Testing with CTest and CDash Julien Jomier Kitware Inc.

Similar presentations


Presentation on theme: "National Alliance for Medical Image Computing Testing with CTest and CDash Julien Jomier Kitware Inc."— Presentation transcript:

1 National Alliance for Medical Image Computing http://na-mic.org Testing with CTest and CDash Julien Jomier Kitware Inc.

2 National Alliance for Medical Image Computing http://na-mic.org Testing Overview CVS/SVN CDash Web Browser CTest Developers

3 National Alliance for Medical Image Computing http://na-mic.org Testing Terminology Sites dash5.kitware iris.elmtech Linux-g++ Builds Linux-gcc3 Linux-gcc4 Dashboard

4 National Alliance for Medical Image Computing http://na-mic.org Why Test Daily? Large code base too large for any single developer to understand Developers distributed around the world Identify problems as they occur Insure that object API remains unchanged Provide feedback to developers as they experiment with new implementations

5 National Alliance for Medical Image Computing http://na-mic.org “If it’s not tested it doesn’t work” Dasboards and Software Process –Roots in GE Six Sigma initiative Cross platform testing Nightly regression testing Memory (Purify/ValGrind) testing Coverage testing Style checking Documentation evaluation

6 National Alliance for Medical Image Computing http://na-mic.org How to write a good test? Use empirical values (5/2=2.5) Test most of the use cases (even the boring/most difficult ones) Make your tests as efficient as possible Have someone else write the test for your algorithm

7 National Alliance for Medical Image Computing http://na-mic.org Regression Testing Compare generated image against standard “correct” image –pixel-by-pixel comparison –can use a threshold metric –adjusted for effects like dithering

8 National Alliance for Medical Image Computing http://na-mic.org CTest Testing client Distributed with CMake Submit test results to the dashboard XML submission Independent of CMake

9 National Alliance for Medical Image Computing http://na-mic.org CTest with CMake CMakeLists.txt INCLUDE(CTest) ENABLE_TESTING() # Add a simple test ADD_TEST(CDashTest1 CDashTest CDashTest) ADD_EXECUTABLE(CDashTest main.cxx) CTestConfig.txt set(CTEST_PROJECT_NAME "MyProject") set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "localhost") set(CTEST_DROP_LOCATION "/CDash/submit.php?project=MyProject") set(CTEST_DROP_SITE_CDASH TRUE)

10 National Alliance for Medical Image Computing http://na-mic.org Testing Submission XML Submission XML Parsing HTTP PUT CTest CDash Backup XML File Fill Database Send Email Update RSS Feed Update.xml Configure.xml Build.xml Test.xml Coverage.xml DynamicAnalysis.xml Compiler/Tester

11 National Alliance for Medical Image Computing http://na-mic.org CDash New generation of Dart Written in Php/Javascript MySQL Open Source Run on top of a web server XSL implementation Web 2.0

12 National Alliance for Medical Image Computing http://na-mic.org CDash Features Ajax requests Graphs: build, test times Builds group User management Email notifications Timing defects

13 National Alliance for Medical Image Computing http://na-mic.org Coverage Support Email Low Coverage Bullseye support

14 National Alliance for Medical Image Computing http://na-mic.org Build Notes Share with other developers Keep it simple

15 National Alliance for Medical Image Computing http://na-mic.org My CDash Personal Page Subscribe to project View sites Email preferences

16 National Alliance for Medical Image Computing http://na-mic.org Project Roles Normal user Site maintainer Project administrator

17 National Alliance for Medical Image Computing http://na-mic.org Claiming Sites Site information Automatic (CTest 2.6) Information history Manual editing Personal view/email

18 National Alliance for Medical Image Computing http://na-mic.org CDash Misc. Automatic Geolocation from IP addresses Support for iPhone

19 National Alliance for Medical Image Computing http://na-mic.org Installing CDash (L/W)AMP : Apache, MySQL, PHP - XAMPP, EasyPHP Download CDash (www.cdash.org) in your Apache web directorywww.cdash.org Edit config.php Point Web Browser to CDash - Setup the database - Create first project

20 National Alliance for Medical Image Computing http://na-mic.org Style Checking KWStyle C++ Style checker Configuration via XML HTML Generator (TBI in CDash) Open Source Written in C++

21 National Alliance for Medical Image Computing http://na-mic.org Contribute Website - http://www.cdash.org - http://public.kitware.com/KWStylehttp://www.cdash.org Bug Tracker - http://www.cmake.org/Bug Mailing List - http://public.kitware.com/cgi- bin/mailman/listinfo/cdash

22 National Alliance for Medical Image Computing http://na-mic.org Happy Testing!


Download ppt "National Alliance for Medical Image Computing Testing with CTest and CDash Julien Jomier Kitware Inc."

Similar presentations


Ads by Google