Difference between revisions of "Slicer-3.6-QA"

From Slicer Wiki
Jump to: navigation, search
Line 14: Line 14:
 
   
 
   
 
<references/>
 
<references/>
 +
 +
= Testing Partition =
 +
 +
Most Slicer modules have a '''GUI component''' and a '''Data Processing''' component.
 +
 +
Testing GUI components is still a challenge, so we will focus here on testing the '''Data Processing''' components. This can be done in most cases by partitioning the module into a GUI section and a Data Processing section, where the second one usually takes the form of a C++ class (although that is not a requirement).
 +
 +
The '''data processing''' section can be tested by using standard CTest/CMake mechanisms. Basically by adding ADD_TEST() entries to the CMakeLists.txt file of the module.
 +
  
 
=Luis Ibanez' scoring system=
 
=Luis Ibanez' scoring system=
* Gold:  have > 80% of the possible coverage,      0 Valgrind errors, documentation and tutorial
+
 
* Silver: have > 70% of the possible coverage, <  10 Valgrind errors, documentation and tutorial
+
The following scoring will be applied to the '''data processing''' sections of all modules:
* Bronze: have > 60% of the possible coverage, <  50 Valgrind errors, documentation and tutorial
+
 
* Coal:  have < 10% of the possible coverage, > 1000 Valgrind errors, no documentation, no tutorial
+
* Gold:  have > 80% code coverage,      0 Valgrind errors, documentation and tutorial
 +
* Silver: have > 70% code coverage, <  10 Valgrind errors, documentation and tutorial
 +
* Bronze: have > 60% code coverage, <  50 Valgrind errors, documentation and tutorial
 +
* Aluminum: have > 50% code coverage, < 100 Valgrind errors, documentation and tutorial
 +
* Coal:  have < 10% code coverage, > 1000 Valgrind errors, documentation and tutorial
 +
* Plutonium: has no testing, no documentation, no tutorial

Revision as of 14:43, 15 April 2010

Home < Slicer-3.6-QA

Return to Slicer 3.6 documentation

  • This page contains our assessment of the Slicer 3.6 modules and extensions
Slicer 3.6 Quality Assurance
Score Name Documentation Help [1] Acknowledgment [2] Test coverage [3] valgrind errors
Gold my module complete yes and yes yes, yes, yes 80% 0
  1. including link to website documentation
  2. including name of author and of supervisor
  3. in % for non-interactive part

Testing Partition

Most Slicer modules have a GUI component and a Data Processing component.

Testing GUI components is still a challenge, so we will focus here on testing the Data Processing components. This can be done in most cases by partitioning the module into a GUI section and a Data Processing section, where the second one usually takes the form of a C++ class (although that is not a requirement).

The data processing section can be tested by using standard CTest/CMake mechanisms. Basically by adding ADD_TEST() entries to the CMakeLists.txt file of the module.


Luis Ibanez' scoring system

The following scoring will be applied to the data processing sections of all modules:

  • Gold: have > 80% code coverage, 0 Valgrind errors, documentation and tutorial
  • Silver: have > 70% code coverage, < 10 Valgrind errors, documentation and tutorial
  • Bronze: have > 60% code coverage, < 50 Valgrind errors, documentation and tutorial
  • Aluminum: have > 50% code coverage, < 100 Valgrind errors, documentation and tutorial
  • Coal: have < 10% code coverage, > 1000 Valgrind errors, documentation and tutorial
  • Plutonium: has no testing, no documentation, no tutorial