Build and Test Plan
Due to the fact that the user is to be unaware that he/she is not manipulating
an actual microscope the biggest test we have is to see if we can fool
the end user. In general a great deal of debugging data will be needed
to ensure proper operation due to the fact that neither end of the system
will respond adversely to bad data or lack of response. Below is an outline
of some procedures that can be used to check if the simulator is operating
This module is part of the nmm_Microscope and is primarily concerned
with making sure that any incoming commands are properly handled as well
as providing a means to encode data and commands to be sent back to Microscape.
Testing for this module will consist of connecting with an actual Microscape
session and reviewing debugging data at both ends of the system to ensure
that all commands are responded to correctly.
This module is concerned with generating the data to be used as the
surface to be simulated by the software. This will consist of attempting
to load various previously scanned images as well as using a variety of
equations to generate surface data. The existing code provides a means
of writing this surface data out to a Topometrix file in order to check
that it is being properly represented in our model. This can be accomplished
by either checking the data in the file or loading it directly into Microscape
to ensure that it displays correctly.
Surface Scan and Timer:
The timer is a small module that is only concerned with ensuring that
data is transmitted to Microscape at the proper scan rate. Its testing
will consist mainly of checking debugging timers as well as what the user
sees at the graphics end. This timer will be used to make the scanning
module send data at the same rate as an actual microscope instead of just
dumping the surface to Microscape. Testing of the scan module will
consist mainly of visual inspection of the surface rendered.
This is the most difficult part of the project to ensure proper working
order. The only way to test it is to rely on the other modules and actually
do surface manipulation using a PHANToM device to attempt to manipulate
our data representation of the surface.