Y2K GLOSSARY WG2-0000 Last update 1998-03-27 (This document is a work in progress) http://www.cinderella.co.za/glossa.txt This glossary defines data processing and communication terms relevant to the Year 2000 problem. Sources: where known Key Document AH The American Heritage Dictionary of the English Language, Third Edition , Houghton Mifflin Company. CJ Capers Jones, Chairman, Software Productivity Research, Inc. FW The World Almanac and Book of Facts 1995, Funk & Wagnalls Corporation. IBM International Business Machines, September 1997, GC28-1251-07,"THE YEAR 2000 AND 2-DIGIT DATES: A GUIDE FOR PLANNING AND IMPLEMENTATION" IEEE IEEE P2000.1/D3.4 Draft Standard for Year 2000 Terminology PC The People's Chronology, Henry Holt and Company, Inc. W Websters Dictionary BCS British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Glossary of Testing Terms Version 6.2. +----------+ | NUMERICS | +----------+ 2-DIGIT-YEAR FORMAT. A format that provides a year date as two digits only to represent a year within a specific century. The two high-order digits of the year are truncated; for example "1995" is represented as "95". (IBM) 4-DIGIT-YEAR FORMAT. A format that provides a year date as four digits: the two high-order digits represent the century and the two low-order digits represent the year within the century. For example, "1995" represents the year 1995; "2095" represents the year "2095". (IBM) 20TH CENTURY. The period of time 0000.00 hrs 1901-January-1 through 2400.00 hrs 2000-December-31. (IBM) 21ST CENTURY. The period of time 0000.00 hrs 2001-January-1 through 2400.00 hrs 2100-December-31. (IBM) 24-HOUR TIME Twenty-four-hour time is widely used in scientific work throughout the world. In the U.S. it is used also in operations of the Armed Forces. In Europe it is frequently used by the transportation networks in preference to the 12-hour am and pm system. With the 24-hour system, the day begins at midnight and is designated 0000 through 2359. (FW) +---+ | A | +---+ ACCEPTANCE TESTING Formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. (IEEE 729-1983) Formal testing conducted to enable a user, customer, or other authorized entity to determine whether to accept a system or component. [IEEE] ACTUAL OUTCOME The behaviour actually produced when the object is tested under specified conditions.(BCS) AD HOC TESTING Testing carried out using no recognised test case design technique.(BCS) ALPHA TESTING Simulated or actual operational testing at an in-house site not otherwise involved with the software developers. (BCS) APPLICATION AREA The grouping of applications / systems that support a specific business area. Typically accountable to a senior executive. APPLICATION See System. In a more specific sense, the use of a system, that may have more fucntionality than is required, to a specific business or technical objective. Applications exist to solve business or technical objectives. ARC TESTING See branch testing.(BCS) +---+ | B | +---+ BACKUS-NAUR FORM A metalanguage used to formally describe the syntax of a language. See BS 6154. (BCS) BASIC BLOCK A sequence of one or more consecutive, executable statements containing no branches.(BCS) BASIC INPUT OUTPUT SYSTEM (BIOS) The BIOS is a nonvolatile (read only) memory chip containing the program code specific to the manufacturer which (inter alia): 1) Provides a manual "SETUP" facility (usually by pressing DEL after boot) to update CMOS date and time and other hardware configuration parameters. 2) to provide standard "hooks" or vectors for the OS Interrupt routines. BASIS TEST SET A set of test cases derived from the code logic which ensure that 100% branch coverage is achieved.(BCS) BEBUGGING See error seeding. [Abbott] BEHAVIOUR The combination of input values and preconditions and the required response for a function of a system. The full specifFication of a function would normally comprise one or more behaviours. (BCS) BETA TESTING Operational testing at a site not otherwise involved with the software developers.(BCS) BIG-BANG TESTING Integration testing where no incremental testing takes place prior to all the system's components being combined to form the system.(BCS) BIOS See also BASIC INPUT OUTPUT SYSTEM See also FLASH BIOS organic life; constituent of yeast, causing its growth. (W) BIOS/CMOS COMBO See BIOS/CMOS/RTC COMBO BIOS/CMOS/RTC COMBO Several separate components working in collaboration. There are four separate components. RTC, CMOS, BIOS and a main memory area containing the SYSTEM DATE (also called DOS DATE) BIOS DAUGHTER BOARD Also called a MILLENNIUM CARD. A plug-in card containing revised or updated BIOS and RTC chips. These bypass the standard motherboard components at boot time. BLACK BOX TESTING (See FUNCTIONAL TEST CASE DESIGN) Test case selection that is based on an analysis of the specification of the component without reference to its internal workings.(BCS) BOTTOM-UP TESTING An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.(BCS) BOUNDARY VALUE An input value or output value which is on the boundary between equivalence classes, or an incremental distance either side of the boundary.(BCS) BOUNDARY VALUE ANALYSIS A test case design technique for a component in which test cases are designed which include representatives of boundary values.(BCS) BOUNDARY VALUE COVERAGE The percentage of boundary values of the component's equivalence classes which have been exercised by a test case suite.(BCS) BOUNDARY VALUE TESTING See boundary value analysis. BRANCH A conditional transfer of control from any statement to any other statement in a component, or an unconditional transfer of control from any statement to any other statement in the component except the next statement, or when a component has more than one entry point, a transfer of control to an entry point of the component.(BCS) BRANCH CONDITION See decision condition. BRANCH CONDITION COMBINATION COVERAGE The percentage of combinations of all branch condition outcomes in every decision that have been exercised by a test case suite.(BCS) BRANCH CONDITION COMBINATION TESTING A test case design technique in which test cases are designed to execute combinations of branch condition outcomes.(BCS) BRANCH CONDITION COVERAGE The percentage of branch condition outcomes in every decision that have been exercised by a test case suite.(BCS) BRANCH CONDITION TESTING A test case design technique in which test cases are designed to execute branch condition outcomes.(BCS) BRANCH COVERAGE The percentage of branches that have been exercised by a test case suite(BCS) BRANCH OUTCOME See decision outcome. BRANCH POINT See decision. BRANCH TESTING A test case design technique for a component in which test cases are designed to execute branch outcomes.(BCS) BRIDGE This is a conversion mechanism that changes data elements to reconcile format differences between system elements. Date-related bridges format dates in such a way that they can be accepted and acted upon properly. For example, a bridge might be a program that is invoked to change a two-digit date field in a sending application to a four-digit date field in a receiving application when date data is transferred between the two system elements. (IEEE) BRIDGING This is a hybrid method used for data-base applications where the software itself is converted from two-digit to four-digit form, but the underlying data base is not due to the excessive difficulties associated with data base date field expansion. A fixed or sliding window or encapsulation are used with the data base itself. Here too, a performance penalty is exacted. (CJ) BUG See fault. is often used to refer to a problem or fault in a computer. There are software bugs and hardware bugs. The term originated in the United States, at the time when computers were built out of valves, when a series of previously inexplicable faults were eventually traced to moths flying about inside the computer.[Gerrard] BUG SEEDING See error seeding. +---+ | C | +---+ C-USE See computation data use. CALENDAR Calendars based on the movements of the sun and moon have been used since ancient times, but none has been perfect. (see JULIAN CALENDAR, GREGORIAN CALENDAR) (PC) CAPTURE/PLAYBACK TOOL A test tool that records test input as it is sent to the software under test. The input cases stored can then be used to reproduce the test at a later time.(BCS) CAPTURE/REPLAY TOOL See capture/playback tool. CAST Acronym for computer-aided software testing. CAUSE-EFFECT GRAPH A graphical representation of inputs or stimuli (causes) with their associated outputs (effects), which can be used to design test cases.(BCS) CAUSE-EFFECT GRAPHING A test case design technique in which test cases are designed by consideration of cause-effect graphs.(BCS) CERTIFICATION The process of confirming that a system or component complies with its specified requirements and is acceptable for operational use. From [IEEE]. CCYY FORMAT. A 4-digit-year format that uses two century digits (CC) to indicate the century and two year digits (YY) to indicate the year within the century. The CC representation is provided as either the actual century digits (for example, 18, 19, or 20) or as an encoded value (for example, as 00 to represent 19, 01 to represent 20 as in, "0095" represents the year "1995" and "0195" represents the year "2095".) (IBM) CHOW'S COVERAGE METRICS See N-switch coverage. [Chow] CERTIFICATION The act of providing written testimony of qualification of a process or product. Process certification does not necessarily mean product certification. (IEEE) CENTURY. noun plural centuries 1. Abbr. C., c., cen., cent. a. A period of 100 years. b. Each of the successive periods of 100 years before or since the advent of the Christian era. 2. a. A unit of the Roman army originally consisting of 100 men. b. One of the 193 electoral divisions of the Roman people. 3. A group of 100 things. [Latin centuria, a group of a hundred, from centum, hundred.] (AH) Although IBM recognizes that the 21st century begins at 0000 hrs, 2001-January-01, for purposes of this document, we are defining the 20th--21st century boundary to be between 2400 hrs, 1999-December-31 and 0000 hrs, 2000-January-1. This allows a discussion of the 21st century to include all dates with a 20yy format inclusive of the year 2000. Hence, the year 2100 is likewise relegated to the 22nd century. (IBM) CENTURY BYTE. The high order byte of a field used to contain the two high order digits of a 4-digit year. (For example, 19 in 1995, 20 in 2000 and 2001). (IBM) CHANGE CONTROL The process of managing and controlling changes to CI's and the effect of these changes on a project. CMOS abbreviation for complementary metal-oxide semiconductor family of integrated circuits (chips) widely used in building electronic systems. (W) CMOS MEMORY or NON VOLATILE MEMORY Occurs on PC AT and higher. CMOS is battery backed memory to store startup information during a poweroff. Updated by the RTC every complete second. Nonvolatile. Only Accurate to approximately one complete second. The CMOS contains the low order year digits and the high order digits (albeit at different locations). The generic Y2k problem is where the high order digits at CMOS location x'32' are not maintained. e.g. NT 4 The Y2k Tickover problem occurs where x'32' is not changed from "19" to "20" by the BIOS. In theory, the hardware is capable of operating in the range 0000-01-01 thru 9999-12-31. But the Operating system interferes and imposes restrictions. Some important fields in CMOS NONVOLATILE MEMORY: CMOS Contents x'00' Seconds x'02' Minutes x'04' Hours x'06' Day of week x'07' Day e.g. 30 x'08' Month e.g. 01 x'09' Year (lower order digits) e.g. 98 x'32' Year (high order digits) e.g. 19 CODE COVERAGE An analysis method that determines which parts of the software have been executed (covered) by the test case suite and which parts have not been executed and therefore may require additional attention.(BCS) CODE-BASED TESTING Designing tests based on objectives derived from the implementation (e.g., tests that execute specific control flow paths or use specific data items).(BCS) COMPLEMENTARY METAL-OXIDE SEMICONDUCTOR (CMOS) in electronics, a particular way of manufacturing integrated circuits (chips). The main advantage of CMOS chips is their low power requirement and heat dissipation, which enables them to be used in electronic watches and portable microcomputers. However, CMOS circuits are expensive to manufacture and have lower operating speeds than have circuits of the transistor-transistor logic (TTL) family. (W) COMPLIANCE CONFIGURATION ITEM (Y2000) (CCI) Anything that is affected (e.g. investigated, fixed, retired, tested) by a Y2000 project. CCI's can be composite (enterprise, business unit, department, application, system, function, suite, module, routine, line of code). CCI's can be of many types (hardware, software, utility, package, custome developed application, etc.). COMPATIBILITY TESTING Testing whether the system is compatible with other systems with which it should communicate.(BCS) COMPRESSION It is obviously possible to use some form of encoding within the allotted two digit date space to represent any conceivable date. By using a binary or hexadecimal representation rather than a decimal representation, the available two digits date field can handle dates over almost any period. However, this method would require knowledge of the specific compression technique used by all applications accessing the data. There will also be performance reductions, but not as severe as windowing. (CJ) CONFIGURATION MANAGEMENT The process of identifying and documenting the functional and physical characteristics of a CI; controlling the change and release of CI's; recording and reporting the status of CI's and verifying the completeness and correctness of CI's. CONFIGURATION ITEM (CI) Anything that is being developed or maintained. A CI can be composite. Each CI is unambiguously distinguished from others by its Identifier (name, type, version); Original Developer; Creation Date; Change History (version, date, developer, desfription). CONFIG ITEM SCOPE CODE - JONES (CSJ) 0 - Line of Code (added ejr) 1 - Subroutine 2 - Reusable module or macro 3 - Module or subelement of program 4 - Disposable prototype 5 - Evolutionary prototype 6 - Complete stand-alone program 7 - Component of a system 8 - Release of system 9 - New system 10 - Compound system CONFIG ITEM CLASS CODE - JONES (CCJ) 1 - Individual software 2 - Shareware 3 - Academic software 4 - Single location - internal 5 - Multi location - internal 6 - Contract project - civilian 7 - Time sharing 8 - Military services 9 - Internet 10 - Leased software 11 - Bundled software 12 - Marketed commercially 13 - Outsource contract 14 - Government contract 15 - Military contract CONFIG ITEM TYPE CODE - JONES (CTJ) 1 - Nonprocedural (generated, spreadsheet, query, etc.) 2 - Web applet 3 - Batch application 4 - Interactive application 5 - Interactive GUI 6 - Batch database app 7 - Interactive database app 8 - Client-server 9 - Scientific / mathematical app 10 - Systems / support app 11 - Comms / telecomms app 12 - Process control app 13 - Trusted system 14 - Embedded / real-time app 15 - Image-processing app 16 - Multimedia app 17 - Robotics / mechanical automation app 18 - Artificial intelligence app 19 - Neural net 20 - Hybrid COSMETIC Referring to a 2-digit-year date that is viewed by human eyes only, such as a print date on hardcopy output or a date on a selection panel. Because it is neither read nor further processed by a program you might be able to exclude its modification from your Year2000 work effort. (IBM) COMPATIBILITY TESTING Testing whether the system is compatible with other systems with which it should communicate.(BCS) COMPLETE PATH TESTING See exhaustive testing. COMPONENT A minimal software item for which a separate specification is available.(BCS) COMPONENT TESTING The testing of individual software components. After [IEEE]. COMPUTATION DATA USE A data use not in a condition. Also called C-use. CONDITION A Boolean expression containing no Boolean operators. For instance, Aprograms->sub-systems, IT in the large for system-system testing).[Gerrard] An orderly progression of testing in which software elements, hardware elements, or both are combined and tested until the entire system has been integrated. (IEEE 729-1983) INTEGER DATE. A count of days since a specified date. Various IBM software products have defined integer dates as follows: LANGUAGE/PRODUCT DAYS SINCE C 1969-Dec-31 COBOL 1600-Dec-31 LANGUAGE ENVIRONMENT 1582-Oct-14 MVS/CICS/DB2 1899-Dec-31 (IBM) INTERFACE TESTING Integration testing where the interfaces between system components are tested.(BCS) INTERNAL SIDE. The creator or manipulator of a data entity. Used in this document to mean a module or routine that externalizes a 2- or 4-digit-year format entity to another module or routine. (IBM) INTERNAL SYSTEM DATE A date, normally not user-recognizable, set within a computer system (IEEE) INTERNATIONAL DATE LINE The Date Line is a zig-zag line that approximately coincides with the 180th meridian, and it separates the calendar dates. The date must be advanced one day when crossing in a westerly direction and set back one day when crossing in an easterly direction. The line is deflected eastward through the Bering Strait and westward of the Aleutians to prevent separating these areas by date. The line is again deflected eastward of the Tonga and New Zealand Islands in the South Pacific for the same reason. (FW) INTERNATIONAL DAYLIGHT SAVING TIME Adjusting clock time to be able to use the added daylight on summer evenings is common throughout the world. Western Europe is on Daylight Saving Time generally from the last Sunday in March to the last Sunday in Sept.; however, the United Kingdom continues until the last Sunday in Oct. Russia, which lies over 11 time zones, maintains its Standard Time 1 hour fast of the zone designation. Additionally, it proclaims Daylight Saving Time as does Europe. China, which lies across 5 time zones, has decreed that the entire country be placed on Greenwich Time plus 8 hours, with Daylight Saving Time from Apr. 12 to Sept. 12. Many countries in the Southern Hemisphere maintain Daylight Saving Time, generally from Oct. to March; however, most countries near the equator do not deviate from Standard Time. (FW) Standard Time Differences-World Cities The time indicated in the table is fixed by law and is called the legal time or, more generally, Standard Time. Use of Daylight Saving Time varies widely. At 12:00 noon, Eastern Standard Time, the Standard Time (in 24-hour time) in selected cities is as follows: Addis Ababa 20 00 Alexandria 19 00 Amsterdam 18 00 Athens 19 00 Auckland 5 00 * Baghdad 20 00 Bangkok 0 00 Beijing 1 00 * Belfast 17 00 Berlin 18 00 Bogotá 12 00 Bombay 22 30 Bremen 18 00 Brussels 18 00 Bucharest 19 00 Budapest 18 00 Buenos Aires 14 00 Cairo 19 00 Calcutta 22 30 Cape Town 19 00 Caracas 13 00 Casablanca 17 00 Copenhagen 18 00 Delhi 22 30 Dhaka 23 00 Dublin 17 00 Gdánsk 18 00 Geneva 18 00 Havana 12 00 Helsinki 19 00 Ho Chi Minh City 0 00 Hong Kong 1 00 * Istanbul 19 00 Jakarta 0 00 Jerusalem 19 00 Johannesburg 19 00 Karachi 22 00 Le Havre 18 00 Lima 12 00 Lisbon 17 00 Liverpool 17 00 London 17 00 Madrid 18 00 Manila 1 00 * Mecca (Saudi Arabia) 20 00 Melbourne 3 00 * Mexico City 11 00 Montevideo 14 00 Moscow 20 00 Nagasaki 2 00 * Oslo 18 00 Paris 18 00 Prague 18 00 Rio de Janeiro 14 00 Rome 18 00 St. Petersburg 20 00 Santiago (Chile) 13 00 Seoul 2 00 * Shanghai 1 00 * Singapore 1 00 * Stockholm 18 00 Sydney (Australia) 3 00 * Tashkent 23 00 Teheran 20 30 Tel Aviv 19 00 Tokyo 2 00 * Valparaiso 13 00 Vladivostok 3 00 * Vienna 18 00 Warsaw 18 00 Wellington (N.Z.) 5 00 * Yangon (Rangoon) 23 30 Yokohama 2 00 * Zurich 18 00 (FW) Standard Time Differences - North American Cities At 12:00 Noon, Eastern Standard Time, the Standard Time In North American Cities Is As Follows: Akron, Oh. 12 00 Noon Albuquerque, N.M. 10 00 am Atlanta, Ga. 12 00 Noon Austin, Tex. 11 00 am Baltimore, Md. 12 00 Noon Birmingham, Ala. 11 00 am Bismarck, N.D. 11 00 am Boise, Ida. 10 00 am Boston, Mass. 12 00 Noon Buffalo, N.Y. 12 00 Noon Butte, Mon. 10 00 am Calgary, Alta. 10 00 am Charleston, S.C. 12 00 Noon Charleston, W.Va. 12 00 Noon Charlotte, N.C. 12 00 Noon Charlottetown, P.E.I. 1 00 pm Chattanooga, Tenn. . 12 00 Noon Cheyenne, Wy. 10 00 am Chicago, Ill. 11 00 am Cleveland, Oh. 12 00 Noon Colorado Spr., Col. 10 00 am Columbus, Oh. 12 00 Noon Dallas, Tex. 11 00 am Dawson, Yuk.* 9 00 am Dayton, Oh. 12 00 Noon Denver, Col. 10 00 am Des Moines, Ia. 11 00 am Detroit, Mich. 12 00 Noon Duluth, Minn. 11 00 am El Paso, Tex. 10 00 am Erie, Pa. 12 00 Noon Evansville, Ind. 11 00 am Fairbanks, Alas. 8 00 am Flint, Mich. 12 00 Noon Fort Wayne, Ind.* 12 00 Noon Fort Worth, Tex. 11 00 am Frankfort, Ky. 12 00 Noon Galveston, Tex. 11 00 am Grand Rapids, Mich. 12 00 Noon Halifax, N.S. 1 00 pm Hartford, Conn. 12 00 Noon Helena, Mon. 10 00 am Honolulu, Ha.* 7 00 am Houston, Tex. 11 00 am Indianapolis, Ind.* 12 00 Noon Jacksonville, Fla. 12 00 Noon Juneau, Alas. 8 00 am Kansas City, Mo. 11 00 am Knoxville, Tenn. 12 00 Noon Lexington, Ky. 12 00 Noon Lincoln, Neb. 11 00 am Little Rock, Ark. 11 00 am Los Angeles, Cal. 9 00 am Louisville, Ky. 12 00 Noon Mexico City* 11 00 am Memphis, Tenn. 11 00 am Miami, Fla. 12 00 Noon Milwaukee, Wis. 11 00 am Minneapolis, Minn. 11 00 am Mobile, Ala. 11 00 am Montreal, Que. 12 00 Noon Nashville, Tenn. 11 00 am New Haven, Conn. 12 00 Noon New Orleans, La. 11 00 am New York, N.Y. 12 00 Noon Nome, Alas. 8 00 am Norfolk, Va. 12 00 Noon Okla. City, Okla. 11 00 am Omaha, Neb. 11 00 am Peoria, Ill. 11 00 am Philadelphia, Pa. 12 00 Noon Phoenix, Ariz.* 10 00 am Pierre, S.D. 11 00 am Pittsburgh, Pa. 12 00 Noon Portland, Me. 12 00 Noon Portland, Ore. 9 00 am Providence, R.I. 12 00 Noon Regina, Sask.* 11 00 am Reno, Nev. 9 00 am Richmond, Va. 12 00 Noon Rochester, N.Y. 12 00 Noon Sacramento, Cal. 9 00 am St. John's, Nfld. 1 30 pm St. Louis, Mo. 11 00 am St. Paul, Minn. 11 00 am Salt Lake City, Ut. 10 00 am San Antonio, Tex. 11 00 am San Diego, Cal. 9 00 am San Francisco, Cal. 9 00 am Santa Fe, N.M. 10 00 am Savannah, Ga. 12 00 Noon Seattle, Wash. 9 00 am Shreveport, La. 11 00 am Sioux Falls, S.D. 11 00 am Spokane, Wash. 9 00 am Tampa, Fla. 12 00 Noon Toledo, Oh. 12 00 Noon Topeka, Kan. 11 00 am Toronto, Ont. 12 00 Noon Tucson, Ariz.* 10 00 am Tulsa, Okla. 11 00 am Vancouver, B.C. 9 00 am Washington, D.C. 12 00 Noon Wichita, Kan. 11 00 am Wilmington, Del. 12 00 Noon Winnipeg, Man. 11 00 am (FW) ISOLATION TESTING Component testing of individual components in isolation from surrounding components, with surrounding components being simulated by stubs.(BCS) +---+ | J | +---+ JULIAN CALENDAR (noun) 45 B.C., Julius Caesar introduces a new "Julian" calendar of 365.25 days in which the first day of the year is January 1. He has commissioned the Greek astronomer-mathematician Sosigenes of Alexandria to reform the calendar (see 153 B.C.; A.D. 1582). (PC) The solar calendar introduced by Julius Caesar in Rome in 46 B.C., having a year of 12 months and 365 days and a leap year of 366 days every fourth year. It was eventually replaced by the Gregorian calendar. (AH) The Julian calendar, under which Western nations measured time until A.D. 1582, was authorized by Julius Caesar in 46 B.C., the year 709 of Rome. His expert was a Greek, Sosigenes. The Julian calendar, on the assumption that the true year was 365 1/4 days, gave every fourth year 366 days. Julian Calendar Year (last 2 Figures of Desired Year) 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 Century 00 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 0 700 1400 12 7 1 2 10 5 6 7 8 3 4 5 13 1 2 3 11 6 7 1 9 4 5 6 14 2 3 4 12 100 800 1500 11 6 7 1 9 4 5 6 14 2 3 4 12 7 1 2 10 5 6 7 8 3 4 5 13 1 2 3 11 200 900 1600 10 5 6 7 8 3 4 5 13 1 2 3 11 6 7 1 9 4 5 6 14 2 3 4 12 7 1 2 10 300 1000 1700 9 4 5 6 14 2 3 4 12 7 1 2 10 5 6 7 8 3 4 5 13 1 2 3 11 6 7 1 9 400 1100 1800 8 3 4 5 13 1 2 3 11 6 7 1 9 4 5 6 14 2 3 4 12 7 1 2 10 5 6 7 8 500 1200 1900 14 2 3 4 12 7 1 2 10 5 6 7 8 3 4 5 13 1 2 3 11 6 7 1 9 4 5 6 14 600 1300 2000 13 1 2 3 11 6 7 1 9 4 5 6 14 2 3 4 12 7 1 2 10 5 6 7 8 3 4 5 13 (FW) JULIAN DATE. As a general term used widely in computer programming and this document: A date in the format YYDDD. A date format that contains the year in positions 1 and 2, and the day in positions 3 through 5. The day is represented as 1 through 366, right adjusted, padded with zeroes on the left. For example, 1996-August-29 is 96242. However, the above definition is accurately referred to as the ORDINAL DAY OF YEAR date, see JULIAN DAY NUMBER. (IBM) JULIAN DAY NUMBER: The astronomal system that counts the days since the First of January in the year 4713 BCE (the year -4712 before the common era). This scheme was invented by the astronomer Joseph Scaliger in the 16th century and named by him for his father Julius. The leap year reforms implicit in the new scheme were adopted at the command of Pope Gregory XIII in the year 1582 - hence the Gregorian Calendar. The Gregorian, or New Style, calendar was adopted in Britain and their colonies in September of 1752. (September of that year was missing 11 days. The 14th followed the 2nd.) The remainder left when dividing the Julian Day Number by 7 indicates the day of week of the specified date. Zero corresponds to Monday, 1 to Tuesday, up through 6 for Sunday. For example, 1996-Aug-29 is equivalent to Julian Day 2450325. Further, the hour of the day is expressed as a decimal such that 2450325.5 is midnight 1996-Aug-29, based on the fact that a Julian Day begins at mid-day (noon). (IBM) JULIAN PERIOD or JULIAN DAY How many days have you lived? To determine this, you must multiply your age by 365, add the number of days since your last birthday until today, and account for all leap years. Chances are your answer would be wrong. Astronomers, however, find it convenient to express dates and long time intervals in days rather than in years, months, and days. This is done by placing events within the Julian period. The Julian period was devised in 1582 by the French classical scholar Joseph Scaliger (1540-1609) and named after his father Julius Caesar Scaliger (1484-1558), not after the Julian calendar. Joseph Scaliger began Julian Day (JD) #1 at noon, Jan. 1, 4713 B.C., the most recent time that 3 major chronological cycles began on the same day- (1) the 28-year solar cycle, after which dates in the Julian calendar (e.g., Feb. 11) return to the same days of the week (e.g., Monday); (2) the 19-year lunar cycle, after which the phases of the moon return to the same dates of the year; and (3) the 15-year indiction cycle, used in ancient Rome to regulate taxes. It will take 7,980 years to complete the period, the product of 28, 19, and 15. Noon of Dec. 31, 1994, marks the beginning of JD 2,449,718; that many days will have passed since the start of the Julian period. The JD at noon of any date in 1995 may be found by adding to this figure the day of the year for that date, which is given in the left most column in the chart below. Simple JD conversion tables are used by astronomers. (FW) Days Between Two Dates Table covers period of 2 ordinary years. Example-Days between Feb. 10, 1989, and Dec. 15, 1990; subtract 41 from 714; answer is 673 days. For leap year, such as 1992, one day must be added: final answer is 674. Date Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. 1 1 32 60 91 121 152 182 213 244 274 305 335 2 2 33 61 92 122 153 183 214 245 275 306 336 3 3 34 62 93 123 154 184 215 246 276 307 337 4 4 35 63 94 124 155 185 216 247 277 308 338 5 5 36 64 95 125 156 186 217 248 278 309 339 6 6 37 65 96 126 157 187 218 249 279 310 340 7 7 38 66 97 127 158 188 219 250 280 311 341 8 8 39 67 98 128 159 189 220 251 281 312 342 9 9 40 68 99 129 160 190 221 252 282 313 343 10 10 41 69 100 130 161 191 222 253 283 314 344 11 11 42 70 101 131 162 192 223 254 284 315 345 12 12 43 71 102 132 163 193 224 255 285 316 346 13 13 44 72 103 133 164 194 225 256 286 317 347 14 14 45 73 104 134 165 195 226 257 287 318 348 15 15 46 74 105 135 166 196 227 258 288 319 349 16 16 47 75 106 136 167 197 228 259 289 320 350 17 17 48 76 107 137 168 198 229 260 290 321 351 18 18 49 77 108 138 169 199 230 261 291 322 352 19 19 50 78 109 139 170 200 231 262 292 323 353 20 20 51 79 110 140 171 201 232 263 293 324 354 21 21 52 80 111 141 172 202 233 264 294 325 355 22 22 53 81 112 142 173 203 234 265 295 326 356 23 23 54 82 113 143 174 204 235 266 296 327 357 24 24 55 83 114 144 175 205 236 267 297 328 358 25 25 56 84 115 145 176 206 237 268 298 329 359 26 26 57 85 116 146 177 207 238 269 299 330 360 27 27 58 86 117 147 178 208 239 270 300 331 361 28 28 59 87 118 148 179 209 240 271 301 332 362 29 29 - 88 119 149 180 210 241 272 302 333 363 30 30 - 89 120 150 181 211 242 273 303 334 364 31 31 - 90 - 151 - 212 243 - 304 - 365 Date Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. 1 366 397 425 456 486 517 547 578 609 639 670 700 2 367 398 426 457 487 518 548 579 610 640 671 701 3 368 399 427 458 488 519 549 580 611 641 672 702 4 369 400 428 459 489 520 550 581 612 642 673 703 5 370 401 429 460 490 521 551 582 613 643 674 704 6 371 402 430 461 491 522 552 583 614 644 675 705 7 372 403 431 462 492 523 553 584 615 645 676 706 8 373 404 432 463 493 524 554 585 616 646 677 707 9 374 405 433 464 494 525 555 586 617 647 678 708 10 375 406 434 465 495 526 556 587 618 648 679 709 11 376 407 435 466 496 527 557 588 619 649 680 710 12 377 408 436 467 497 528 558 589 620 650 681 711 13 378 409 437 468 498 529 559 590 621 651 682 712 14 379 410 438 469 499 530 560 591 622 652 683 713 15 380 411 439 470 500 531 561 592 623 653 684 714 16 381 412 440 471 501 532 562 593 624 654 685 715 17 382 413 441 472 502 533 563 594 625 655 686 716 18 383 414 442 473 503 534 564 595 626 656 687 717 19 384 415 443 474 504 535 565 596 627 657 688 718 20 385 416 444 475 505 536 566 597 628 658 689 719 21 386 417 445 476 506 537 567 598 629 659 690 720 22 387 418 446 477 507 538 568 599 630 660 691 721 23 388 419 447 478 508 539 569 600 631 661 692 722 24 389 420 448 479 509 540 570 601 632 662 693 723 25 390 421 449 480 510 541 571 602 633 663 694 724 26 391 422 450 481 511 542 572 603 634 664 695 725 27 392 423 451 482 512 543 573 604 635 665 696 726 28 393 424 452 483 513 544 574 605 636 666 697 727 29 394 - 453 484 514 545 575 606 637 667 698 728 30 395 - 454 485 515 546 576 607 638 668 699 729 31 396 - 455 - 516 - 577 608 - 669 - 730 (FW) +---+ | L | +---+ LCSAJ A Linear Code Sequence And Jump, consisting of the following three items (conventionally identified by line numbers in a source code listing): the start of the linear sequence of executable statements, the end of the linear sequence, and the target line to which control flow is transferred at the end of the linear sequence.(BCS) LCSAJ COVERAGE The percentage of LCSAJs of a component which are exercised by a test case suite.(BCS) LCSAJ TESTING A test case design technique for a component in which test cases are designed to execute LCSAJs.(BCS) LEAP YEAR A year either evenly divisible by 400 OR evenly divisible by 4 and not evenly divisible by 100. For example, the years 1700, 1800, 1900, and 1995 are not leap years, but the years 1600, 1996, and 2000 are leap years. (IBM) LILIAN DATE The number of days since 1582-October-14. 1582-October-15 is Lilian day 1, 1582-October-16 is Lilian day 2, and so on. (Named for Aloysius Lilius (an advisor to Pope Gregory XIII) who, together with his brother, constructed the current Gregorian calendar.) (IBM) LOGIC-COVERAGE TESTING See structural test case design. [Myers] LOGIC-DRIVEN TESTING See structural test case design. LUNAR CALENDAR The ancient Chinese lunar calendar is divided into 12 months of either 29 or 30 days (compensating for the lunar month's mean duration of 29 days, 12 hr, 44.05 min). The calendar is synchronized with the solar year by the addition of extra months at fixed intervals. The Chinese calendar runs on a sexagenary cycle, i.e., a 60-year cycle. The cycles 1876-1935 and 1936-95, with the years grouped under their 12 animal designations, are printed below. A new cycle will begin in 1996 and last until 2055. The Year 1995 (Luna r Year 4693) is found in the 12th column, under Pig, and is known as a Year of the Pig. Readers can find the animal name for the year of their birth, marriage, etc., in the same chart. (Note: The first 3-7 weeks of each of the Western years belong to the previous Chinese year and animal designation.) Both the Western (Gregorian) and traditional lunar calendars are used publicly in China and in North and South Korea, and 2 New Year's celebrations are held. Chinese New Year, Vietnamese Tet In Taiwan, in overseas Chinese communities, and in Vietnam, the lunar calendar is used only to se t the dates for traditional festivals, with the Gregorian system in general use. The 4-day Chinese New Year, Hsin Nien, the 3-day Vietnamese New Year festival, Tet, and the 3-to-4-day Korean festival, Suhl, begin at the first new moon after the sun enters Aquarius. Because the date is fixed according to the date of the new moon in the Far East, which is west of the International Date Line, the date may be one day later than that of the new moon in the U.S. The day may fall, therefore, between Jan. 21 and Feb. 19 of the Gregorian calendar. Jan. 31, 1995, marks the start of the new Chinese year. Hare Sheep Rat Ox Tiger (Rabbit) Dragon Snake Horse (Goat) Monkey Rooster Dog Pig 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 (FW) +---+ | M | +---+ MAINTAINABILITY TESTING Testing whether the system meets its specified objectives for maintainability.(BCS) MASKING A number of temporary masking techniques have been developed that are less expensive and somewhat quicker than true date field expansions. These masking methods are not perfect and may not be suited for every application. Some forms of masking may slow down the performance of applications. Also, there might be subtle or indirect dates which are not intercepted by the more common masking strategies. In general, the masking approaches are temporary solutions which simply push the year 2000 problem out into the next century in the hope that many applications will be replaced before the masking solutions stop working. Since there are a number of alternative substitution and masking strategies, it is interesting to consider their pros and cons. Masking in every form has the advantage of not requiring any potentially hazardous changes to the aging legacy applications or to data bases. The down sides of the masking approach are: * It is not certain if deep, indirect, or subtle year 2000 problems will be intercepted. * The performance impact of the masking methods and tools will degrade throughput by a finite and possibly significant amount. The technology of masking is still in rapid evolution, and holds some potential advantages. Masking may perhaps be effective for at least some applications written in proprietary or obscure programming languages where there are no effective year 2000 search engines nor any trained programmers available. All of the masking approaches should be viewed as temporary methods, since they do not cure the underlying problem of using only two digits for dates. However, if applications are gradually phased out over the next 10 to 15 year period and replaced by compliant applications, then masking may be an acceptable solution for software that does not have stringent performance needs. (CJ) MEASURE (v): To assess by comparing to a standard (e.g. actual time spent vs. budget). (n): A standard, or unit of measurement (e.g. person hours) MEASUREMENT (v): The act of measuring. (n): The result of measuring. METRIC A calculated or composite indicator based on two or more measures. A quantitative measure of the degree to which a system, component or process possesses a given attribute. (e.g. Mean Time To Failure, Function Point, Person Hours per Function Point) MILLENARIAN adjective 1. Of or relating to a thousand, especially to a thousand years. 2. Of, relating to, or believing in the doctrine of the millennium. noun One who believes the millennium will occur. (AH) MILLENNIUM noun plural millenniums or millennia 1. A span of one thousand years. 2. A thousand-year period of holiness mentioned in Revelation 20, during which Jesus and his faithful followers are to rule on earth. 3. A hoped-for period of joy, serenity, prosperity, and justice. 4. A thousandth anniversary. [New Latin : Latin mille, thousand + Latin annus, year.] (AH) MODIFIED CONDITION/DECISION COVERAGE The percentage of all branch condition outcomes that independently affect a decision outcome that have been exercised by a test case suite.(BCS) MODIFIED CONDITION/DECISION TESTING A test case design technique in which test cases are designed to execute branch condition outcomes that independently affect a decision outcome.(BCS) MULTIPLE CONDITION COVERAGE See branch condition combination coverage. MUTATION ANALYSIS A method to determine test case suite thoroughness by measuring the extent to which a test case suite can discriminate the program from slight variants (mutants) of the program. See also error seeding.(BCS) +---+ | N | +---+ NEGATIVE TESTING Testing aimed at showing software does not work. [Beizer] NON-FUNCTIONAL REQUIREMENTS TESTING Testing of those requirements that do not relate to functionality. i.e. performance, usability, etc.(BCS) NOMINAL DURATION Assumes that team has been drawn from the top 50% of resource pool, who have some familiarity with the development environment and application, but are not specialists. The team is expected to take some time to gel and will experience some conflict and it can experience turnover of around 10-12% per year. NON-COMPLIANT can be stated as failure to meet the requirements of "Year 2000 compliant" or "Year 2000 Ready" and where rework or replacement is needed to allow correct operation. Acceptability Index 9 is defined as "Non-compliant". (Cinderella) NON VOLATILE MEMORY See CMOS MEMORY N-SWITCH COVERAGE The percentage of sequences of N-transitions that have been exercised by a test case suite.(BCS) N-SWITCH TESTING A form of state transition testing in which test cases are designed to execute all valid sequences of N-transitions.(BCS) N-TRANSITIONS A sequence of N+1 transitions.(BCS) +---+ | O | +---+ OBJECT-CODE DATE INTERCEPTION Experimental methods for intercepting dates in executable object code are being researched. These methods do not yet have commercial tools, and may not even work, but the current research looks promising. In particular, object-code year 2000 interception may provide a way of dealing with a very knotty and difficult problem: How to make year 2000 repairs in the aging legacy applications where the source code is missing or uncompilable, but the software is still being executed. (CJ) OPERATING ENVIRONMENT The technology that is required to develop, run and maintain a system. Includes operating system, utilities, development tools, DBMS, etc. OPERATIONAL TESTING Testing conducted to evaluate a system or component in its operational environment. [IEEE] ORACLE A mechanism to produce the predicted outcomes to compare with the actual outcomes of the software under test. After [adrion] (BCS) ORDINAL DAY OF YEAR. See JULIAN DATE (IBM) OUTCOME Actual outcome or predicted outcome. This is the outcome of a test. See also branch outcome, condition outcome and decision outcome.(BCS) OUTPUT A variable (whether stored within a component or outside it) that is written to by the component.(BCS) OUTPUT DOMAIN The set of all possible outputs.(BCS) OUTPUT VALUE An instance of an output.(BCS) +---+ | P | +---+ P-USE See predicate data use. PARTITION TESTING See equivalence partition testing. [Beizer] PATH A sequence of executable statements of a component, from an entry point to an exit point.(BCS) PATH COVERAGE The percentage of paths in a component exercised by a test case suite.(BCS) PATH SENSITIZING Choosing a set of input values to force the execution of a component to take a given path.(BCS) PATH TESTING A test case design technique in which test cases are designed to execute paths of a component.(BCS) PERFORMANCE TESTING Testing conducted to evaluate the compliance of a system or component with specified performance requirements. [IEEE] PIVOT YEAR When a windowing remediation technique is used, dates continue to be represented with two-digit years, but are interpreted within a 100-year window, for example, 1950 to 2049. A pivot year is a two-digit value that can be used to document and interpret a windowed date. Any two-digit year value greater than or equal to the pivot year is interpreted as having a prefix of "19", while any two-digit year value less than the pivot year is interpreted as having a prefix of "20". Thus, for example, in a system supporting a 1950 to 2049 window, the pivot year of 50 causes year values between 50 and 99 to be interpreted as 1950 to 1999, and year values between 00 and 49 to be interpreted as 2000 to 2049. (IEEE) PLATFORM Any hardware or software that is required to develop, maintain, support or run an application. Platforms can include hardware, embedded software, utilities, development tools and environments, data management software, programming languages and interpreters, middleware, end user tools, and so on. PORTABILITY TESTING Testing aimed at demonstrating the software can be ported to specified hardware or software platforms.(BCS) PORTFOLIO A grouping of systems / platforms to support a business unit or enterprise. The portfolio would typically include the systems that have dependencies and that should be tested together. PORTFOLIO TESTING The testing of two or more systems together to probe the intefaces and interactions between systems. PRECONDITION Environmental and state conditions which must be fulfilled before the component can be executed with a particular input value.(BCS) PREDICATE A logical expression which evaluates to TRUE or FALSE, normally to direct the execution path in code.(BCS) PREDICATE DATA USE A data use in a predicate. PREDICTED OUTCOME The behaviour predicted by the specification of an object under specified conditions.(BCS) PROGRAM INSTRUMENTER See instrumenter. PROGRESSIVE TESTING Testing of new features after regression testing of previous features. [Beizer] PSEUDO-RANDOM A series which appears to be random but is in fact generated according to some prearranged sequence.(BCS) +---+ | R | +---+ REAL TIME CLOCK (RTC) First included on the IBM PC AT in 1984. Originally based on the Motorola MC146818A RTC chip, the functionality has been duplicated in subsequent chipsets and compatible components. It is essentially a wristwatch quartz crystal that provides time and date down to the second and up to the year. The RTC is a separate device, it functions as a battery operated clock and every complete second updates the CMOS memory. Continues to operate when main power is off. Generally only used at boot time to set the System clock. Some (very few) applications read RTC direct. Provides a two digit year count. Has no internal storage, but provides base for results stored in CMOS NON VOLATILE MEMORY. RECOVERY TESTING Testing aimed at verifying the system's ability to recover from varying degrees of failure.(BCS) REGRESSION TESTING Selective retesting to detect faults introduced introduced during modification 0f a system or system component, to verify that modifications have not caused unintended adverse effects, or to verify that a modified system or system component still meets its specified requirements. (IEEE 729-1983) Retesting of a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made.(BCS) REMEDIATION This concept embodies one or more processes to repair or eliminate malfunctions relating to year 2000 date data handling under a pre-determined set of criteria. The following is a non-exhaustive list of possible remedies: * expanding the year field to four digits (field expansion) * encoding four-digit year information into an existing field (encoding) * using a 100-year logic window (window) * employing a date data bridge that converts date formats (bridge) * replacing one or more system elements (replacement) * retiring the system (elimination) The industry currently reflects strong consensus that there is NO ONE fix for all applications. A range of fixes can, and will most likely, apply. Fixes will be dependent on the operating environment and the prevailing factors within, such as the degree of interface the application has with other applications, or the level of date data processing within or across applications. (IEEE) REPLACEMENT (also called Migration) A process which requires the retirement of a system or system element which is determined to be necessary, but will not be made Year 2000 compliant. The system, system element, or data is moved to an alternate Year 2000 compliant system or system element. (IEEE) REPLACEMENT VIA COMPLIANT PACKAGES The most obvious substitution strategy is to replace a non-compliant application with a newer commercial package that is already year 2000 compliant. This strategy works only for applications which have commercial equivalents, so it is obviously no help for proprietary or highly customized software. REPLACEMENT VIA CUSTOM DEVELOPMENT In situations where aging legacy software is due for replacement, it may be possible to accelerate the development of new applications that are year 2000 compliant. The main problem with this strategy is that there is no longer time to build large systems. A simple rule of thumb based on function point metrics indicates the maximum size of applications which can be built between now and the end of the century. Raise the size of the planned application in function points to the 0.4 power and the result will be the approximate number of calendar months from requirements to delivery. Since there are about 24 months until the end of the century, applications larger than about 2500 function points can't be completed (this is roughly equivalent to 250,000 COBOL statements.) Note that every month this maximum size will decline. REQUIREMENTS-BASED TESTING Designing tests based on objectives derived from requirements for the software component (e.g., tests that exercise specific functions or probe the non-functional constraints such as performance or security). See functional test case design.(BCS) RESULT See outcome. RESERVED DATES These are dates with special meaning such as using 9999 in a year field signifying an entry in a database that never expires. They consist of special values that are equivalent in their type to dates, but are composed of non-date values such as spaces, 000000, or 999999 in date fields. Reserved Dates have been used frequently in the past to represent items that never expire, or have other special meanings. (IEEE) REVIEW A process or meeting during which a work product, or set of work products, is presented to project personnel, managers, users or other interested parties for comment or approval. [ieee] ROLLING WINDOW. Synonymous with SLIDING WINDOW. (IBM) RTC/CMOS COMBO See BIOS/CMOS/RTC COMBO +---+ | S | +---+ SECURITY TESTING Testing whether the system meets its specified security objectives.(BCS) SERVICEABILITY TESTING See maintainability testing. SIMPLE SUBPATH A subpath of the control flow graph in which no program part is executed more than necessary.(BCS) SIMULATION The representation of selected behavioural characteristics of one physical or abstract system by another system. [ISO 2382/1]. SIMULATOR A device, computer program or system used during software verification, which behaves or operates like a given system when provided with a set of controlled inputs. [IEEE,do178b] SLIDING WINDOW. A technique to determine the century (high-order digits) of a year when represented by two digits. The user specifies the number of years (both past and future) within a 100-year window spanning two centuries. For example, assume the window is set at 19 future years (1996-2014) and 80 past years (1915-1994). Dates in the range "00-14" (inclusive) are designated 21st century dates because they fall into the future window. Dates in the range "15-99" (inclusive) fall into the 20th century. (IBM) SOFTWARE TESTING is the process of executing software in a controlled manner, in order to answer the question "Does the software behave as specified?" [Gerrard] SOLUTION DEVELOPERS. Also known as THIRD-PARTY VENDORS and INDEPENDENT SOFTWARE VENDORS. Marketers of computer hardware and/or software products, tools, or services to complement IBM's suite of products and services. (IBM) SOURCE STATEMENT See statement. SPECIAL DATES There are two forms of special dates: reserved dates and test dates. Some or all of the dates listed may not be appropriate for the testing of a specific system element because, for example, the system element may not be date sensitive, or does not represent dates as calendar dates (e.g. using ordinal dates or system clock values instead), or because the dates are outside the system element's valid date range. (IEEE) SPECIFICATION A description of a component's function in terms of its output values for specified input values under specified preconditions.(BCS) SPECIFIED INPUT An input for which the specification predicts an outcome.(BCS) STANDARDS ISO 8601:1988, Data elements and interchange formats -- Information interchange -- Representation of dates and times ANSI X3.30: 1985, Representation for Calendar and Ordinal Date for Information Interchange FIPS PUB 4-1, Representation for Calendar Date and Ordinal Date for Information Interchange, Change Number 1, March 25, 1996 DISC PD2000-1, A Definition of Year 2000 Conformity Requirements (a British Standards Institute publication) General Services Administration Federal Acquisition Rule (FAR) 39.002, (Federal Register 66 FR44830), August 22, 1997 General Services Administration White Paper entitled "Year 2000", August 1997 (IEEE) STANDARD TIME Source: Defense Mapping Agency Hydrographic/Topographic Center; U.S. Dept. of Transportation Standard Time is reckoned from Greenwich, England, recognized as the Prime Meridian of Longitude. The world is divided into 24 zones, each 15 degreees of arc, or one hour in time apart. (see TIME ZONES) (FW) STATE TRANSITION A transition between two allowable states of a system or component.(BCS) STATE TRANSITION TESTING A test case design technique in which test cases are designed to execute state transitions.(BCS) STATEMENT An entity in a programming language which is typically the smallest indivisible unit of execution.(BCS) STATEMENT COVERAGE The percentage of executable statements in a component that have been exercised by a test case suite.(BCS) STATEMENT TESTING A test case design technique for a component in which test cases are designed to execute statements.(BCS) STATIC ANALYSIS Analysis of a program carried out without executing the program.(BCS) investigates the source code of software, looking for problems and gathering metrics without actually executing the code.[Gerrard] STATIC ANALYZER A tool that carries out static analysis. STATIC TESTING Testing of an object without execution on a computer.(BCS) STATISTICAL TESTING A test case design technique in which a model is used of the statistical distribution of the input to construct representative test cases.(BCS) STORAGE TESTING Testing whether the system meets its specified storage objectives.(BCS) STRESS TESTING Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements. [IEEE] STRUCTURAL COVERAGE Coverage measures based on the internal structure of the component.(BCS) STRUCTURAL TEST CASE DESIGN Test case selection that is based on an analysis of the internal structure of the component.(BCS) STRUCTURAL TESTING See structural test case design. STRUCTURED BASIS TESTING A test case design technique in which test cases are derived from the code logic to achieve 100% branch coverage.(BCS) STRUCTURED WALKTHROUGH See walkthrough . STUB A skeletal or special-purpose implementation of a software module, used to develop or test a component that calls or is otherwise dependent on it. After [IEEE]. SUBPATH A sequence of executable statements within a component.(BCS) SUBSTITUTION replacing non-compliant applications with compliant ones. This method is not universally appropriate, but is effective if it can be applied. (CJ) SYMBOLIC EVALUATION See symbolic execution. SYMBOLIC EXECUTION A static analysis technique that derives a symbolic expression for program paths.(BCS) SYNTAX TESTING A test case design technique for a component or system in which test case design is based upon the syntax of the input.(BCS) SYSTEM A cohesive collection of people, machines and methods organised as a single unit to accomplish a set of functions. SYSTEM DATE also known as DOS DATE A Date and Time clock, resident in main memory, used by most applications, varies by OS, set up at boot time by reading RTC via BIOS. Accurate to approximately one hundredth of a second. Accessed by Operating system Int 21 calls. Volatile. Normal Operating system calls for Date and Time display this date. SYSTEM TESTING The process of testing an integrated hardware and software system to verify that the system meets its specified requirements. (IEEE 729-1983) The process of testing an integrated system to verify that it meets specified requirements. [Hetzel] +---+ | T | +---+ TECHNICAL REQUIREMENTS TESTING See non-functional requirements testing. TERMINATION OF THE APPLICATION Although this alternative is unpalatable, it is probably going to occur fairly often. The non-compliant software application will be shut down, and whatever it was doing will have to be done manually for an indefinite period until it can be repaired or replaced. This strategy may require hiring a significant number of clerical or administrative employees, or using temporary contractors. Obviously this solution will be expensive and will degrade a number of services which are now automated but which might have to be done manually. TEST AUTOMATION The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.(BCS) TEST BED 1. A test environment containing the hardware, isntrumentation tools, simulators and other support software necessary for testing a system or system component. 2. The repertoire of test cases necessary for testing a system or system component. (IEEE 729-1983) TEST CASE A specific set of test data and associated procedures developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirment. (IEEE 729-1983) A set of inputs, execution preconditions, and expected outcomes developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement. After [IEEE,do178b] TEST CASE DESIGN TECHNIQUE A method used to derive or select test cases.(BCS) TEST CASE SUITE A collection of one or more test cases for the software under test.(BCS) TEST COMPARATOR A test tool that compares the actual outputs produced by the software under test with the expected outputs for that test case.(BCS) TEST COMPLETION CRITERION A criterion for determining when planned testing is complete, defined in terms of a test measurement technique.(BCS) TEST COVERAGE See coverage. TEST DATES These are dates useful to an organization to determine if a system element performs correctly. Examples could include: * December 31, 1999 Last day before the year 2000 (rollover event) * January 1, 2000 First day affecting all systems that were programmed to handle only the years 1900 to1999. First date with a "00" abbreviated year. First month beginning on a weekend date. * February 29, 2000 First leap day after the rollover A more exhaustive list of test dates is included in the IEEE P2000.2 Year 2000 Test Methods document. (IEEE) TEST DRIVER A program or test tool used to execute software against a test case suite.(BCS) TEST ENVIRONMENT A description of the hardware and software environment in which the tests will be run, and any other software with which the software under test interacts when under test including stubs and test drivers.(BCS) TEST EXECUTION The processing of a test case suite by the software under test, producing an outcome.(BCS) TEST EXECUTION TECHNIQUE The method used to perform the actual test execution, e.g. manual, capture/playback tool, etc.(BCS) TEST GENERATOR A program that generates test cases in accordance to a specified strategy or heuristic. After [Beizer]. TEST HARNESS A testing tool that comprises a test driver and a test comparator.(BCS) TEST MEASUREMENT TECHNIQUE A method used to measure test coverage items.(BCS) TEST OUTCOME See outcome. TEST PLAN A record of the test planning process detailing the degree of tester indedendence, the test environment, the test case design techniques and test measurement techniques to be used, and the rationale for their choice.(BCS) A document prescribing the approach to be taken for intended testing activities.The plan typically identifies the items to be tested, the testing to be performed, test schedules, personnel requirements, reporting requirements, evaluation criteria, and any risks requiring contingency planning. (IEEE 729-1983) TEST PROCEDURE A document providing detailed instructions for the execution of one or more test cases.(BCS) TEST RECORDS For each test, an unambiguous record of the identities and versions of the component under test, the test specification, and actual outcome.(BCS) TEST SCRIPT Commonly used to refer to the automated test procedure used with a test harness.(BCS) TEST SPECIFICATION For each test case, the coverage item, the initial state of the software under test, the input, and the predicted outcome.(BCS) TEST TARGET A set of test completion criteria. TESTING The process of exercising software to verify that it satisfies specified requirements and to detect errors. After [do178b] THREAD TESTING A variation of top-down testing where the progressive integration of components follows the implementation of subsets of the requirements, as opposed to the integration of components by successively lower levels.(BCS) TOP-DOWN TESTING An approach to integration testing where the component at the top of the component hierarchy is tested first, with lower level components being simulated by stubs. Tested components are then used to test lower level components. The process is repeated until the lowest level components have been tested.(BCS) TIME ZONES The Greenwich meridian (0 degrees) extends through the center of the initial zone, a nd the zones to the east are numbered from 1 to 12 with the prefix "minus" indicating the number of hours to be subtracted to obtain Greenwich Time. Each zone extends 7.5 degrees on either side of its central meridian. Westward zones are similarly numbered, but prefixed "plus" showing the number of hours that must be added to get Greenwich Time. Although these zones apply generally to sea areas, the Standard Time maintained in many countries does not coincide with zone time. A graphical representation of the zones is shown on the Standard Time Zone Chart of the World published by the Defense Mapping Agency, Attn: PR, 8613 Lee Highway, Fairfax, VA 22031-2137. The U.S. and possessions are divided into 8 Standard Time zones, as set forth by the Uniform Time Act of 1966, which also provides for the use of Daylight Saving Time therein. Each zone is approximately 15 degrees of longitude in width. All places in each zone use, instead of their own local time, the time counted from the transit of the "mean sun" across the Standard Time meridian that passes near the middle of that zone. These time zones are designated as Atlantic, Eastern, Central, Mountain, Pacific, Yukon, Alaska-Hawaii, and Bering (Samoa), and the time in these zones is basically reckoned from the 60th, 75th, 90th, 105th, 120th, 135th, 150th, and 165th meridians west o f Greenwich. The line wanders to conform to local geographical regions. The time in the various zones is earlier than Greenwich Time by 4, 5, 6, 7, 8, 9, 10, and 11 hours respectively. (FW) TRIAGE noun 1. A process for sorting injured people into groups based on their need for or likely benefit from immediate medical treatment. Triage is used on the battlefield, at disaster sites, and in hospital emergency rooms when limited medical resources must located. 2. A system used to allocate a scarce commodity, such as food, only to those capable of deriving the greatest benefit from it. [French, from trier, to sort, from Old French.] (AH) Sorting into order of urgency, as with battlefield casualties. (W) +---+ | U | +---+ UNIT TESTING See component testing. The testing of a single component, usually performed by the developer of the component. USABILITY TESTING Testing the ease with which users can learn and use a product.(BCS) +---+ | V | +---+ VALIDATION Determination of the correctness of the products of software development with respect to the user needs and requirements.(BCS) is the process of checking that what has been specified is what the user actually wanted.[Gerrard] VALID DATE INTERVAL (also known as Compliance Date Range) The period of time, expressed by a range of dates, over which date data will be accurately processed in a given system. The system elements or other factors may limit this interval or may introduce multiple intervals. For example, an application may process dates to year 2075 while the operating system may not process dates beyond year 2038. The system elements include operating system, hardware, firmware, or the application itself. (IEEE) VALIDATION Validation is the process of checking that what has been specified is what the user actually wanted.[Gerrard] * Validation: Are we doing the right job? VERIFICATION is the checking or testing of items, including software, for conformance and consistency with an associated specification.[Gerrard] * Verification: Are we doing the job right? The process of evaluating a system or component to determine whether the products of the given development phase satisfy the conditions imposed at the start of that phase. [IEEE] is the checking or testing of items, including software, for conformance and consistency with an associated specification.[Gerrard] VOLUME TESTING Testing where the system is subjected to large volumes of data.(BCS) +---+ | W | +---+ WALKTHROUGH A review of requirements, designs or code characterized by the author of the object under review guiding the progression of the review.(BCS) WHITE BOX TESTING See structural test case design. WINDOWING (also called Logic Fix) (1) Any of several procedural techniques that are based on the addition of logic to infer the century value given a two-digit year. These are generally categorized into "Fixed Windowing", and "Sliding Windowing" techniques Use of this method of remediation depends on knowledge of: * the date format used across interfaces * the pivot year used * the method of changing or "sliding" the pivot year, where applicable * a description of the error handling/reporting when exchanged date data is not in the expected date format (IEEE) (2) This is a technology for dealing with dates in data bases and software applications which does not require date field expansion. The windowing method establishes a 100 year (or some other fixed interval) time period, such as 1915 to 2014, and uses program logic to deal with all dates within that period. Using the windowing method, two-digit dates are assigned to the appropriate century. For example assuming that your window runs from 1915 to 2014, dates below the mid point of the window such as 03 or 10 are assigned to the 21st century as 2003 or 2010, while dates above the mid point such as 97 or 98 are assigned to the 20th century as 1997 and 1998. Windows can either be fixed or sliding. However, windowing exacts a performance penalty and assumes that everyone using the data or the application knows about the existence of the windowing routines. (CJ) WINDOWING, FIXED A procedural technique in which two-digit year values are interpreted within a fixed 100 year window which is typically documented in terms of a range of years (e.g., 1950 to 2049) or in terms of a pivot year (e.g., a pivot year of 50 causes values between 50 and 99 to be interpreted as 1950 to 1999, and values between 00 and 49 to be interpreted as 2000 to 2049). (IEEE) WINDOWING, MOVABLE A procedural technique in which two-digit year values are interpreted within a 100-year window, which may be user- or installation- specified. The window bounds or pivot year can be specified when the system is installed or started. (IEEE) WINDOWING, SLIDING A procedural technique in which two-digit year values are interpreted within a 100 year window which is defined in terms of the current date. With this technique, as the current date moves forward, year to year, the window also moves or "slides" forward. Sliding windows are typically documented by specifying a value or a set of values which when added to the current year define the bounds of the window. Thus, for example, a sliding window documented as "-40" defines a pivot year of 57 (i.e. 1957) in 1997 and 58 in 1998. Similarly, a sliding window documented as "-40, +59" defines window bounds of 1957 to 2056 in 1997 and 1958 to 2057 in 1998. (IEEE) +---+ | Y | +---+ YEAR2000 CHALLENGE The potential problems and its variations that might be encountered in any level of computer hardware or software from microcode to application programs, files, and databases that need to correctly interpret year-date data represented in 2-digit-year format caused by the transition to the year 2000. (IBM) YEAR 2000 COMPLIANT (1) can be stated as the attribute of a computer-based system to operate correctly, unambiguously and acceptably in storing, collating (sorting), displaying, and calculating date information within reasonable System and User date ranges. including leap years according to the Gregorian calendar, in a form compatible with the full ISO8601 YYYY-MM-DD form, with default installation values and error checking to specifically exclude User error, before and after the Year 2000. Acceptability Index 0 is defined as "Year 2000 Compliant". (Cinderella) (2) Technology, including but not limited to, information technology, embedded systems, or any other electro-mechanical or processor-based system, when used in accordance with its associated documentation, is capable of accurately processing, providing, and/or receiving date data from, into, and between the twentieth and twenty-first centuries, and the years 1999 and 2000, including leap year calculations; provided that all other technology properly exchanges date data with it. (IEEE) YEAR 2000 READY (1) can be stated as the attribute of a computer-based system to operate correctly and acceptably in storing, collating (sorting) and calculating dates, but where the strict "compliance" rules for display or input are relaxed to allow two digit year usage or allow ambiguity, on a descending scale of Acceptability from 2 to 8, or where User procedural action or Setup is required to allow correct operation. (Cinderella) (2) The capability of a Product, when used in accordance with its associated documentation, to correctly process, provide and/or receive date data within and between the 20th and 21st centuries, provided that all products (for example, hardware, software, and firmware) used with the Product properly exchange accurate date data with it. (IBM) (3) An organisation is Year 2000 Compliant if the performance of its systems is unaffected by dates before, during and after the year 2000. YEAR2000 SUPPORT. The ability to provide YEAR2000 READINESS. (IBM) YEAR2000 TRANSITION. The process of revising systems and databases) to correctly process date data both within and between the 20th and 21st centuries. (IBM) Y2K or Year 2000 PROBLEM (Capital Y) "pertaining to computer-related issues involving the year 2000 transition or operation before the year 2000 or thereafter. (IEEE) The Year 2000 appears to be a simple problem that is intuitively understood. But when examined closely, the solutions are varied and complex in nature. The essence of this problem is the representation of the year as a two-digit number within computer systems and other technologies. This representation may cause malfunctions to occur when a system date or application date crosses the year 2000 (whether that is the actual arrival of the date or for date processing purposes) or when the system or application must reach back into the 20th century after January 1, 2000. These malfunctions can include: * Arithmetic calculations, * Comparisons * Sorting or sequencing * Incorrect recognition of leap years * Conflict with "00" and "99" as values designated with meanings unrelated to date data * Rolling over of system date data, filling up storage registers * Failure of one or more system elements Among the environments in which mission-critical applications may be affected by Year 2000 issues include: * Bio-medical * Telecommunications/transportation * Finance/Banking * Aviation/Aerospace * National security/law enforcement Many organizations are in various stages of addressing this problem. Some are just beginning to assess the impact on their own information technology (IT) environments. Others have already begun to implement solutions. The rising need for solutions has created a market environment wherein there are a growing number of organizations offering such solutions. These organizations have also created a diverse set of terms. Many of the terms are similar on their face but have multiple meanings within differing environments, bringing potential for confusion to what should be a simply understood problem. (IEEE) By now it is common knowledge that millions of software applications may stop running or start producing incorrect results when the year 1999 changes to the year 2000. For many years software applications routinely used two digits for date storage, and the sequence of 99 followed by 00 is devastating to all time-based calculations. The most obvious way of solving the year 2000 problem has been to revise and update software applications so that dates are stored in four-digit formats rather than two-digit formats; i.e. calendar year 2000 would no longer be stored as 00 but in the true four-digit form. While changing the dates in any single application is a task that is only moderately difficult, the year 2000 problem is turning out to be a nightmare for the entire software industry and perhaps the largest business expense in human history. The reason for this is because the year 2000 problem affects almost every existing software application in the world, and there are millions of them. (CJ) Y2K LIFE CYCLE A conversion model comprised of five phases each representing a major Y2K activity. Both the private and public sectors have used this model in addressing their respective Y2K issues. The five phases are described below: * Awareness: define the year 2000 problem and gain executive level support and sponsorship * Assessment (inventory): Evaluate the year 2000 impact on the enterprise; develop contingency plans to handle data exchange issues and system failures (dysfunction or system crashes); triage (prioritize) systems by identifying those that are mission critical. * Remediation (renovation): convert, replace, or eliminate one or more system elements ; modify interfaces * Validation (audit): test, certify and validate converted or replaced one or more system elements * Implementation: Place into production converted or replaced one or more system elements. (IEEE) YY FORMAT. Synonymous with 2-DIGIT-YEAR FORMAT. (IBM) YYYY FORMAT. Synonymous with 4-DIGIT-YEAR FORMAT and a subset of CCYY FORMAT. (IBM) -------------------------------------- Usual disclaimers