DF — нечеткий случайный тест IOCTL (надежность)
Во время случайных тестов тест Fuzz выполняет ряд вызовов функции DeviceIoControl с кодами функций, типами устройств, методами передачи данных и требованиями к доступу, выбранными случайным образом из указанного диапазона значений. Вызовы включают входные и выходные буферы с допустимыми и недопустимыми указателями и длинами буфера, а также случайно созданное содержимое.
Тест Fuzz выполняет случайные тесты на всех устройствах, открытых во время базового открытого теста и дополнительных открытых тестов. Этот тест можно настроить с помощью следующих параметров:
- Использование MinFunctionCode и MaxFunctionCode для указания диапазона кодов функций IOCTL или FSCTL, используемых в вызовах
- Используйте MinDeviceType и MaxDeviceType , чтобы указать диапазон типов устройств, используемых в вызовах.
- Используйте SeedNumber , чтобы указать начальное число для подпрограммы создания случайных чисел.
Функция, которую тест Fuzz использует для создания случайных чисел для теста, использует начальное число для алгоритма создания случайных чисел. Чтобы воспроизвести условия теста, используйте параметр начального номера, чтобы указать начальный номер, который использовался в исходной тестовой пробной версии.
Специализированный случайный тест включается в состав случайного теста. Специализированный случайный тест использует результаты случайного теста для более подробного изучения ответов на запросы FSCTL. Специализированные случайные тесты проверяют области, пропущенные случайным тестом, и области, на которые драйвер не ответил должным образом в зависимости от состояния, возвращаемого случайными вызовами теста.
Двоичный файл теста: Devfund_FuzzTest.dll Методы теста: DoRandomFSCTLTest
Сведения о тесте
Характеристики |
|
Платформы |
|
Поддерживаемые выпуски |
|
Ожидаемое время выполнения (в минутах) | 15 |
Категория | Сценарий |
Время ожидания (в минутах) | 180 |
Требуется перезагрузка | false |
Требуется специальная конфигурация | Да |
Тип | automatic |
Дополнительная документация
Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:
Выполнение теста
Перед запуском теста завершите настройку теста, как описано в разделе Требования к тестированию : Предварительные требования к тестированию надежности Device.Fundamentals.
Устранение неполадок
Общие сведения об устранении неполадок при тестировании HLK см. в разделе Устранение неполадок при тестировании Windows HLK.
Сведения об устранении неполадок, относящихся к тестам Device Fundamentals в HLK и WDK, см. в дополнительной документации по Device.DevFund.
Дополнительные сведения
Параметры
Имя параметра | Описание параметра |
---|---|
DQ | Запрос SDEL WDTF, используемый для идентификации целевых устройств. https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | Требуется только в том случае, если DUT или одно из его дочерних устройств является адаптером Wi-Fi. Укажите SSID сети WPA2 AES WiFi, которую тест может использовать для тестирования адаптера Wi-Fi. Значение по умолчанию — kitstestssid. |
Wpa2PskPassword | Требуется только в том случае, если DUT или одно из его дочерних устройств является адаптером Wi-Fi. Укажите пароль сети Wi-Fi WPA2 AES, указанной с помощью параметра Wpa2PskAesSsid. Значение по умолчанию — password. |
ChangeBufferProtectionFlags | Верно или неверно. Изменяет флаги защиты памяти буферов, передаваемых на тестируемое устройство. Флаги защиты памяти чередуются между отсутствием доступа, только для чтения и только для чтения с защитой страницы. |
Impersonate | Верно или неверно. Запускает тест от имени пользователя без прав администратора. |
FillZeroPageWithNull | Верно или неверно. Сопоставляет нулевую страницу и заполняет ее значениями NULL. Этот тест определяет драйверы, которые не проверяют ссылку на указатель перед разыменовкой указателя. |
DoPoolCheck | Верно или неверно. Отслеживает использование драйвером выгружаемых и невыгружаемых пулов системной памяти с помощью тегов пулов и списков просмотра. Этот параметр также отслеживает изменения в количестве обрабатываемых исключений, которые могут указывать на ошибки в обработке исключений. |
DoSync | Верно или неверно. Также открывает дескриптор устройства в режиме СИНХРОНИЗАЦИИ (FILE_SYNCHRONOUS_IO_ALERT). Случайные операции чтения и записи пропускаются. |
TestCycles | Количество циклов тестирования. |
DriverVerifierAdditionalDrivers | Дополнительные драйверы, для которых должно быть включено средство проверки драйверов |
DriverVerifierExcludedFlags | Заполнитель для флагов средства проверки драйверов, которые могут быть исключены вручную для тестового запуска |
WDKDeviceID | Идентификатор тестируемого устройства |
QueryHardwareID | Идентификатор оборудования тестируемого устройства |
WDTFREMOTESYSTEM | Требуется только в том случае, если DUT или одно из его дочерних устройств является проводной сетевой картой без адреса шлюза IPv6. Если определено, что это требуется, укажите IPv6-адрес, по которому тестовый сетевой адаптер может проверить связь для тестирования сетевых операций ввода-вывода. Например: fe80::78b6:810:9c12:46cd |
DriverVerifierCustomizeConfiguration | Указывает, что для этого теста может потребоваться автоматически обновить параметры средства проверки драйверов. |
MinDeviceType | Задает минимальное значение поля DeviceType в ioCTLs. Минимальное возможное значение — 0. Используйте -1 для автоматического обнаружения типов (предпочтительно). |
MaxDeviceType | Задает максимальное значение поля DeviceType в ioCTLs. Максимально возможное значение — 65535. Используйте -1 для автоматического обнаружения типов (предпочтительно). |
MinFunctionCode | Задает минимальное значение поля FunctionCode в ioCTLs. Минимальное возможное значение — 0. |
MaxFunctionCode | Задает максимальное значение поля FunctionCode в ioCTLs. Максимально возможное значение — 4095. |
MinInBuffer | Указывает минимальный размер входных буферов в байтах, которые тест передает драйверу в ICTL. |
MaxInBuffer | Указывает максимальный размер входных буферов в байтах, которые тест передает драйверу в ICTL. |
MinOutBuffer | Указывает минимальный размер в байтах выходных буферов, которые тест передает драйверу в ioCTL. |
MaxOutBuffer | Указывает максимальный размер в байтах выходных буферов, которые тест передает драйверу в ioCTL. |
MaxRandomCalls | Указывает максимальное количество вызовов, которые выполняет тест. |
MaxTailoredCalls | Указывает максимальное количество вызовов, которые тест выполняет во время специализированного случайного теста. |
SeedNumber | Указан начальный номер, используемый при создании случайных ioCTL. |