Методика Правительства от 13.05.1999 N 572 "МЕТОДИКА ПРОВЕДЕНИЯ ИСПЫТАНИЙ АИС И ДРУГИХ КОМПОНЕНТОВ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ НА СООТВЕТСТВИЕ 2000 ГОДУ"

1. Введение

В большинстве используемых в настоящее время прикладных программных комплексах, системном обеспечении и специальных встроенных в ПЭВМ (BIOS - ах) в целях экономии оперативной памяти, места на жестком диске дата определена в формате: YY/MM/DD, по две позиции на день, месяц, год. При наступлении 2000 года такие компьютерные системы будут интерпретировать этот год как год "00", кроме того, вероятно неверное определение дат високосных годов. Технологические последствия могут быть весьма разнообразными - как явными, приводящими к аварийным остановкам той или иной системы, так и незаметными, выражающимися в неправильном вычислении сроков и искажении сумм и типов банковских операций.

Выявить все места использования даты - задача непростая, поскольку дата может участвовать при создании различных ключей, паролей, имен файлов и во многих функциональных блоках и операциях.

Решение проблемы 2000 года потребует корректировки, замены либо отказа от информационных технологий, которые не учитывают перехода на новое тысячелетие. Предлагается работы проводить в трех направлениях:

Инвентаризация и анализ. Прежде чем приступить к исправлению ошибок, замене или снятию систем с эксплуатации, необходимо провести комплексную инвентаризацию и анализ имеющейся программной и аппаратной базы по всей цепочке обмена информацией.

Исправление и(или) замена. Существует несколько подходов к исправлению даты:

расширение кода YYYY/MM/DD в прикладных системах, реструктурирование полей баз данных, расширение с 2 цифр до 4 цифр (2001 представляется как 2001, не как 01);

Windowing (логическое исправление). Диапазон дат ставится в соответствие тысячелетию: например, даты от "60" до "99" принимаются для 1960 до 1999 гг. и даты от "00" до "59" принимаются для 2000 до 2059 гг.;

герметизация (которая вовлекает логику обертывания вокруг вводов и выводов неизменной программы с 2 цифрами так, чтобы она давала правильные ответы с 4 цифрами). Этот метод может применяться в случае, если исходные коды не могут быть изменены (отсутствие или несоответствие исходного кода);

имеющиеся в эксплуатации устаревшие аппаратные средства, BIOS которых работает некорректно с датой, должны быть заменены на новые. Устаревшие машины могут быть использованы на участках, не связанных с корректной обработкой даты (например, подготовка документов);

сетевые и локальные операционные системы устаревших версий должны быть заменены на новые;

если есть доступ к текстам исходных программ, переработке подлежат:

все программное обеспечение, прямым или косвенным образом использующее латы, при вводе которых используются только два последних года;

программное обеспечение, ориентированное на СУБД, поддерживающих диапазон дат, ограниченных 20 столетием;

программное обеспечение, ориентированное на использование сетевых операционных систем устаревших версий, с учетом использования новых версий.

Признание неизбежности ошибок косметического характера в трактовании дат, которые не влияют на работоспособность систем. Если установлено, что проблема носит чисто косметический характер, то, возможно, лучше оставить ее как есть.

Снятие с эксплуатации. Организациям, возможно, придется снять с эксплуатации некоторые системы из-за нехватки времени в связи с устранением проблемы в более важных или критически важных системах.

2. Объекты испытаний

Объектами испытаний являются автоматизированные информационные системы (АИС) и другие компоненты информационных технологий. Проверке на соответствие 2000 году подлежат:

процедуры обработки всей информации, связанной с датами;

входные, выходные и экранные формы;

процесс архивирования и восстановления данных при пересечении границы тысячелетия в обоих направлениях;

системное программное обеспечение;

аппаратные средства (инфраструктура);

процедуры взаимодействия между программными продуктами разных производителей.

3. Цель испытаний

Основная цель проведения тестирования - гарантировать операционную целостность АИС, программных интерфейсов с другими системами, встроенных систем, после завершения внесения изменений в программное обеспечение по корректировке формата представления даты, и обеспечить контроль за поступлением данных в АИС с некорректной датой из другой АИС или других внешних источников после перехода на 2000 год.

Информационная система соответствует требованиям проблемы тысячелетия, если по результатам тестирования подтверждается следующее:

отсутствуют ограничения по обработке информации, связанной с датами, и обеспечивается переход от дат, обозначенных "19." к датам, обозначенным как "20.", при этом АИС должна корректно обрабатывать данные до 2000 года и после 2000 года, а также в переходный период с 1999 по 2000 годы;

учитываются високосные годы, в том числе и 2000 год.

4. Средства и порядок испытаний

Внутренние тесты - тесты, в которые непосредственно не вовлечены внешние стороны. Обеспечивают проверку правильного выполнения прикладных программ и среды программного и технического обеспечения, в которой они работают.

Внешние тесты - это тесты с информационными средствами, вступающими в интерфейс с данной системой.

4-1. Подготовка к тестированию

Начинать тестирование АИС следует с тестирования отдельных подсистем, двигаясь снизу вверх по вертикальным уровням вычислительной архитектуры - от аппаратного к протокольному и далее к уровню приложений.

Тестирование АИС включает изменение дат на серверах и персональных компьютерах. В целях исключения сбойных ситуаций, связанных с основными производственными циклами, которые могут привести к непригодности систем безопасности, вызвать истечение срока действия лицензий, кодов, паролей и т.д. целесообразно создание отдельной среды для тестирования. Для каждой тестируемой АИС необходимо проведение планирования требований к аппаратному обеспечению, создание отдельной системной среды для тестирования:

аппаратная платформа;

операционная система, версия;

язык программирования, версия;

СУБД, версия;

наличие исходных кодов;

наличие техно - рабочей документации.

Исключение составляют системы, имеющие специальный режим тестирования даты, который может быть включен и выключен простой перенастройкой параметров, что дает возможность в любой момент времени по собственному графику проводить тестирование, в качестве примера такой системы можно привести систему SWIFT.

4-2. Разработка сценария теста

Для каждой тестируемой АИС необходимо провести работы по планированию теста. План проведения тестирования должен включать:

наличие описания модели взаимодействия с другими подсистемами;

обеспечение полной функциональности тестирования;

подготовку данных для контрольного примера, обеспечивающих проверку работы режимов, использующих операции с датами;

подготовку процедуры тестирования, которая должна основываться на переустановке системных часов на критические даты в соответствии с таблицей. Предварительное тестирование на наличие проблемы 2000 года в АИС может быть проведено в соответствии с приложением;

выявление всех мест некорректного использования даты;

модификацию формата представления даты в программном обеспечении тестируемой АИС;

проведение повторного тестирования - функциональность АИС не должна измениться в результате внесенных изменений по формату представления даты;

документирование результатов тестирования.

5. Методы испытаний

5.1. Тестирование оборудования и программного обеспечения

Основные примеры тестирования системных часов персональных компьютеров:

Пример 1. Проверка установки даты после 2000 года:

установите системные часы в 2000/01/01,00:01:00;

проверьте дату;

если дата установлена правильно, выключите питание, включите питание и затем снова проверьте дату.

Пример 2. Проверка автоматического перехода часов на 2000 год при включенном питании:

установите на системных часах дату 1999/12/31,23:58:00;

оставьте питание включенным;

подождите, пока показания часов не достигнут 2000 года;

проверьте дату;

если она установлена правильно, выключите питание и, после включения, снова проверьте дату.

Пример 3. Проверка автоматического перехода часов на 2000 год при выключенном питание:

установите на системных часах дату 1999/12/31,23:58:00;

выключите питание;

подождите, пока показания часов не достигнут 2000 года;

включите питание;

проверьте дату.

Пример 4. Проверка обновления программного времени операционной системы без включения таймера:

установите системные часы в 1999/12/31,23:58:00;

приостановите программу индикации отсчета времени, не "включая" таймер;

оставьте питание включенным;

подождите, пока показания часов не достигнут 2000 года;

пустите дальше программу индикации отсчета времени и проверьте дату.

Пример 5. Проверка обновления программного времени операционной системой с включением таймера:

установите системные часы в 1999/12/31,23:58:00;

приостановите программу индикации отсчета времени, установив таймер в 2000/01/01,00:01:00;

оставьте питание включенным;

подождите, пока сработает таймер;

проверьте дату.

По результатам проведенных испытаний выявить компьютеры, которые не соответствуют требованиям 2000 года, требуют замены или обновления BIOS.

5.2. Тестирование АИС

При проверке систем, у которых режим тестирования является штатной возможностью, или на специальном стенде для проведения тестировании, процедура тестирования должна основываться на переустановке системных часов, и последовательность ее выглядит следующим образом:

1. Проведение полного резервного копирования системы.

2. Переключение в режим тестирования.

3. Установка системных часов на будущую дату.

4. Тестирование.

5. Установка системных часов на текущую дату.

6. Восстановление системы с резервной копии.

7. Продолжение работы.

При проверке систем, у которых режим тестирования не является штатной возможностью, процедура тестирования основывается на следующих этапах:

1. Изучение работы АИС с целью определения режимов расчета с использованием дат.

2. Изучение входных и выходных форм АИС с целью определения используемых форматов даты (формат ввода года с клавиатуры должен быть определен 4 знаками "YYYY").

3. Изучение структур баз данных, содержащих данные формата даты, для выявления наименований полей и при наличии возможностей СУБД переопределения формата хранения данных формата даты.

4. Проверка (сканирование) исходных кодов по переменным и наименованиям полей баз данных для определения формата ввода и функций обработки данных формата даты.

5. Корректировка исходных кодов в соответствии с выявленными недостатками.

6. Создание резервной копии АИС.

7. Подготовка стенда тестирования и установка АИС.

8. Тестирование АИС на контрольном примере с использованием дат, приведенных в таблице.

Анализ результатов тестирования и обновление версии АИС на рабочей системе.

Таблица

---------------------------------------T-------------------------¬
¦             Цикл                     ¦   Что тестируется       ¦
+--------------------------------------+-------------------------+
¦30 декабря 1999 г. - 4 января 2000 г. ¦ Первый банковский день  ¦
¦                                      ¦ и переход к первом дню  ¦
¦                                      ¦ 2000 г.                 ¦
+--------------------------------------+-------------------------+
¦Первый банковский день в 2000 г.      ¦                         ¦
+--------------------------------------+-------------------------+
¦28 февраля 2000 г. - 1 марта 2000 г.  ¦ 2000 г. - високосный год¦
+--------------------------------------+-------------------------+
¦28 февраля 2004 г. - 1 марта 2004 г.  ¦ 2004 г. - високосный год¦
+--------------------------------------+-------------------------+
¦8 сентября 1999 г. - 9 сентября 1999 г¦ Дата, полностью         ¦
¦                                      ¦ состоящая из "девяток"  ¦
¦                                      ¦ (9/9/99)                ¦
L--------------------------------------+--------------------------

------------------------------

Примечание. Данная методика может дополняться и изменяться по поступлении новых данных, программных средств тестирования по проблеме 2000 года.

5.3. Тестирование с помощью программ "Checkit-98", "Year 2000", "Y2k Check"

Проверка корректности работы проводится в два этапа:

1. Тестирование одной из перечисленных ниже программ. В ходе тестирования выявляется, может ли компьютер воспринимать дату позднее 31.12.1999 года и если нет, то можно ли исправить эту ошибку.

2. Исправление ошибки, связанной с некорректным трактованием даты.

Если тестирование показало, что исправить ошибку невозможно, то компьютер следует использовать только для работы программ, не работающих с датами (Лексикон, Super Calc и т.д.). В противном случае компьютер подлежит замене или изменению аппаратной конфигурации.

-------------------------------

Примечания:

1. Рекомендуется использование программы "Checkit-98" как наиболее полного и корректного программного обеспечения. Если программное обеспечение "Checkit-98" по каким-либо причинам не работает на тестируемом компьютере, следует использовать программы из разделов II или III.

2. После работы одной из перечисленных программ подвергать машину тестам с помощью другой программы не рекомендуется.

I. Использование программы "Checkit-98",

1. Проинсталлировать "Checkit-98" на один компьютер под управлением Windows-9x.

2. Запустить программу "Checkit Year 2000" и с помощью меню создать тестовый диск, который можно использовать для тестирования компьютеров под управлением MS Windows или MS - DOS.

3. Скопировать на тестовый диск файл FIX2000.EXE., находящийся в директории с проинсталлированным "Checkit-98".

4. Вставить диск в машину, подлежащую тестированию, перезагрузить и ожидать завершения теста.

Инструкция по результатам прохождения теста:

1. Все пункты теста выдали "PASS". Машина полностью соответствует требованиям 2000 года. Никаких исправлений не требуется.

2. Некоторые пункты теста выдали "FAIL", но в разделе "Millenium Operation with Checkit" все три пункта тестирования выдали "PASS".

Скопировать с дискеты файл FIX2000.EXE в корневой каталог диска С: и вставить в начало файла С:/CONFIG.SYS строку: DEVICE=C:\FIX2000.EXE. После этого работа с датой будет производиться корректно.

3. Некоторые пункты теста в разделе "Millenium Operation with Checkit" выдали "FAIL". Компьютер не сможет работать с датой 2000 года, и его следует заменить.

II. Использование программы "Year 2000"

1. Программы работают только под управлением MS DOS любой версии. Если машина находится в Windows-9х, необходимо перезагрузиться в режим MS DOS.

2. Вставить дискету с "Year 2000" и запустить программу RUNTEST.BAT.

3. Если в ходе выполнения программы в одном из пунктов результат будет "FAIL", то по окончании выполнения необходимо запустить программу INSTALL.BAT, которая исправит выявление ошибки.

III. Использование программы "Y2k Check"

1. Программы работают только под управлением MS DOS любой версии. Если машина находится в Windows-9х, необходимо перезагрузиться в режим MS DOS.

2. Вставить дискету с "Y2k" и запустить программу Y2KCHECK.COM.

3. Если в ходе выполнения программы в одном из пунктов результат будет "FAIL", то по окончании выполнения необходимо скопировать на жесткий диск в главный каталог программу "Y2KANSWR.COM" и в AUTOEXEC.BAT. первой строкой вписать "С:\Y2KANSWR.COM". Программа "Y2KANSWR.COM" исправляет выявленные ошибки.

5.4. Тестирование специализированного программного обеспечения

Методика тестирования языка программирования Delphi на
стендовом приложении для OC Windows 95

1. Разработать стендовое приложение с возможностью считывания системой даты и размещения их в оперативной памяти.

2. Проверить корректность обращения стендового приложения к системной дате с заведомо установленным значением после порога 2000 года. Результаты вывести на экранную форму.

3. Проверить корректность проведения стендовым приложением различных математических операций с датами, находящимися по своим значениям за порогом 2000 года. Результаты вывести на экранную форму.

4. Выделить у вызванного датового значения, находящегося за порогом 2000 года, день, месяц, год с выводом результатов на экранную форму.

Методика тестирования языка Delphi на стендовом
приложении для локальной базы данных *.DBF.

1. Создать стендовую базу данных stend.dbf со следующей структурой:

---------------------------T------------------T------------------¬
¦    Наименования поля     ¦    Тип поля      ¦     Размер       ¦
+--------------------------+------------------+------------------+
¦    P1                    ¦    Number        ¦        3         ¦
+--------------------------+------------------+------------------+
¦    P2                    ¦    Date          ¦        -         ¦
+--------------------------+------------------+------------------+
¦    P3                    ¦    Date          ¦        -         ¦
+--------------------------+------------------+------------------+
¦    P4                    ¦    Date          ¦        -         ¦
L--------------------------+------------------+-------------------

2. Разработать стендовое приложение с приведенными выше возможностями, но с добавлением функций для работы с локальной базой данных stend.dbf.

3. Записать в первую запись базы данных следующие значения:

1;

2001.01.03;

1990.02.03;

2030.01.01.

4. Отобразить введенные значения на экранную форму.

5. Проделать всевозможные математические операции с данными полей Р2 и Р3 с записью результатов в поле Р4 и вывести на экранную форму.

6. Применить стандартные функции преобразования датовых данных других типов и функций обратного преобразования к данным со значением на экранную форму. Рекомендуется при выполнении тестирования вести протокол каждого действия и соответствующего ему результата.

Приложение 0. Основные примеры тестирования правильности функционирования системных часов в АИС

Пример 1. Проверка правильности функционирования часов в основных переходных точках и при выполнении автоматических операций:

переход на другие сутки;

переход на следующую неделю;

переход на вторую половину месяца;

переход на следующий месяц;

переход к следующей паре месяцев;

переход к следующему кварталу;

переход к следующему полугодию;

переход к следующему году;

архивирование;

рестарт для восстановления системы;

запрос к часам.

Пример 2. Проверка установки и отображения на экране специфических дат, например:

1900/2/29 - должно выдаваться сообщение о сбое, так как 1900 год не является високосным;

1996/2/29 - сообщения о сбое не должно быть, так как 1996 год високосный;

2000/2/29 - сообщения о сбое не должно быть, так как 2000 год является високосным;

00/01/01 - должны высвечивается четыре цифры даты, значение которой зависит от приложения. Например, 1900/01/01, 2000/01/01 и т.д.;

1999/12/31 - это дата должна отличаться от обычного конца года, так как она является концом столетия.

Пример 3. Проверка обработки "датозависимых" данных до и после 2000/01/01 с разными вариантами установки времени:

используйте текущее значение системных часов, чтобы проверить данные с датами;

установите системные часы в 1999/12/31 и затем проверьте данные с датами;

установите на системные часы значение после 2000/01/01 и затем проверьте данные с датами.

 

 
Тексты документов приведены в редакциях, актуальных на дату добавления текста в нашу базу данных. За время, прошедшее с указанной даты текст документа мог быть изменен и дополнен, правовой акт мог прекратить свое действие.
Хотя информация получена из источников, которые мы считаем надежными и наши специалисты применили максимум сил для выверки правильности полученных версий текстов приведенных нормативных актов, мы не можем дать каких-либо подтверждений или гарантий (как явных, так и неявных) относительно их точности.
Тексты документов приводятся в ознакомительных целях. ТОО "КАМАЛ-Консалтинг" не несет ответственности за любые последствия какого-либо применения формулировок и положений, содержащихся в данных версиях текстов правовых актов, за использование данных версий текстов правовых актов в качестве основы или за какие-либо упущения в текстах публикуемых здесь правовых актов.