Поделиться через


DF — нечеткий случайный тест FSCTL (надежность)

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

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

  • Используйте MinFunctionCode и MaxFunctionCode , чтобы указать диапазон кодов функций IOCTL или FSCTL, используемых в вызовах.
  • Используйте MinDeviceType и MaxDeviceType , чтобы указать диапазон типов устройств, используемых в вызовах.
  • Используйте SeedNumber , чтобы указать начальное число для процедуры создания случайного числа.

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

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

Двоичный файл теста: Devfund_FuzzTest.dll Методы тестирования: DoRandomFSCTLTest

Сведения о тесте

   
Характеристики
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.BasicSecurity
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
  • Windows 10, клиентские выпуски (Arm64)
  • Windows 10, mobile edition (Arm)
  • Windows 10, mobile edition (Arm64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 15
Категория Сценарий
Время ожидания (в минутах) 180
Требуется перезагрузка false
Требуется специальная конфигурация Да
Тип automatic

 

Дополнительная документация

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

Запуск теста

Перед запуском теста выполните настройку теста, как описано в разделе Требования к тестированию : Предварительные требования к тестированию надежности Device.Fundamentals.

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в статье Устранение неполадок тестов HLK в Windows.

Сведения об устранении неполадок, относящихся к тестам с основами устройств в HLK и WDK, см . в дополнительной документации по Device.DevFund.

Дополнительные сведения

Параметры

Имя параметра Описание параметра
DQ Запрос SDEL WDTF, используемый для идентификации целевых устройств. https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid Требуется ТОЛЬКО в том случае, если DUT или одно из его дочерних устройств является адаптером Wi-Fi. Укажите SSID сети WIFi WPA2 AES, которую тест может использовать для тестирования адаптера Wi-Fi. Значение по умолчанию — kitstestssid.
Wpa2PskPassword Требуется ТОЛЬКО в том случае, если DUT или одно из его дочерних устройств является адаптером Wi-Fi. Укажите пароль сети Wi-Fi WPA2 AES, указанной с помощью параметра Wpa2PskAesSsid. Значение по умолчанию — password.
ChangeBufferProtectionFlags Верно или неверно. Изменяет флаги защиты памяти буферов, передаваемых на тестируемое устройство. Флаги защиты памяти чередуются между отсутствием доступа, только для чтения и только для чтения с помощью page guard.
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 в списках IOCTL. Минимально возможное значение — 0. Используйте значение -1 для автоматического обнаружения типов (предпочтительно).
MaxDeviceType Задает максимальное значение поля DeviceType в ioCTLs. Максимально возможное значение — 65535. Используйте значение -1 для автоматического обнаружения типов (предпочтительно).
MinFunctionCode Задает минимальное значение поля FunctionCode в списке FSCTL. Минимально возможное значение — 0.
MaxFunctionCode Задает максимальное значение поля FunctionCode в FSCTLs. Максимально возможное значение — 4095.
MinInBuffer Указывает минимальный размер входных буферов в байтах, которые тест передает драйверу в FSCTLs.
MaxInBuffer Указывает максимальный размер входных буферов в байтах, которые тест передает драйверу в FSCTLs.
MinOutBuffer Указывает минимальный размер (в байтах) выходных буферов, которые тест передает драйверу в FSCTLs.
MaxOutBuffer Указывает максимальный размер в байтах выходных буферов, которые тест передает драйверу в FSCTLs.
MaxRandomCalls Указывает максимальное количество вызовов, которые выполняет тест.
MaxTailoredCalls Указывает максимальное количество вызовов, которые тест выполняет во время специализированного случайного теста.
SeedNumber Указан начальный номер, используемый при создании случайных списков FSCTL.