Now that the program was coded and all the syntax errors have been fixed, the time has come to do all the finishing touches for the program.
A formal and complete test schedule will not be described. This would mean listing out ALL the "if .. [else if ..] then" staments in all coded routines and creating scenerios to trigger them. The test set that will be described should be inclusive enough.
Note all of the following should be done using the Debug version of the program. This will allow the compiler's debugger to display the proper information.
- Does the program start?
- Are all expected menu item accessible?
- Does the Help menu work?
- Does the program exit cleanly?
For the first round that is all that is needed. The user interface and starting/stopping the program is checked at this point.
If the Program does not start, the initialization need to be checked. If a three finger salute is needed to halt the program, the clean-up needs to be examined. And the program's resources need to be examined if the menu is not correct.
One final point to make here is that now is the time to start looking for memory leaks. If one is found, it needs addressing immediately. Usually, this will also get a majority of the memory problems that would otherwise pop up later.
- Using the basic options, does the game detect mouse clicks? valid ones? invalid ones?
- Using the basic options, does the game process the user's selections properly? Click each cell twice to address the following questions.
- - Using the basic options, do the cells switch colours (black and white here) correctly?
- - Using the basic options, do the correct neighbouring cells change state?
- Using the basic options, does the game detect the winning condition? What happends when the program gets mouse clicks after this point?
- Finally, using the basic options, does the 'New Game' menu item return the game to its starting position?
- Exit and look for memory leaks again.
Round 3 through N.
Much of the same questions are asked for each game option. Additionally;
- Do the game settings menu items change the game?
- - Is the number of cells correct? Is it drawn correctly?
- - Do the cells cycle through the correct colours? Every time?
Now once the winning condition has been tested for the basic game, I did not test for it to happen with the other versions. If you get a win, more power to ya.
Once the program was tested, memory leaks fixed, and debugged, the program can be compiled again for Release, i.e. optimized.