The following edits, questions, and checks should be considered for all numeric fields.
{mosgoogle left}
| Edit / Question | Example |
| Maximum Value & Minimum Value |
|
| Delta - Smallest increment used by system |
|
| Other Tests |
|
| Formats |
|
| Attributes |
|
| Zero |
|
| Spaces Before or After Entry |
|
| Alternative Formats |
|
| Error Message |
|
| Initialization |
|
| Reasonableness Checks | . |
| Entry Format |
|
| Match other formats |
|
| Display Issues |
|
| Will conversion take place? | . |
| Source of Value |
|
| Can value be computed? | . |
| Balancing instructions | Audit Issues |
| Encrypted storage | . |
| Is a check digit required? | Check digit computation |
| Validation |
|
| Does field have other use? |
|
| Naming Conventions | . |
| Compiler Requirements | . |
Note the edits that are performed by the programming language, tests that should be handled during unit testing, and checks that should be done via integration or system testing.
Other issues:
- Will boundaries and limits change over time?
- Are they influenced by something else?
- Will field accept operators? +, -, /, *, !, **, ^, %
- Will the value change format?
64 bit to 16 bit
Character to numeric
Display to packed
Display to scientific notation
Display to words - Will value move across platforms?
- Why is the field being treated as numeric?
- Will voice recognition be necessary?
{mosgoogle left}
Checklist: Additional Testing Concerns
- * Memory: availability, high, low, virtual, swapping, page size
- * Resource competition on the system
- * Processing: batch, on-line, multiple input sources
- * Conflicts: anti-viral software, automated test tools, TSR's, security software, IRQs
- * Backup: disaster recovery, backups, rerun capability
- * Connectivity: band width, interoperability, modem speed, ISDN lines, distributed applications
- * Security: passwords, fire walls
- * CD-Rom access and speed
- * File conversions
- * Design of client server architecture
- * Version Controls
- * Display issues: graphics, monitor size, graphic cards
- * Printer: type, speed, color, resolution, paper weight, paper size, envelopes, multiple printers
- * Platform: mainframe, minicomputer, microcomputer, number of platforms
- * Multiple operating systems
- * Transactions: size, quantity, rate
- * Error processing: message source, location, timing, acknowledgements
The following edits, questions, and checks should be considered for all date fields. Be aware that many programming languages combine date and time into one data type.
Edit / Question Example Required entry . Century display 1850, 1999, 2001 Implied century Display last two digits of year (96,02). All dates are assumed to be between 1950 and 2049. Date display format - mm-dd-yy (12/01/96)
- mm-dd-ccyy (12/01/1996)
- dd-mm-yy (01/12/96)
- dd-mm-ccyy (01/12/1996)
- dd-mmm-yy (01-Jan-96)
- dd-mmm-ccyy (01-Jan-1996)
- dd-mm (day and month only)
- Complete date (December 1, 1996)
- Date, abbreviated month (Dec 1, 1996)
- Day included in date (Monday, November 7, 1996)
- yymmdd (960105)
- ccyymmdd (20011231)
- No year, text month and day (May 30th)
- Financial calculator (12.0196)
- System format (provided through system)
Date separator - Slash (/), dash (-), Period (.), space
- Enter separator fields
- Move over separators
- Automatic skip over separators
Leading zeros in day field 01, 02, 09 (12/05/96 vs 12/5/96) Leading zeros in month field 01, 02, 09 (05/17/97 vs 5/17/97) Abbreviate month name Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec Can day numbers exceed actual? May 32, Feb 30 (Accounting systems may use for adjusting transactions.) Embedded spaces - No leading spaces
- No trailing spaces
- One space permitted after month and comma
Font attributes - Color
- Italics
- Bold
- Size
- Blink
- Intensity
Leap year computations Any year number evenly divisible by 4, but not by 100, unless it is also divisible by 400. - 1996 leap year
- 2000 leap year
- 2004 leap year
- 2100 not a leap year
Relational edits Compare hire date to birth date. Use financial calendars - 30/360
- 30 days per month, 360 days per year
- Actual/360
- actual days per month, 360 days per year
Entry mechanism - Display calendar
- (+/-) to change day number
- Function key / PF key
Default date - System date
- Last date entered
- Other date (order date, closing date, etc.)
Latest / earliest permissible date - Actual date
- Computed date
Authorization / Security required - Add
- Modify
- Delete
- View
Formats - Entry
- Storage (date, or relative day number)
- Display
Null date - 00/00/00 zeros
- bb/bb/bb spaces
Is the programming responsible for managing dates? . Are autofill features utilized? . Will the date field be used again elsewhere? . Is this a standard date entry routine that is already tested? . Are there other mechanisms to date stamp fields or records? . Is the position of the date important? - On screen
- In a report
Are other events triggered by this date? . Permissible dates - Holiday
- local, regional, national, international
- Weekend
- Specific day(s) of week
Is the Julian date required? . Sorting requirements - Normal
- Relative day number
- Unusual
- 9's compliment, yymmdd, ccyymmdd
Time zone issues . Is system voice enabled for date entry? . Is the date encrypted? Encryption technique Testing Must entry dates correspond to dates in the test bed? Risk factors What is the risk inherent in not entering the date correctly. Edit date - On entry
- When screen is complete
- When record is complete
- After other event
Are incomplete dates permissible? - 12/00/1996
- 12/??/1996
- 12/01/????
- 12/01/??
Font - Acceptable fonts
- Largest font size that will display properly
- Default font
Correction Can erroneous dates be automatically corrected? Error messages - Content
- Placement
- When displayed
- Can processing continue with bad date?
Note the edits that are performed by the programming language, tests that should be handled during unit testing, and checks that should be done via integration or system testing.
Other issues:
- Can invalid dates be passed to this routine? Should they be accepted?
- Is there a standard date entry routine in the library?
- Can new date formats be easily added and edited?
- What is the source of the date: input documents, calendar on the wall, or field on another document?
- Are there other mechanisms to change dates outside of this program?
- Is this a date and time field?
Checklist: Developing Windows Application
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 such as After Dark 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 Win 95, Win NT, and Windows 3.11 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 - Corrupted DLLs will sometime cause our applications not to execute or more damaging to run sporadically.
Missing DLLs - Missing DLLs will usually cause our applications not to execute.
Standard Program Look & Feel - The basic windows look & 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 GPFs.
Video Settings - Programmers tend to program at a 800 x 600 or higher resolution, when you run these programs at a default 640 x 480 it tends to overfill the screen. Make sure the application is designed for the resolution used by customers.
Clicking on Objects Multiple Times - Will you get multiple instances of the same object or window with multiple 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 OSs. 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.)

| < Prev | Next > |
|---|