1. Утвердить прилагаемую Методику проведения испытаний автоматизированных информационных систем и других компонентов информационных технологий на соответствие 2000 году.
2. Центральным исполнительным органам, иным государственным органам Республики Казахстан (по согласованию) и подведомственным им организациям:
1) на основании вышеуказанной Методики в срок до 10 июня 1999 года провести соответствующие испытания, разработать, утвердить и представить в Правительство Республики Казахстан собственные планы мероприятий по решению проблемы соответствия информационных технологий 2000 году, незамедлительно приступить к их реализации;
2) не позднее 10 числа каждого последующего месяца 1999 года представлять в Правительство Республики Казахстан отчеты по реализации вышеуказанных планов мероприятий.
3. Местным исполнительным органам и подведомственным им организациям на основании вышеуказанной Методики в срок до 10 июня 1999 года провести соответствующие испытания, разработать и утвердить собственные планы мероприятий по решению проблемы соответствия информационных технологий 2000 году, незамедлительно приступить к их реализации.
4. Местным исполнительным органам Республики Казахстан:
1) представить в Правительство Республики Казахстан собственные планы мероприятий по решению проблемы соответствия информационных технологий 2000 году и сводные планы мероприятий подведомственных организаций;
2) не позднее 10 числа каждого последующего месяца представлять в Правительство Республики Казахстан отчеты по реализации вышеуказанных планов мероприятий.
5. Комиссии по координации процессов информатизации государственных учреждений в срок до 1 июля 1999 года на основе анализа представленных планов подготовить и представить на утверждение Правительства Республики Казахстан Национальный план действий по решению проблемы соответствия информационных технологий 2000 году.
6. Министерству культуры, информации и общественного согласия Республики Казахстан обеспечить публикацию утвержденной настоящим постановлением Методики в средствах массовой информации в целях ее использования в работе с иными организациями и проводить соответствующую разъяснительную работу.
7. Возложить персональную ответственность на первых руководителей организаций, указанных в пункте 2 настоящего постановления, за подготовку информационных технологий на соответствие 2000 году.
8. Настоящее постановление вступает в силу со дня подписания.
Исполняющий обязанности Премьер-Министра Республики Казахстан
Утверждена
постановлением Правительства Республики Казахстан от 13 мая 1999 года № 572
Методика
проведения испытаний АИС и других компонентов
информационных технологий на соответствие 2000 году
1. Введение
В большинстве используемых в настоящее время прикладных программных комплексах, системном обеспечении и специальных встроенных в ПЭВМ (BIOS-ax) в целях экономии оперативной памяти, места на жестком диске дата определена в формате: YY/ММ/DD, по две позиции на день, месяц, год. При наступлении 2000 года такие компьютерные системы будут интерпретировать этот год как год "ОО", кроме того, вероятно неверное определение дат високосных годов. Технологические последствия могут быть весьма разнообразными - как явными, приводящими к аварийным остановкам той или иной системы, так и незаметными, выражающимися в неправильном вычислении сроков и искажении сумм и типов банковских операций.
Выявить все места использования даты - задача непростая, поскольку дата может участвовать при создании различных ключей, паролей, имен файлов и во многих функциональных блоках и операциях.
Решение проблемы 2000 года потребует корректировки, замены либо отказа от информационных технологий, которые не учитывают перехода на новое тысячелетие. Предлагается работы проводить в трех направлениях:
Инвентаризация и анализ. Прежде, чем приступить к исправлению ошибок, замене или снятию систем с эксплуатации, необходимо провести комплексную инвентаризацию и анализ имеющейся программной и аппаратной базы по всей цепочке обмена информацией.
Исправление и (или) замена. Существует несколько подходов к исправлению даты: расширение кода даты YYYY/ММ/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. Подготовка к тестированию
Начинать тестирование АИС следует с тестирования отдельных подсистем, двигаясь снизу вверх по вертикальным уровням вычислительной архитектуры - от аппаратного к протокольному и далее к уровню приложений.
Тестирование АИС включает изменение дат на серверах и персональных компьютерах. В целях исключения сбойных ситуаций, связанных с основными производственными циклами, которые могут привести к непригодности систем безопасности, вызвать истечение срока действия лицензий, кодов, паролей и т.д. целесообразно создание отдельной среды для тестирования. Для каждой тестируемой АИС необходимо проведение планирования требований к аппаратному обеспечению, создание отдельной системной среды для тестирования:
аппаратная платформа;
операционная система, версия;
язык программирования, версия;
СУБД, версия;
наличие исходных кодов;
наличие техно-рабочей документации.
Исключение составляют системы, имеющие специальный режим тестирования даты, который может быть включен и выключен простой перенастройкой параметров, что дает возможность в любой момент времени по собственному графику проводить тестирование, в качестве примера такой системы можно привести систему SWIFТ.
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 года, требуют замены или обновления ВIОS. 5.2. Тестирование АИС При проверке систем, у которых режим тестирования является штатной возможностью, или на специальном стенде для проведения тестирования, процедура тестирования должна основываться на переустановке системных часов, и последовательность ее выглядит следующим образом: 1. Проведение полного резервного копирования системы. 2. Переключение в режим тестирования. 3. Установка системных часов на будущую дату. 4. Тестирование. 5. Установка системных часов на текущую дату. 6. Восстановление системы с резервной копии. 7. Продолжение работы.
При проверке систем, у которых режим тестирования не является штатной возможностью, процедура тестирования основывается на следующих этапах:
1. Изучение работы АИС с целью определения режимов расчета с использованием дат.
2. Изучение входных и выходных форм АИС с целью определения используемых форматов даты (формат ввода года с клавиатуры должен быть определен 4-мя знаками "YYYY").
3. Изучение структур баз данных, содержащих данные формата даты, для выявления наименований полей и при наличии возможностей СУБД переопределения формата хранения данных формата даты.
4. Проверка (сканирование) исходных кодов по переменным и
наименованиям полей баз данных для определения формата ввода и функций обработки данных формата даты. 5. Корректировка исходных кодов в соответствии с выявленными недостатками. 6. Создание резервной копии АИС. 7. Подготовка стенда тестирования и установка АИС. 8. Тестирование АИС на контрольном примере с использованием дат, приведенных в таблице. Анализ результатов тестирования и обновление версии АИС на рабочей системе. Таблица ______________________________________________________________________ Цикл ! Что тестируется ____________________________________!_________________________________ 30 декабря 1999 г.- 4 января 2000 г. Первый банковский день и переход к первому дню 2000 г. Первый банковский день в 2000 г. 28 февраля 2000 г.- 1 марта 2000 г. 2000 г.- високосный год 28 февраля 2004 г.- 1 марта 2004 г. 2004 г.- високосный год 8 сентября 1999 г.- 9 сентября Дата полностью состоящая из 1999 г. "девяток" (9/9/99) Примечание. Данная методика может дополняться и изменяться по поступлении новых данных, программных средств тестирования по проблеме 2000 года. 5.3. Тестирование с помощью программ "Сhескit-98", "Year 2000", "Y2k Check" Проверка корректности работы проводится в два этапа:
1. Тестирование одной из перечисленных ниже программ. В ходе тестирования выявляется, может ли компьютер воспринимать дату позднее 31.12. 1999 года и если нет, то можно ли исправить эту ошибку.
2. Исправление ошибки, связанной с некорректным трактованием даты.
Если тестирование показало, что исправить ошибку невозможно, то компьютер следует использовать только для работы программ, не работающих с датами (Лексикон, Super Calc и т.д.). В противном случае компьютер подлежит замене или изменению аппаратной конфигурации.
Примечания:
1. Рекомендуется использование программы "Сhескit-98", как наиболее полного и корректного программного обеспечения. Если программное обеспечение "Checkit-98" по каким-либо причинам не работает на тестируемом компьютере, следует использовать программы из разделов II или III.
2. После работы одной из перечисленных программ подвергать машину тестам с помощью другой программы не рекомендуется.
I. Использование программы "Checkit-98"
1. Проинсталлировать "Checkit-98" на один компьютер под управлением Windоws-9х.
2. Запустить программу "Checkit Year 2000" и с помощью меню создать тестовый диск, который можно использовать для тестирования компьютеров под управлением MS Windows или МS-DОS.
3. Скопировать на тестовый диск файл FIХ2000.ЕХЕ., находящийся в директории с проинсталлированным Сhескit-98.
4. Вставить диск в машину, подлежащую тестированию, перезагрузиться и ожидать завершения теста.
Инструкция по результатам прохождения теста:
1. Все пункты теста выдали "РАSS". Машина полностью соответствует требованиям 2000 года. Никаких исправлений не требуется.
2. Некоторые пункты теста выдали "FАIL", но в разделе "Millenium Operation with Checkit" все три пункта тестирования выдали "РАSS".
Скопировать с дискеты файл FIХ2000.ЕХЕ в корневой каталог диска С: и вставить в начало файла С:\СОNFIG.SYS строку: DЕVIСЕ=С:\FIХ2000.ЕХЕ. После этого работа с датой будет производиться корректно.
3. Некоторые пункты теста в разделе "Millenium Operation with Checkit" выдали "FАIL". Компьютер не сможет работать с датой 2000 года и его следует заменить.
II. Использование программы "Year 2000"
1. Программы работают только под управлением MS DOS любой версии. Если машина находится в Windows 9х, необходимо перезагрузиться в режим MS DОS.
2. Вставить дискету с "Year 2000" и запустить программу RUNТЕSТ.ВАТ.
3. Если в ходе выполнения программы в одном из пунктов результат будет
"FАIL", то по окончании выполнения необходимо запустить программу INSТАLL. ВАТ, которая исправит выявленные ошибки. III. Использование программы "Y2k Click" 1. Программы работают только под управлением MS DOS любой версии. Если машина находится в Windows 9х, необходимо перезагрузиться в режим MS DОS. 2. Вставить дискету с "Y2k" и запустить программу Y2КСНЕСК.СОМ. 3. Если в ходе выполнения программы в одном из пунктов результат будет "FАIL", то по окончании выполнения необходимо скопировать на жесткий диск в главный каталог программу "Y2КАNSWR.СОМ" и в АUТОЕХЕС.ВАТ первой строкой вписать "С:\Y2КАNSWR.СОМ". Программа "Y2КАNSWR.СОМ" исправляет выявленные ошибки. 5.4.Тестирование специализированного программного обеспечения Методика тестирования языка программирования Delphi на стендовом приложении для ОС Windows 95
1. Разработать стендовое приложение с возможностью считывания данных
системой даты и размещения их в оперативной памяти. 2. Проверить корректность обращения стендового приложения к системной дате с заведомо установленным значением после порога 2000 года. Результаты вывести на экранную форму. 3. Проверить корректность проведения стендовым приложением различных математических операций с датами, находящимися по своим значениям за порогом 2000 года. Результаты вывести на экранную форму. 4. Выделить у вызванного датового значения, находящегося за порогом 2000 года: день, месяц, год с выводом результатов на экранную форму. Методика тестирования языка Delphi на стендовом приложении для локальной базы данных *.DВF. 1. Создать стендовую базу данных stеnd.dbf со следующей структурой: ______________________________________________________________________ Наименование поля ! Тип поля ! Размер ________________________!____________________!________________________ Р 1 Number 3 P 2 Date - P 3 Date - P 4 Date - 2. Разработать стендовое приложение с приведенными выше возможностями, но с добавлением функций для работы с локальной базой данных stеnd.dbf. 3. Записать в первую запись базы данных следующие значения: 1; 2001.01.03; 1990.02.03; 2030.01.01. 4. Отобразить введенные значения на экранную форму.
5. Проделать всевозможные математические операции с данными полей Р2 и Р3 с записью результатов D поле Р4 и вывести на экранную форму.
6. Применить стандартные функции преобразования датовых данных других типов и функции обратного преобразования к данным со значением, находящимся за порогом 2000 года.
Результаты выводить на экранную форму. Рекомендуется при выполнении тестирования вести протоколы каждого действия и соответствующего ему результата.
Приложение
Основные примеры тестирования правильности
функционирования системных часов в АИС Пример 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 и затем проверьте данные с датами. (Специалисты: Э.Жакупова И.Сельдемирова)