Difference between revisions of "Slicer-3.6-QA"
From Slicer Wiki
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% | + | |
− | * Silver: have > 70% | + | The following scoring will be applied to the '''data processing''' sections of all modules: |
− | * Bronze: have > 60% | + | |
− | * Coal: have < 10% | + | * 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-QAReturn to Slicer 3.6 documentation
- This page contains our assessment of the Slicer 3.6 modules and extensions
- See also the module culling event at the end of April 2010
Score | Name | Documentation | Help [1] | Acknowledgment [2] | Test coverage [3] | valgrind errors |
---|---|---|---|---|---|---|
Gold | my module | complete | yes and yes | yes, yes, yes | 80% | 0 |
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