Download A Flexible 3D-Visualisation Engine With Force

Transcript
The 'Flight' Simulator
Page 37 of 117
8 Unit Testing
8.1 Test Plan
Before the system was assembled as a whole, each individual program was thoroughly tested. Where
errors were found, re-implementation (and sometimes redesign) was performed before the entire testing
process for the component was repeated.
This section outlines the test process and results for each component in the system. The order of
testing was the same as the order of design (and implementation).
8.2 Flight Testing
The Flight program required the most extensive testing phase of any of the system components.
The first step checked that the entire FTL grammar and task reader (the CTask class) worked together
to create the correct components and configure the simulation correctly.
Next, tests were performed to ensure the program would work on machines with different hardware
resources. These tests included checking that the program worked as expected on machines with 3D
acceleration hardware, without such hardware, with a suitable joystick, with a joystick supporting force
feedback, and finally without any joystick attached at all.
Each Control module was then tested, including all Directives and force feedback modes, and checking
the reaction of the Control to joystick input (when running in interactive mode). Output from the data
loggers was examined, and run through the associated data streamer to check both worked as expected.
Finally, using Microsoft Developer Studio tools, it was verified that all resources used by the program
are released on its termination.
8.3 FlightLoader Testing
The FlightLoader program had a relatively short testing phase. Tests conducted included verifying that
any files in the specified task directory with the '.ftk' suffix (i.e. task files) were picked up by the
program. It was also verified that alterations to the task files (through the copy, edit and delete
functions) were reflected in the underlying file system.
The contents of the 'task.ini' file were checked for correctness (depending on the task selection made by
the user). At this point, the launching of the EDSSplash process and main Flight process was not tested
(this was left to the system integration phase).
8.4 FlightLdr Testing
The FlightLdr program is very simple, and the testing phase was short. Testing consisted of verifying
that any files in the specified task directory with the '.ftk' suffix (i.e. task files) were picked up by the
program, and that the program wrote the correct information to the 'task.ini' file (depending on the task
selection made by the user). At this point, the launching of the EDSSplash process and main Flight
process was not tested (this was left to the system integration phase).
Using Microsoft Developer Studio tools, it was also verified that all resources used by the program are
released on its termination.
8.5 EDSSplash Testing
The testing phase for the EDSSplash component was minimal, as the program is very simple. The
testing process simply ensured that the process terminated after a certain time, or after any keyboard
input. Using Microsoft Developer Studio tools, it was also verified that all resources used by the
program are released on its termination.
Douglas Currie