Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы_5.doc
Скачиваний:
45
Добавлен:
25.09.2019
Размер:
4.72 Mб
Скачать
  1. Методы тестирования и диагностики программных и аппаратных средств.

Необходимость программного контроля обусловлена недостатками существующих аппаратных методов контроля: недостаточными полнотой охвата и глубиной контроля всех устройств, большими затратами оборудования и, как следствие, большой стоимостью. Кроме того, для ряда устройств и блоков ЭВМ в принципе трудно реализовать аппаратурный контроль.

Наибольший интерес представляют методы программного контроля, позволяющие контролировать вычислительный процесс, т.е. правильность решения задачи с помощью ЭВМ.

На первых этапах развития методов программного контроля широко применялся метод двойного-тройного счета. Однако он требовал для своей реализации больших затрат машинного времени, что снижало производительность ВС более чем в два раза. Поэтому возникла необходимость в разработке и практическом внедрении более экономичных и совершенных методов контроля, которая привела к созданию алгоритмических и логических методов программного контроля процессов решения задач на ЭВМ.

Алгоритмическим контролем называются специальные программные методы проверки правильности реализации с помощью ЭВМ алгоритмов обработки информации и управления. Под реализацией алгоритмов понимается как процесс вычислений, так и преобразование потока информации в требуемую форму для последующей обработки или передачи потребителю.

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

Xi0 − Xiy ≤ ΔXi , где хi0 - результаты решения задачи по основному алгоритму в i-м цикле вычислений; хiy - то же, но по усеченному алгоритму; i ΔX - величина невязки, в пределах которой расхождения между хi0 и хiy в i-м цикле считаются допустимыми. В случае вычисления хi0 и хiy по одному алгоритму (при двойном счете) сравнение результатов ведется на абсолютное равенство ( i ΔX =0).

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

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

а). Контроль по предельным значениям вычисляемых параметров.

Этот вид контроля состоит в проверке ряда условий, которые определяются физической сущностью контролируемого параметра или математическими соотношениями.

Например, правильность вычисления значений вероятностей различных событий контролируется по выполнению соотношения 0 ≤ P ≤ 1.

b). Контрольные соотношения с использованием дополнительных переменных.

Метод состоит во введении искусственных переменных, которые либо связаны известными соотношениями с основными переменными, либо значения этих переменных при определенных условиях известны заранее.

c). Контроль обратным просчетом.

В данном методе по полученному результату находят исходные данные (аргументы) и сравнивают их с начальными исходными данными. Если они совпадают (с заданной точностью), то полученный результат считается верным.

d). Контроль повторным счетом.

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

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

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

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

На практике строят такие тесты, которые обнаруживают не все, а только заранее определенные отказы. Задача этих тестов состоит в проверке работоспособности устройства в целом с достаточно большой глубиной. Жестких требований на время их выполнения не накладывается, поэтому данные тесты, как правило, достаточно объемны.

Тестовый контроль устройств ЭВМ осуществляется при помощи специальных тест-программ, составленных из отдельных блоков. Все блоки построены по единому принципу: вначале осуществляется подача на вход устройства входного слова, затем происходит сравнение выходного слова с эталоном. Если они совпали, переходят к выполнению следующего блока, если не совпали, то автоматическая проверка прекращается.

Различают два вида проверок:

1). На постоянных словах, когда входные слова и эталоны подбираются заблаговременно и в процессе контроля не меняются. Тест-программы, использующие постоянные слова, обладают малым временем выполнения и обеспечивают максимальный охват проверяемых элементов, однако они занимают большой объем памяти и их построение требует больших затрат времени.

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