Slicer-3.6-QA
From Slicer Wiki
Home < Slicer-3.6-QA
Return 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
Score | Code Coverage | Valgrin Errors | Documentation | Tutorial |
---|---|---|---|---|
Gold | > 80% | 0 | yes | yes |
Silver | > 70% | < 10 | yes | yes |
Bronze | > 60% | < 50 | yes | yes |
Aluminium | > 50% | < 100 | yes | yes |
Coal | > 50% | > 100 | yes | yes |
Plutonium | unknown | unknown | no | no |