Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда вы начнете тестирование? Запустите тестирование, как только вы получите требования для драйвера. Начните разработку тестовых вариантов, которые проверяют критически важные требования. Исследования показывают, что это становится более дорогим для поиска и исправления дефектов в коде, чем дольше дефекты остаются в коде. Находить и исправлять дефекты на ранних стадиях цикла разработки менее затратно и вызывает меньше сбоев, чем обнаруживать дефекты после выпуска и распространения кода. Создание тестовых вариантов на ранних этапах также поможет вам найти проблемы в проектировании.
Рекомендации по тестированию во время разработки
Используйте следующие предложения для тестирования кода драйвера и пакета драйверов.
Чтобы помочь вам найти ошибки во время компиляции:
- Объявите предоставляемые драйвером функции обратного вызова и диспетчерские процедуры, используя типы ролей функций. Это заявление помогает повысить точность средств анализа кода и средств проверки, а также эффективность тестового времени. Дополнительные сведения об объявлении функций, предоставляемых драйвером, см. в разделе "Использование объявлений типов ролей функции".
- Скомпилируйте ваш код, используя параметр Предупреждения уровня 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" (при удалении питания с устройства). Дополнительные сведения см. в разделе "Выбор и настройка базовых тестов устройств".