
MET ONE YEAR 2000 (Y2K) PRODUCT EVALUATION PLAN
Table of Contents
1. INTRODUCTION
2. Met One Y2K COMPLIANCE DEFINITION
3. Met One Y2K POLICY STATEMENT
4. TEST PLAN 4
4.1 WHAT TO TEST AND WHICH TESTS APPLY? 4
4.2 TEST PROCEDURES 5
4.2.1 Critical Date Values: 5
4.2.2 External Tests: (Users point of
view) 5
4.2.3 Internal Tests: (Programmers
point of view) 8
4.2.4 Miscellaneous tests: 11
5. TEST PLAN COVERAGE CHECKLIST 11
6. Y2K TEST RESULTS DATA SHEET 12,13
This document contains the general information about year 2000 problem. What is the definition of year 2000 conformance? Year 2000 conformity means that neither performance nor functionality is compromised by dates prior to, during, and after the year 2000.
These problems can exist in any application at planning, execution, and control levels that use 2-digit year data structures. At 2000, the 2-digit structures may treat "00" as 1900 rather than 2000, causing incorrect calculations, system shutdowns, and / or malfunction.
The problem exists in software applications, operating systems, hardware, firmware, including programmable logic controllers (PLCs), various embedded computing systems, smart instruments with real-time clocks, robots, human machine interfaces to controls, and data historians for plant-floor processes. Systems such as materials management, execution, or maintenance application, automated tool cribs, and production process modeling tools also need to be assessed for year 2000 problem. Data acquisition and data-historian applications are date-aware and prone to year 2000 problems. Also, heavily automated systems often rely on local-area networks for dates and times, so network compliance may come into play.
2. Met One Y2K COMPLIANCE DEFINITION
Year 2000 conformity shall mean that neither performance nor functionality of Met One products is compromised by dates prior to, during and after the year 2000. Specifically:
1. No appropriate value for current date will cause any interruption in operation.
2. Date-based functionality must behave consistently for dates prior to, during, and after year 2000.
3. In all interfaces and data storage, the century in any date must be specified either explicitly or by unambiguous algorithms or inferencing rules.
3. Met One Y2K Software Policy Statement
Met Ones general software policy is to provide modern 32-bit software programs for computers running Microsoft Windows. Met One no longer upgrades or enhances 16-bit DOS-based programs. This includes programs that run on Windows 3.1 or Windows for Workgroups 3.1.1, which are both DOS-based operating systems. Much of our older software is DOS-based and there are no plans to correct any Year 2000 problems associated with these programs. For selected DOS-based programs it is anticipated that new software packages will be available by the year 2000, although we do not yet have a firm schedule on which packages are to be replaced. Some packages are already available. Replacement programs will be 32-bit Windows-based products and will run on Microsoft Windows 95, 98, or NT 4.0.
This section contains information about Year 2000 testing. This section is divided into two subsections. First subsection explains the "WHAT TO TEST AND WHICH TESTS APPLY" and second subsection describes the "TEST PROCEDURES". The Section 5.0 "Test Plan Coverage Checklist" provides a comprehensive list of questions that can be used to review a test plan for completeness.
To determine the requirement for testing each application, the following factors are considered:
Does the system have a real time/virtual/system clock?
Does the system display a date?
Does the system print a date?
Does the system store date information?
Does the application connect and pass date information to other systems?
Does the application run on an operating system that is not Year 2000 compliant?
Does the application use a package that is not Year 2000 compliant?
Does the application use a tool that is not Year 2000 compliant?
Does the application use the date for scheduling or time stamps?
4.1 WHAT TO TEST AND WHICH TESTS APPLY?
The devices that are part of the system and share date information or devices that use date information for products used in the manufacturing process (encoded date information) will be considered for testing.
Any product or system that prints dates (on screens or reports) will be checked for valid display and consistency of display.
A product or system which stamps records with the current date and/or time, a test will be devised to check that the record date/time information is written and interpreted correctly.
Any product or system that is required to respond in real-time to a time-based event (e.g., an alarm), will have tests devised to simulate time-based events.
All products test results will be recorded on a "Y2K Test Results" worksheet. (Included at the end of this document.) These worksheets will be a formal record of all tests performed and will be kept on file in the Met One Quality Department.
The following test procedures are intended to provide a baseline for Year 2000 testing to ensure consistent and repeatable results. These tests apply to computer hardware, operating systems and associated software application products. The tester will review these tests and determine which apply to the specific component or system under evaluation.
A brief description of each test is provided for conducting tests on products with unknown status.
The following critical date values are chosen to test the functionality of the system for Rollover, Reboot and Leap Year tests. These dates and control sequences will be used to verify proper operation of the Unit Under Test (UUT):
1. 12-31-1998 Rollover, Reboot
2. 01-01-1999 Reboot
3. 12-31-1999 Rollover, Reboot
4. 01-01-2000 Reboot
5. 02-28-2000 Leap Year Rollover, Reboot
6. 02-29-2000 Leap Year Rollover, Reboot
7. 03-01-2000 Reboot
8. 12-31-2000 Rollover, Reboot
9. 01-01-2001 Reboot
10. 02-28-2001 Leap Year Rollover, Reboot
11. 03-01-2001 Reboot
12. 02-28-2004 Leap Year Rollover, Reboot
13. 02-29-2004 Leap Year Rollover, Reboot
14. 03-01-2004 Reboot
The following test procedures provide step by step instructions for performing each test.
4.2.2 External Tests: (Users point of view)
Discussion: The following 4 tests (A to D) address Y2K issues and concerns from a users point of view. These tests can be performed externally without changing the software. Users can easily perform the following tests by setting different date & time values.
Procedure:
1. Date Set
Manually set the date to 1 Jan 2000 & time to 00:01:00 and verify through observed recall.
2. Date retention
With the date still in the year 2000, power down the system. After approx. 1 minute, power up the system and verify the proper date & time has been retained.
3. Date Set
Manually set the date to 29 Feb 2000 & time to 00:01:00 and verify through observed recall.
4. Battery Removed Tests
Run only if system has a secondary power source for time keeping. This date set test must include removing both battery power and external power to completely initialize the system clock.
Manually set the date to 1 Jan 2000 & time to 00:01:00 and verify through observed recall. Now, remove the battery and give enough time (5 minutes) for the battery backed up circuits to discharge (e.g., 47uF capacitor charged to 5V needs at least 30 seconds to discharge with a 10uA load.). After discharge, verify the date & time did not properly advance during the discharge period. Reinstalled the battery and power up the system. Manually set the date to 1 Jan 2000 & time to 00:01:00 and verify through observed recall. Cycle power off for 5 minutes and verify the date 1 Jan 2000 & time was retained and properly advanced.
Exercise caution to document all system configurations when attempting this test because the configuration may be lost upon removal of the battery.
Procedure:
1. Rollover - 1999 to 2000 - Power on
Set the date to 31 Dec 1999 & time to 23:59:00 (11:59 p.m.) and, observe the system date & time after 00:00:00 a.m.
2. Rollover - 1999 to 2000 - Power off
Set the date to 31 Dec 1999 & time to 23:59:00 (11:59 p.m.) and, powe down the system before it can roll over to year 2000. Wait until after 00:00:00 a.m. with the power off. Then, power up the system and, observe the system date & time.
Discussion: The reboot test checks for correct date & time storage during power cycles of the system.
Procedure:
3. Reboot - Date retention
Set the date to 1 Jan 2000 & time to 00:01:00. Then, power down the system. Again, power up the system and, observe the system date & time.
If the year is divisible by four, it is a leap year;
If the year ends in 00, it is not a leap year;
If the year is divisible by 400, then it is a leap year;
If the year is 3600, it is not a leap year.
Procedure:
1. Leap Year - Rollover 2/28 - Power On
Set the date to Monday 28 Feb 2000 & time to 23:59:00 (11:59 p.m.) and, observe the system date after 00:00:00 a.m. (The date should be Tuesday 29 Feb. 2000)
2. Leap Year - Rollover 2/28 - Power Off
Set the date to Monday 28 Feb 2000 & time to 23:59:00 (11:59 p.m.) and, power down the system before it can roll over to 29 Feb. 2000.
Wait until after 00:00:00 a.m. with the power off. Then, power up the system and, observe the system date.
3. Leap Year - Reboot 2/29
Set the date to 29 Feb. 2000 & time to 00:01:00. Then, power down the system. After approx.1 minute, power up the system and, observe the system date. (The date should be Tuesday 29 Feb. 2000)
4. Leap Year - Rollover 2/29 - Power On
Set date to Tuesday 29 Feb. 2000 & time to 23:59:00 (11:59 p.m.) and, observe the system date after 00:00:00 a.m. (The date should be Wednesday 1 March 2000)
5. Leap Year - Rollover 2/29 - Power Off
Set the date to Tuesday 29 Feb 2000 & time to 23:59:00 (11:59 p.m.) and, power down the system before it can roll over to 01 Mar. 2000.
Wait until after 00:00:00 a.m. with the power off. Then, power up the system and, observe the system date.
6. Other Tests - Applying same test procedure above, verify that Year 2001 is not a leap year and Year 2004 is a leap year.
Discussion: The input data test applies to systems that read date information from labels or
other control systems (e.g., keyboard, bar code scanner, remote host, etc.).
Procedure:
1. Set the date of the UUT date by using standard input (Keypad) to January 1, 1999 & time to 00:01:00.
systems with a date 01-01-2001 (or 01-01-01) as required.
3. Verify that the system correctly reads the input date.
Discussion: The output data test applies to systems that write date information to labels or other control systems. (e.g., display, print on the screen, plotter, etc.)
Procedure:
1. Set the date of the UUT date to January 1, 2001 & time to 00:01:00.
2. Output the date & time information. Verify that the UUT correctly outputs the date & time and the application accepts/displays the date & time correctly.
3. Record for results for all applicable output channels.
Discussion: The following 7 tests (E to K) address Y2K issues and concerns from a software engineering point of view. In the existing software, the following tests will be performed by a programmer as required.
Discussion: This test applies for input values 00-99 to determine which century is assumed. Windowing date systems assume the first 2-digits of a 4-digit year to be 20 for values below a switch value and 19 for values above or equal to switch value. e.g., A switch value of 50 provides for a range of 1950 to 2049. If the
2-digit year is equal to or greater than 50, the year is assumed to be 19xx and if the 2-digit year is less than 50 the year is assumed to be 20xx. i.e. 84 is greater than the
switch value, so the year is 1984 and 34 is less than the switch value, so the year is 2034. When two integrated systems share date information in this format be sure to test the interface at the boundary conditions. Systems using date windowing should consider testing:
Procedure:
1. Date Window Test - Below Limit
Determine the switch value.
Change the current date to one year below the switch value.
Observe a 4-digit date. (The date assumes 20xx.)
2. Date Window Test - Above Limit
Change the current date to one year above or equal to the switch value.
Observe a 4-digit date. (The date assumes 19xx.)
3. Date Window Test - Change Limit
Change the configurable switch value to 2004.
Observe the configured switch value.(Limit has been changed to 2004)
4. Repeat the above and below limit tests to confirm the limit has changed. Record the switch value and conditions.
Procedure:
1. Days in 2000. Create a period calculation using 1-Jan-2000 as the start date and 31-Dec-2000 as the end date. (The year 2000 has 366 days and checks that 1-Jan-2001 will be Monday)
2. Days across 1999/2000 Boundary
Create a period calculation using 1-Dec-1999 as the begin date and 31-Jan- 2000 as the end date. (The period has 61 days.)
3. Days across leap year
Create a period calculation using 1-Feb-2000 as the begin date and 1-Mar- 2000 as the end date. (The month of February has 29 days.)
4. Other Tests: Applying same test procedure above, verify that in year 2001, February has 28 days and in year 2004 February has 29 days.
5. Identify and record the locations within the UUTs software where this test exercised.
e.g., Sorting and merging, Searching, Indexing on disk file or database table, Moving data within primary memory.
Identify and record the locations within the UUTs software where this test exercised & also record the results.
Procedure:
1. Set the date of the UUT prior to 2000.
Set a timer to wake up, alarm, or trigger at 10:01 AM, January 3, 2000.
2. Set the date of the UUT to January 2, 2000.
Create new timer to wake up, alarm, or trigger at 10:02 AM, January 3, 2000.
3. Set the date of the UUT to January 3, 2000. Set the time to 10:00 AM.
Wait for the alarms to trigger. It verifies that the alarm or timer created before and after 2000 operates correctly.
Procedure:
1. Test the delay routine in software for checking year 2000 compliance. Verify that it works correctly.
2. Identify and record the locations within the UUTs software or in subroutines where this test exercised & also record the results.
2000 and observing every screen that the controller contains. The reason for this test is that the different software may be written by different persons.
Procedure:
Create a list of all the date fields on all the display screens.
Set the date of the system under test to a date beyond January 1, 2000.
Create new files or fault records.
Attempt to display all date fields on all display screens for file dates or fault time stamps. Verify that each date field display correctly.
Discussion: These tests apply to systems that use date information in indirect manner. The following list is intended to stimulate questions about a system that could use the date in functions that do not require date information, but may have been implemented using a date function.
Procedure:
Identify functions that use the date indirectly and verify correct operation for the year 2000. e.g., encryption and decryption algorithms, random number generators, and communication protocols.
Discussion: The following 2 procedures address the need to re-evaluate the adequacy
of the previous tests based on acquired software that manipulates data and/or makes decisions based on date and time I/O.
Discussion: Tests should be done to verify the Year 2000 compliance of the programming language library (e.g. C, Motorola 68000 family).
Procedure:
Identify and record the locations within the UUTs software where this test exercised & also record the results.
M. Purchased routines:
Discussion: All the purchased routines should be checked to see if they directly or indirectly have or use date and/or time I/O. If there is no way of evaluating the
routine in question, contact the manufacturer for information.
Procedure:
Identify and record the locations within the UUTs software where this test is exercised.
5.0 TEST PLAN COVERAGE CHECKLIST
Discussion: Questions about Met One Y2K product evaluation. The following list of questions was addressed when developing this test plan for validating a products state of Y2K compliance.
6.0 Y2K TEST RESULTS DATA SHEET (Following 3 pages)
Product(s): ________________________________________________________________
Software Version: __________________________________________________________
Hardware Assembly: PCB _________________ Rev. ___
Support Equipment: ________________________________________________________
Blackbox Testing Protocol & Results: (Pass o Fail)
A.) Manual Date Set Test (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ___________________________________________________________
1. Date set, ____ for 1 JAN 2000 @ 12:01 AM
2. Date retention, ____ after 1 minute power off
3. Date set, ____ for 29 FEB 2000 @ 12:01 AM
4 Battery removed, ____ for 1 JAN 2000 @ 12:01 AM set, changed, reset & retained.
B.) Rollover, Reboot Tests (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ___________________________________________________________
1. Power-on rollover, ____ from 12/31/99 to 1/01/00
2. Power-off rollover, ____ from 12/31/99 to 1/01/00
3. Reboot retention, ____ for 1/01/00 at 12:01 AM
C.) Leap Year Tests (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ___________________________________________________________
1. Leap year rollover with power, ____ from 2/28/00 to 2/29/00
2. Leap year rollover without power, ____ from 2/28/00 to 2/29/00
3. Leap year with reboot, ____ for 02/29/00 at 12:01AM
4. Leap year rollover with power, ____ from 2/29/00 to 3/01/00
5. Leap year rollover without power, ____ from 2/29/00 to 3/01/00
6a. Leap year rollover with power, ____ from 2/28/01 to 3/01/01
6b. Leap year rollover without power, ____ from 2/28/01 to 3/01/01
6c. Leap year with reboot, N/A, 02/29/01 entry changed to 3/01/00
6d. Leap year rollover with power, N/A, 2/29/01 entry changed to 3/01/01
6e. Leap year rollover without power, N/A, 2/29/01 entry changed to 3/01/01
6f. Leap year rollover with power, ____ from 2/28/04 to 2/29/04
6g. Leap year rollover without power, ____ from 2/28/04 to 2/29/04
6h Leap year with reboot, ____ for 02/29/04 at 12:01AM
6i. Leap year rollover with power, ____ from 2/29/04 to 3/01/04
6j. Leap year rollover without power, ____ from 2/29/04 to 3/01/04
D.) Input / Output Data Tests (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ___________________________________________________________
1a. Serial I/O set date & time, ____ 1/01/01 returned to 01 JAN01
1b. Serial I/O read date & time, ____ 1/01/01 returned to 01 JAN01
2a. Printer output (error timestamp), ____ 1/01/01 returned to 01 JAN 01
2b. Printer output (long form), ____ 01/01/01 returned to 01 JAN 01
3a. Serial output (text format), ____ 01/01/01 returned to 01 JAN 01
3b. Serial output (database format), ____ 01/01/01 returned to 01 JAN 01
4. LCD for logged timestamp, ____ 01/01/01 returned to 01 JAN 01
Glassbox Testing Protocol & Results:
E.) Date Window Tests (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ___________________________________________________________
1. Determine the Switch Value, _______
2. Date Window test for one year below the switch value, _____for the date 20__.
3. Date Window test for one year above or equal to the switch value, _____for the date 19__.
4. Date window test for changing the switch value, ______
5. Applying same tests above, ____ for below, above, or equal to the switch value.
F.) Date Calculation Tests (tested by _________ on __ / __ /98 - o Pass o Fail) Comments: ____________________________________________________________
1. Days in 2000, Calculation using 01 Jan, 2000 as the start date and 31 Dec, 2000 as the end date, _____ for the year 2000 has 366 days and 01 Jan, 2000 will be Monday.
2. Days across 1999/2000 boundary, Calculation using 01 Dec, 1999 as the start date and 31 Jan, 2000 as the end date, _____ for the period has 61 days.
3. Days across leap year, Calculation using 01 Feb, 2000 as the start date and 01 Mar, 2000 as the end date, _____ for the month of February has 29 days.
4. Other tests, applying same steps above, _____ for 2001 February has 28 days and _____ for 2004 February has 29 days.
5. Locations within the UUTs software are ________________________________
G.) Data Storage Test (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. The data storing and retrieving from memory or any storage place are ____ for year 2000 compliant.
2. Locations within the UUTs software are ________________________________
H.) Timer Test (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. Date of the UUT prior to 2000, _____ for timer to wake up, alarm, or trigger at 10:01 AM, January 3, 2000.
2. Date of the UUT to Jan 2, 2000, _____ for the creation of new timer to wake up, alarm, or trigger at 10:02 AM, January 3, 2000.
I.) Delay Test (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. Delay routine in software, _____ for checking year 2000 compliance.
2. Locations within the UUTs software are ________________________________
J.) Display Data Tests (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. Date beyond January 1, 2000, _____ for display correct date in each date field.
K.) Indirect Date Usage Tests (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. In functions that use date indirectly, ____ for correct operation for the year 2000.
Miscellaneous Testing & Results: (Pass o Fail)
L.) Language Library Test (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. _____ Programming language library, ____ for year 2000 compliance.
2. Locations within the UUTs software are ________________________________
M.) Purchased routines Test (tested by _________ on __ / __ /98 - o Pass o Fail)
Comments: ____________________________________________________________
1. All the purchase routines are _____ for year 2000 compliance.
2. Locations within the UUTs software are ________________________________