Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДП.docx
Скачиваний:
11
Добавлен:
23.09.2019
Размер:
4.64 Mб
Скачать

3.2.1 Основные отладочные тесты

В общем случае, тесты для драйвера можно разделить на следующие категории [3.4]:

  • Тесты на нормальную реакцию должны подтверждать полноту и точность функций драйвера. Правильно ли откликается драйвер на команды, как это от него ожидается?

  • Тесты на ошибочные воздействия должны удостовериться, правильно ли реагирует драйвер на воздействия, которые, вообще говоря, не должны к нему применяться. «Ошибочное» воздействие может также состоять в неверном на­боре данных, поступившем в пользовательском запросе.

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

  • Тесты на предельную нагрузку проверяют драйвер и устройство при высо­ких уровнях активности.

  • Тесты на функционирование в условиях ограниченности ресурсов, то есть работа при ограниченной доступности центрального процессора, ограничен­ность объемов доступной оперативной памяти.

Фирма Microsoft предлагает тесты на аппаратурную совместимость (НСТ, Hard­ware Compatibility Tests), которые являются официальными тестами для аппарату­ры по поводу возможности ее работы под Windows 2000/ХР/Vista/7. Набор включает следующие тесты [3.5]:

  • Общие системные тесты, которые экзаменуют центральный процессор, по­следовательные и параллельные порты материнской платы, клавиатуру и средства поддержки слоя аппаратный абстракций HAL.

  • Тесты по проверке специфических типов аппаратного обеспечения, а имен­но — видеоадаптеров, мультимедийных устройств, сетевых интерфейсов, на­копителей на магнитной ленте, SCSI устройств и т.п.

  • Общие тесты по тестированию работы системы под действием высоких нагрузок на системные ресурсы и устройства ввода/вывода.

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

3.2.2 Основные «проблемы», возникающие при отладке драйвера

Если тестирование сигнализирует о наличии ошибок, то более сложной пробле­мой является локализация их источника. Разумеется, драйверы могут отказываться работать многими интересными способами. Я не буду приводить обширный список причин сбоев, но перечислить некоторые общие типы драйверных патологий все-таки имеет смысл.

3.2.2.1 Аппаратные проблемы

Априори, аппаратура есть источник проблем. Сильнее всех в этом убежден раз­работчик программного обеспечения. Вероятность того, что это действительно так, тем выше, чем новее аппаратура. Симптомами аппаратных про­блем являются [3.5]:

  • ошибки при передаче данных;

  • коды состояния устройства сигнализируют об ошибке;

  • устройство не реагирует должным образом на команды;

  • сигналы прерывания не поступают, либо они ложные.

Причина упомянутых отклонений может быть и просто в недостаточной документированности поведения устройства. Разработчик аппаратуры после некоторых размышлений изменил конструкцию, но не исправил документацию и не со­общил об изменениях разработчику драйвера, возможно, посчитав их незначительными. Могут существовать малоизвестные или неисследованные ограничения на порядок следования команд — как в смысле последовательности, так и в смысле их временных диаграмм. Аппаратные прошивки (программы, загружаемые в обслуживаемые драйвером устройства) также могут содержать ошибки. Могут возникать сбои в шинных протоколах, причем из-за непериодических сбоев других устройств, подключенных к данной шине.