共用方式為


DF - 模糊隨機 FSCTL 測試 (可靠性)

在隨機測試期間,模糊測試會使用函式代碼、裝置類型、資料傳輸方法和從指定值範圍隨機選取的存取需求,發出 DeviceIoControl 函式的一系列呼叫。 呼叫包括輸入和輸出緩衝區,其有效和不正確緩衝區指標和長度,以及隨機產生的內容。

模糊測試會在 基本開放式測試 和其他開啟測試期間開啟的所有裝置上執行隨機測試。 您可以使用下列參數來自訂此測試:

  • 使用 MinFunctionCodeMaxFunctionCode 來指定呼叫中使用的 IOCTL 或 FSCTL 函式程式碼範圍
  • 使用 MinDeviceTypeMaxDeviceType 來指定呼叫中使用的裝置類型範圍
  • 使用 SeedNumber 指定亂數產生常式的種子編號。

模糊測試用來為測試產生亂數的函式會使用 種子編號,這是亂數產生演算法的起始數位。 若要重現測試條件,請使用種子編號參數來指定原始測試試用版中使用的種子編號。

量身訂做隨機測試包含在隨機測試中。 量身打造的隨機測試會使用隨機測試結果,更詳細地檢查驅動程式對 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,行動裝置版 (Arm)
  • Windows 10,行動裝置版 (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
需要特殊設定 true
類型 automatic

 

其他檔

此功能區域中的測試可能會有其他檔,包括必要條件、設定和疑難排解資訊,可在下列主題中找到 () :

執行測試

執行測試之前,請先完成測試設定,如測試需求中所述: Device.Fundamentals 可靠性測試必要條件

疑難排解

如需 HLK 測試失敗的一般疑難排解,請參閱 針對 Windows HLK 測試失敗進行疑難排解

如需 HLK 和 WDK 中裝置基本概念測試的特定疑難排解資訊,請參閱 Device.DevFund 其他檔

詳細資訊

參數

參數名稱 參數描述
DQ WDTF SDEL 查詢,用來識別目標裝置 () - https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid 只有在 DUT 或其其中一個子裝置是 WiFi 配接器時才需要。 請提供 WPA2 AES WiFi 網路的 SSID,讓測試可用來測試 WiFi 配接器。 預設值為 'kitstestssid'。
Wpa2PskPassword 只有在 DUT 或其其中一個子裝置是 WiFi 配接器時才需要。 請使用 Wpa2PskAesSsid 參數指定之 WPA2 AES WiFi 網路的密碼。 預設值為 'password'。
ChangeBufferProtectionFlags 是非題。 變更傳遞至測試裝置之緩衝區的記憶體保護旗標。 記憶體保護旗標會在沒有存取權、唯讀和唯讀之間替代,並使用頁面防護。
Impersonate 是非題。 以非系統管理使用者身分執行測試。
FillZeroPageWithNull 是非題。 對應零頁,並填入 Null 值。 此測試會識別在取值指標之前未驗證指標參考的驅動程式。
DoPoolCheck 是非題。 使用集區標籤和 lookaside 清單,監視驅動程式使用分頁和非分頁系統記憶體集區。 此選項也會監視所處理之例外狀況數目的變更,這可能表示例外狀況處理中的錯誤。
DoSync 是非題。 也會在同步模式中開啟裝置控制碼 (FILE_SYNCHRONOUS_IO_ALERT) 。 會略過隨機讀取和寫入作業。
TestCycles 測試週期數目。
DriverVerifierAdditionalDrivers 應啟用驅動程式驗證程式的其他驅動程式
DriverVerifierExcludedFlags 可能針對測試回合手動排除的驅動程式驗證器旗標預留位置
WDKDeviceID 受測裝置的裝置識別碼
QueryHardwareID 受測裝置的硬體識別碼
WDTFREMOTESYSTEM 只有在 DUT 或其其中一個子裝置是沒有 IPv6 閘道位址的有線 NIC 時才需要。 如果判斷為必要,請提供測試 NIC 可以 Ping 的 IPv6 位址來測試網路 I/O。 例如:fe80::78b6:810:9c12:46cd
DriverVerifierCustomizeConfiguration 指定此測試可能會想要自動更新驅動程式驗證程式設定
MinDeviceType 指定 IOCTLs 中 DeviceType 欄位的最小值。 可能的最小值為 0。 使用 -1 進行自動類型偵測, (慣用) 。
MaxDeviceType 指定 IOCTLs 中 DeviceType 欄位的最大值。 可能的最大值為 65535。 使用 -1 進行自動類型偵測, (慣用) 。
MinFunctionCode 指定 FSCTLs 中 FunctionCode 欄位的最小值。 可能的最小值為 0。
MaxFunctionCode 指定 FSCTLs 中 FunctionCode 欄位的最大值。 可能的最大值為 4095。
MinInBuffer 指定測試在 FSCTLs 中傳遞給驅動程式的輸入緩衝區大小下限,以位元組為單位。
MaxInBuffer 指定測試在 FSCTLs 中傳遞給驅動程式的輸入緩衝區大小上限,以位元組為單位。
MinOutBuffer 指定測試在 FSCTLs 中傳遞至驅動程式的輸出緩衝區大小下限,以位元組為單位。
MaxOutBuffer 指定測試在 FSCTLs 中傳遞至驅動程式的輸出緩衝區大小上限,以位元組為單位。
MaxRandomCalls 指定測試所發出的呼叫數目上限。
MaxTailoredCalls 指定量身訂做隨機測試期間測試所發出的呼叫數目上限。
SeedNumber 指定用來產生隨機 FSCL 的種子編號。