如何選取及設定裝置基本概念測試
適用於 Windows 8 的 WDK 提供驅動程式測試架構,其中包含一組稱為裝置基本概念測試的測試。 裝置基本概念測試是一組測試,這些測試同時用於內部Microsoft,以測試隨附於 Windows 和 WDK 的驅動程式和驅動程式範例,以及作為硬體 Windows 認證計劃的一部分。 您可以從開發環境執行測試。 當您執行測試時,可以使用用於 Windows 認證測試的相同參數,或者您可以根據您的測試和偵錯需求來設定和自定義運行時間參數。
充分利用裝置基本概念測試
若要從裝置基本概念測試中獲得最大好處,預設 I/O 外掛程式必須支援您的裝置。若要查看您的裝置類型是否受到支援,以及判斷是否有特定的測試需求,請參閱 提供的 WDTF 簡單 I/O 外掛程式。裝置基本概念測試也包含一個公用程式,可用來測試您的裝置,以查看它是否受到支援。 如果您的裝置不受支援,您可以建立 WDTF 簡易 I/O 外掛程式。 在 Visual Studio 中。 如需詳細資訊,請參閱 如何使用WDTF簡單 I/O 動作外掛程式來自定義裝置的 I/O。
關於裝置基本概念測試
WDK 會在兩種設定中提供裝置基本概念測試:基本和認證。 在這兩個組態中,您可以編輯測試參數來變更測試的長度、要執行的測試週期數目,以及其他測試參數,視您想要測試目標裝置或驅動程式的方式而定。 基本設定適用於一般驅動程式和裝置測試和偵錯。 在開發週期中及早使用基本設定。 基本組態中的測試與 Windows 認證測試中使用的設定相同,但運行時間較短除外。 在 [認證] 組態中,測試具有與 Windows 認證測試中使用的相同設定。 使用認證組態來驗證測試裝置或硬體 Windows 認證計劃的驅動程式的整備程度。
裝置 基本概念測試 包含下列類別中的測試。
- CHAOS 測試 (裝置基本概念)
- 涵蓋範圍測試(裝置基本概念)
- CPUStress 測試 (裝置基本概念)
- 驅動程式安裝測試 (裝置基本概念)
- I/O 測試 (裝置基本概念)
- 滲透測試 (裝置基本概念)
- PNP 測試 (裝置基本概念)
- 重新啟動測試 (裝置基本概念)
- 睡眠測試 (裝置基本概念)
- Utility
- 驅動程式驗證器
設定運行時間測試參數
您可以編輯許多裝置基本概念測試的運行時間參數。 在 [驅動程序測試群組] 視窗中,測試名稱旁的箭號 (») 表示測試具有您可以變更的參數。 選取箭號 (») 以顯示運行時間參數。
其中一個最有用的參數是 DQ,指定要測試的目標裝置。 預設值 (IsDevice) 會測試目標電腦上的所有裝置。 DQ 參數會採用可識別目標裝置的 WDTF SDEL 查詢。 您可以指定特定裝置進行測試,例如:
DeviceID='USB\ROOT_HUB\4&1CD5D022&0' 只會選取裝置以使用指定的 DeviceID 進行測試。
如需 DQ 和其他運行時間參數的詳細資訊,請參閱裝置基本概念測試參數。
裝置基本概念測試參數
參數 | 描述 |
---|---|
DQ |
識別應該用於測試的裝置或裝置。 DQ 參數會採用可識別目標裝置的 WDTFSDEL 查詢。 此查詢非常有彈性,而且可用來表達任何數目的裝置,從單一裝置到系統中的所有裝置。 常見範例:
|
DoPoolCheck |
是非題。 使用集區標籤和外觀清單,監視驅動程式使用分頁和非分頁系統記憶體集區。 此選項也會監視所處理的例外狀況數目變更,這可能表示例外狀況處理中的錯誤。 |
ChangeBufferProtectionFlags |
是非題。 變更傳遞至測試裝置之緩衝區的記憶體保護旗標。 記憶體保護旗標在無存取權、只讀和唯讀之間交替使用頁面防護。 |
DoSimpleIO |
是非題。 在執行 PNP 作業之前和之後,在測試裝置上執行 SimpleI/O (如果找到的話)。 |
DoConcurrentIO |
是非題。 使用 WDTF 並行 I/O 介面,在執行 PnP 作業時,將 I/O 要求傳送至目標裝置堆疊。 |
FillZeroPageWithNull |
是非題。 對應零頁,並填入NULL值。 此測試會識別在取值指標之前未驗證指標參考的驅動程式。 |
FuzzTestPeriod |
以分鐘為單位的模糊測試期間。 |
HPU |
指定高處理器使用率百分比。 |
類比 |
是非題。 以沒有系統管理員許可權的使用者身分執行測試。 |
IOPeriod |
指定以分鐘為單位的 I/O 期間。 |
IOType |
指定 I/O 壓力測試的類型:SimpleIOStressEx 或 SimpleIOStressProc (個別程式中的 I/O)。 |
LPU |
指定低處理器使用率百分比 |
MaxInBuffer |
指定測試傳遞至 FSCTL 中驅動程式的輸入緩衝區大小上限,以位元組為單位(或 IOCTL 測試的 IOCTL)。 |
MinInBuffer |
指定測試在 FSCTL 中傳遞至驅動程式的輸入緩衝區大小下限,以位元組為單位(或 IOCTL 測試的 IOCTL)。 |
MaxOutBuffer |
指定測試在 FSCTL 中傳遞至驅動程式的輸出緩衝區大小上限,以位元組為單位(或 IOCTL 測試的 IOCTL)。 |
MinOutBuffer |
指定測試在 FSCTL 中傳遞至驅動程式的輸出緩衝區大小下限,以位元組為單位(或 IOCTL 測試的 IOCTL)。 |
MaxRandomCalls |
指定測試所發出的呼叫數目上限。 |
MaxTailoredCalls |
指定量身訂做隨機測試期間測試問題的最大呼叫數目。 |
MaxDeviceType |
指定 FSCTL 中 DeviceType 欄位的最大值(或 IOCTL 測試的 IOCTL)。 可能的最大值為 65535。 |
MinDeviceType |
指定 FSCTL 中 DeviceType 欄位的最小值(或 IOCTL 測試的 IOCTL)。 可能的最小值為 0。 |
MaxFunctionCode |
指定 FSCTL 中 FunctionCode 欄位的最大值(或 IOCTL 測試的 IOCTLs)。 可能的最大值為 4095。 |
MinFunctionCode |
指定 FSCTL 中 FunctionCode 欄位的最小值(或 IOCTL 測試的 IOCTL)。 可能的最小值為 0。 |
濮 |
指定處理器使用率百分比 |
PingPongPeriod |
指定以分鐘為單位的乒乓球期間:處理器在高 (HPU) 和低 (LPU) 處理器使用率之間交替的時間。 |
ResumeDelay |
機器從睡眠模式恢復,並在下一個 I/O 周期開始之前,延遲時間(以秒為單位)。 允許裝置還原其工作狀態所需的延遲時間(更新網路卡的IP位址等等)。 |
TestCycles |
指定要執行的測試週期數(反覆專案)。 |
WDTFREMOTESYSTEM |
只有當受測裝置或其其中一個子裝置是沒有IPv6閘道位址的有線網路適配器時,才需要此參數。 如果您的網路上需要此參數,您必須提供測試網路適配器可以 Ping 到測試網路的 IPv6 位址。 範例: fe80::78b6:810:9c12:46cd |
Wpa2PskAesSsid |
只有當受測裝置或其其中一個子裝置是WiFi配接器時,才需要此參數。 提供WPA2 AES WiFi 網路的 SSID,測試可用來測試WiFi配接器。 默認值: kitstestssid |
Wpa2PskPassword |
只有當受測裝置或其其中一個子裝置是WiFi配接器時,才需要此參數。 提供使用 Wpa2PskAesSsid 參數所指定的 WPA2 AES WiFi 網路密碼。 默認值: password |
公用程序測試
Test | 描述 |
---|---|
顯示具有 WDTF 簡單 I/O 外掛程式的裝置 |
參數: 無 |
顯示已啟用驅動程式驗證工具的裝置 |
參數: 無 |
顯示裝置 |
參數: 無 |
驅動程式驗證器
Test | 描述 |
---|---|
停用驅動程式驗證程式 |
停用 測試電腦上的驅動程式驗證器 。 參數: 無 |
啟用驅動程式驗證器 |
您可以使用此測試,為測試電腦上的裝置(或裝置)的所有驅動程式啟用 驅動程式驗證器 。 參數: - 請參閱 驅動程式驗證器選項。 |