Checklist: Date Entry
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 |
|
Date separator |
|
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 |
|
Font attributes |
|
Leap year computations | Any year number evenly divisible by 4, but not by 100,
unless it is also divisible by 400.
|
Relational edits | Compare hire date to birth date. |
Use financial calendars |
|
Entry mechanism |
|
Default date |
|
Latest / earliest permissible date |
|
Authorization / Security required |
|
Formats |
|
Null date |
|
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? |
|
Are other events triggered by this date? | |
Permissible dates |
|
Is the Julian date required? | |
Sorting requirements |
|
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 |
|
Are incomplete dates permissible? |
|
Font |
|
Correction | Can erroneous dates be automatically corrected? |
Error messages |
|
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?