Since our contract specified several extensions of the existing functionality of IRIS, our testing focused on the correct behavior and robustness of these extensions, rather than the existing functionality. Given the graphical user interface nature of our program and the existing robustness of the code, an automated test scaffolding was not desireable. In addition, because of the existing structure of the code and the module cohesion, some of the code generation and parallel testing was done in a Top-down strategy.
While many tests were done to ensure that each module was interacting correctly during development, listed below are a list of test that were completed. In addition, all changes to code were made in separate directories and tested before being integrated into our code base using CVS. Our code passed all tests below, unless otherwise stated.
Tested different file headers. If the appropriate header information was not read or not read correctly, no information was updated in the Load Grey Data window and an error message displayed.
The appropriate label(s) were displayed on the screen according to the rgb specifications in the label description. When the visibility of each label was changed, that label correctly reflects that change (pressing the "Update Mesh" button may be required).
Initially, parameters were printed out to the screen when passed the the right module and set correctly. Once parameters were found that seemed to produce acceptable visual feedback on the screen, all possible combinations of levels on the sidebars were tested. In addition, the window used to specify parameters were tested with random data.
Module was tested to make sure that the right mouse clicks were being handled by the appropriate function. Once two valid clicks of the right mouse button are entered, a visual check via the displayed cut plane as well as console messages written specifically to output plane parameters were put in place to ensure that the Cutplane functions were all working together and working properly. The next step in testing the Cut Planes function was to define the plane, verify its correctess, followed by a press of the "Accept " button to committ the changes into the Voxel Data set and the the "Update Mesh" button to view the relabeling of the voxels in the 3D window.
Module was tested to make sure that the left mouse clicks were being properly handled by the appropriate function(since both CutPlanes ad Spray 3D are enabled by the same Toolbar button). The spray function was also tested by using the spray, viewing the visual feed back from the 3D window and then pressing the "Accept" button to register the changes followed by pressing the "Update Mesh" button to view the changes in the 3D Window.