Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Когда вы начнете тестирование? Как только у вас есть требования к драйверу, вы можете приступить к разработке тестовых вариантов для проверки того, что критически важные требования были реализованы. Исследования показывают, что поиск и исправление дефектов в коде становится дороже, чем дольше дефекты остаются в коде. Поиск и исправление дефектов в начале цикла разработки является менее дорогостоящим и разрушительным, чем поиск дефектов после выпуска и распространения кода. Создание тестовых вариантов на ранних этапах также поможет вам найти проблемы в проектировании.
Рекомендации по тестированию во время разработки
Используйте следующие предложения для тестирования кода драйвера и пакета драйверов.
Чтобы помочь вам найти ошибки во время компиляции:
Объявите функции обратного вызова и подпрограммы отправки, предоставляемые драйвером, используя функциональные типы ролей. Это помогает повысить точность средств анализа кода и средств проверки и эффективности тестового времени. Дополнительные сведения об объявлении функций, предоставляемых драйвером, см. в разделе "Использование объявлений типов ролей функции".
Скомпилируйте код с помощью параметра "Предупреждения уровня 4 (/W4)". Исправление предупреждений, обнаруженных компилятором, увеличит качество кода драйвера и поможет устранить дополнительные дефекты в начале цикла разработки.
Заметьте код с помощью языка заметок исходного кода Майкрософт (SAL) 2.0. В заметках описывается, как функция использует свои параметры — предположения, которые она делает о них, и гарантии, которые она делает после завершения. Заметки также повышают точность средств анализа кода. Дополнительные сведения о заметках, относящихся к драйверу, см. в заметках SAL 2.0 для драйверов.
Используйте средства для проверки драйверов во время разработки драйвера. Рекомендации по использованию определенных средств проверки см. в статье "Анализ драйвера с помощью средств анализа кода и проверки".
Чтобы протестировать пакет драйвера, выполните приведенные действия.
Создайте INF-файл и пакет драйвера в начале процесса разработки и используйте его во время тестирования.
Используйте средство InfVerif для проверки структуры и синтаксиса INF-файла, а также для диагностики INF-файла и других проблем, связанных с установкой.
Используйте средство Inf2Cat (с параметром /nocat ), чтобы выполнить дополнительную проверку INF-файла. Inf2Cat может убедиться, что файлы, на которые ссылается INF, присутствуют и помещаются в каталог пакета, так как INF ожидает, что они будут.
Подписывание драйверов для упрощения установки и тестирования драйверов, как описано в разделе "Подписывание драйверов во время разработки и тестирования".
Запустите тест DriverInstall , включенный в состав базовых тестов устройств, предоставляемых в WDK. Узнайте , как протестировать драйвер во время выполнения с помощью Visual Studio и как выбрать и настроить базовые тесты устройств. Тест DriverInstall можно запустить после развертывания драйвера на тестовом компьютере. Вы можете добавить тест DriverInstall в группу тестов драйверов. Тест DriverInstall отображается в категориях тестов драйверов во всех тестах\Basic\Device Basics\DriverInstall.
Устранение неполадок с установкой устройств с помощью диспетчера устройств для просмотра системных сведений о драйверах и устройствах, а также путем консультации с журналом SetupAPI. Журнал SetupAPI содержит сведения о последовательности операций, произошедших во время установки устройства или драйвера.
С помощью Visual Studio и WDK можно протестировать и устранить неполадки при развертывании драйвера на тестовом компьютере, см. статью "Развертывание драйвера на тестовом компьютере". Выберите параметр "Установить и проверить " из свойств развертывания для проектов пакетов драйверов. При выборе этого параметра и указании задачи установки пакета драйверов по умолчанию (возможная перезагрузка) или задачи установки пакета драйвера принтера по умолчанию (возможная перезагрузка) тест считывает INF-файл драйвера и устанавливает драйвер. Затем тест проверяет, запущен ли драйвер. По завершении тест содержит подробные сведения об успешном выполнении или сбое задачи установки. Результаты отображаются в обозревателе группы тестирования драйверов в разделе "Установка драйверов для групп > тестирования". Имя задачи — задача установки пакета драйверов по умолчанию.
Чтобы протестировать драйвер во время выполнения, выполните следующую команду:
Запустите базовые тесты устройства, включенные в WDK. Узнайте , как протестировать драйвер во время выполнения с помощью Visual Studio и как выбрать и настроить базовые тесты устройств.
Настройте отладчик, чтобы устранить неполадки и отладить результаты теста. Дополнительные сведения см. в статье "Начало работы с отладкой Windows".
Включите средство проверки драйверов на тестовых компьютерах, используемых для развертывания, см. статью "Свойства средства проверки драйверов для проектов драйверов". Выберите параметр проверки соответствия DDI . Если ваш драйвер не проходит проверку соответствия DDI, запустите Static Driver Verifier и укажите правило или правила, вызвавшие сбой. Средство проверки статических драйверов поможет найти причину ошибки в исходных файлах.
Протестируйте драйвер и устройство на столько разных конфигураций оборудования, сколько это возможно. Изменение оборудования помогает найти конфликты между устройствами и другими ошибками в взаимодействии с устройствами. Например, следует протестировать драйвер и устройство на компьютерах с различными архитектурами процессора и на компьютерах под управлением 32-разрядных и 64-разрядных версий Windows.
Проверьте драйвер и устройство в многопроцессорных системах. Условия гонки и другие проблемы с временем возникают в системах с несколькими процессорами, которые в противном случае невозможно обнаружить. Узнайте , как выбрать и настроить базовые тесты устройств и параметры загрузки для тестирования драйверов для поддержки нескольких групп обработчиков.
Проверьте драйвер и устройство в определённых системных и аппаратных условиях, особенно в экстремальных ситуациях. Например, эти условия могут включать "D3 горячий" и "D3 холодный". Убедитесь, что драйвер и устройство могут правильно вернуться из состояния питания устройства "D3 hot" (без потери питания) и "D3 cold" (при удалении питания с устройства). Дополнительные сведения см. в разделе "Выбор и настройка базовых тестов устройств".