Checklist: Developing Windows Applications
Modal Windows - Often times modal windows which must be acted upon end up hidden behind standard windows. This gives the user the impression that the system has locked up.
Special Characters - Special characters may not be used on some windows entry screens, there also may be some conflicts with converting data or using data from other systems.
Printer Configuration - Although Windows is designed to handle the printer setup for most applications, there are formatting differences between printers and printer types. LaserJet printers do not behave the same as inkjets, nor do 300, 600, or 1200 DPI laser printers behave the same across platforms.
Date Formats - The varying date formats sometimes cause troubles when they are being displayed in windows entry screens. This situation could occur when programs are designed to handle a YY/MM/DD format and the date format being used is YYYY/MMM/DD.
Screen Savers - Some screen savers are memory or resource ‘hogs’ and have been known to cause troubles when running other applications.
Speed Keys - Verify that there are no conflicting speed keys on the various screens. This is especially important on screens where the buttons change.
Virus Protection Software - Some virus protection software can be configured too strictly. This may cause applications to run slowly or incorrectly.
Disk Compression Tools - Some disk compression software may cause our applications to run slowly or incorrectly.
Multiple Open Windows - How does the system handle having multiple open windows, are there any resource errors.
Test Multiple Environments - Programs need to be tested under multiple configurations. The configurations seem to cause various results.
Test Multiple Operating Systems - Programs running under Vista, Windows XP, and older Windows versions do not behave the same in all environments.
Corrupted DLLs - Corrupted DLLs will sometime cause applications not to execute or more damaging to run sporadically.
Incorrect DLL Versions - Version changes within DLLs may cause your applications to crash.
Missing DLLs - Missing DLLs will usually cause our applications not to execute.
Standard Program Look & Feel - The basic windows look and feel should be consistent across all windows and the entire application. Windows buttons, windows and controls should follow the same standards for sizes.
Tab Order - When pressing the TAB key to change focus from object to object the procession should be logical.
Completion of Edits - The program should force the completion of edits for any screen before users have a change to exit program.
Saving Screen Sizes - Does the user have an opportunity to save the current screen sizes and position?
Operational Speed - Make sure that the system operates at a functional speed, databases, retrieval, and external references.
Testing Under Loaded Environments - Testing system functions when running various software programs "RESOURCE HOGS" (MS Word, MS Excel, WP, etc.).
Resource Monitors - Resource monitors help track Windows resources which when expended will cause GPF’s.
Video Settings - Programmers tend to program at a 800 x 600 or higher resolution. Make sure the application is designed for the resolution used by customers.
Clicking on Objects Multiple Times - End-users are sometimes "click-happy". Make sure your application can handle those unexpected extra clicks.
Saving Column Orders - Can the user save the orders of columns of the display windows?
Displaying Messages saying that the system is processing - When doing system processing do we display some information stating what the system is doing?
Clicking on Other Objects While the System is Processing - Is processing interrupted? Do unexpected events occur after processing finishes?
Large Fonts / Small Fonts - When switching between windows font sizes mixed results occur when designing in one mode and executing in another.
Maximizing / Minimizing all windows - Do the actual screen elements resize? Do we use all of the available screen space when the screen is maximized.
Setup Program - Does your setup program function correctly across multiple OS’s. Does the program prompt the user before overwriting existing files.
Consistency in Operation - Consistent behavior of the program in all screens and the overall application.
Multiple Copies of the same Window - Can the program handle multiple copies of the same window? Can all of these windows be edited concurrently?
Confirmation of Deletes - All deletes should require confirmations of the process before execution.
Selecting alternative language options - Will your program handle the use of other languages (FRENCH, SPANISH, ITALIAN, etc.)