Program testing is a painstaking procedure but an essential part of the total quality assurance process. Before trialling and again before mastering, software should be desk-tested, checked with test data and tested for how modules integrate together. functional testing. Debugging is a continual cyclical process and happens in tandem with the production process but towards the end of the production process, after all the assets are integrated into the program, a sufficient period, two-weeks, say, is required to test the program for bugs. This entails going through the program systematically and along as many routes and through as many permutations as time allows. Functionally testing the program at this stage is called alpha testing. The following guidelines should be observed.
- Devise clear testing procedures.
- Study the effectiveness of design prototypes and acknowledge weaknesses.
- Allow sufficient time to incorporate additions and changes resulting from end-user testing.
- Devise clear bug-reporting procedures and recheck corrected bugs systematically. Such rechecking is called "regression testing".
- If there is a chance, or you intend, that a package will be used on a variety of machines, then perform testing on as many different hardware and operating system configurations as possible. Different machines operate at different speeds and this may upset things, especially if the program engine has to synchronise the simultaneous playback of diverse dynamic elements (such as sound and motion video). This is called configuration testing.
- In some operating environments programs may clash with preloaded initialisation or control devices. Test as many typical configurations as possible.
- Test and pilot packages variously. Let others supervise these tests and pilotings for their unbiased assessments.
- Programmers need to check images and sounds as early as possible by incorporating them into their programs. They will be looking for how the images display on their target monitors or TV screens, in case there are problems with colour, single-horizontal-straight-line interference, readability or hot-spot areas -- problems that will require revision by graphics. Images should already have been spot-checked for accuracy by the file transfer manager, but he/she will be looking at only a few from any batch to check for general problems. If there are problems with images, a list of them problems should be made, with any suggestions as to solutions, date the list and then give it to the artistic director. The project manager should be advised about any problems that look as though they could have budget or deadline implications. This is called unit testing.
- Programmers will also be testing how assets or other units integrate with each other.
- Expect the unexpected. There are no stupid users, just weak designs.
Check graphic objects for
Test screen text for
Test sound for
- stylistic consistency (in capitalisation and punctuation, say)
- content accuracy.
Test movies for
- background noise.
Test hot spots for
- frame drop-out (whether motion playback was solid or not)
- audio-visual synchronisation.
Random testing should include
- programmed visual feedback
- programmed aural feedback
- general functionality.
- clicking anywhere on the screen to test for unanticipated actions
- double-clicking as opposed to single-clicking
- clicking outside the programs window to suspend it and then resuming.
In addition, the program was tested by
- reducing the program's memory partition
- running on all anticipated hardware configurations
- changing the monitor's resolution to see how colours display at lower resolution.
Apple Computer, Inc., (1994), Multimedia Demystified.
Kendall, K. and Kendall, J. (1992), Systems Analysis and Design, New Jersey, USA, 2nd edn.
Nebenzahl, L. (1993), "Evaluating Interface Design Through User Data Collection", pp.198 - 203 in Lees, D. (ed.), Museums and Interactive Multimedia. Proceedings of the Sixth International Conference of the MDA and The Second Internationsal Conference on Hypermedia and Interactivity in Museums (ICHIM '93).