Table 15-3 Example Navigation Design Checklist
|Action Result||Navigation Checked|
|File : New||Entry fields reinitialized for new input|
|File : Open||Windows Open dialog box displayed|
|File : Delete||Customer details deleted after confirmation|
|File : Print||Windows Print dialog box displayed|
|File : Exit||Application terminated|
|View : Customer Orders||Customer Orders screen displayed|
|Options : Toolbar||Toolbar display toggled|
|Help : Contents||Application Help file contents displayed|
|Help : Search||Application Help file search displayed|
|Help : Using Help||Windows Help file displayed|
|Help : About||Application About box displayed|
Having now tested that an individual window (or group of windows) is designed correctly, contains all the functions it should, contains the required methods for initiating those functions, and can navigate via those functions to all the places it has to go, you can now proceed to the "real" testing of the system. Functional testing ensures that the nuts and bolts functions of the system are actually tested. For example, when you initiate the Save function for a document (regardless of how you do it: via the mouse, the keyboard mnemonic keys, or a keyboard accelerator key), does the document get saved to disk correctly? The list of such tests will be a smaller list once the window design and navigational aspects of initiating a function are separated out. This part of the testing is probably the one that equates most closely (although perhaps not definitively) with the old concept of unit testing.
You would have one of each of these checklists per window in the application. Remember also that automated testing tools can be very useful for testing Visual Basic applications.
You should investigate many other forms of testing, among them these:
- Regression test at check-in
- Automated testing
- Usability testing
- Lots of pure pounding
Also, remember that bug tracking and the collection of metrics are both very important. A properly thought-out test strategy is vital for any Visual Basic 6 enterprise development. Shorten this phase at your peril!