デバイスの基礎テストの選択および構成方法
Windows 8 用 WDK には、Device Fundamental テストと呼ばれる一連のテストを含むドライバー テスト フレームワークが用意されています。 デバイスの基礎テストは、Windows および WDK に付属のドライバーとドライバー サンプルをテストするためにMicrosoft社内で使用されるテストの集合であり、ハードウェアの Windows 認定プログラムの一部として社外で使用されるテストの集合です。 開発環境からテストを実行できます。 テストを実行するときは、Windows 認定テストに使用されるのと同じパラメーターを使用することも、テストとデバッグのニーズに応じて実行時パラメーターを構成およびカスタマイズすることもできます。
Device Fundamental テストの有効活用
デバイスの基礎テストから最大限のメリットを得るには、デバイスがデフォルトの I/O プラグインでサポートされている必要があります。デバイスタイプがサポートされているかどうかを確認し、テストに特定の要件があるかどうかを判断するには、提供されている WDTF Simple I/O プラグインを参照してください。デバイスの基礎テストには、デバイスがサポートされているかどうかをテストするために使用できるユーティリティも含まれています。 デバイスがサポートされていない場合は、WDTF Simple I/O プラグインを作成できます。 Visual Studio で。 詳細については、WDTF シンプル I/O アクション プラグインを使用してデバイスの I/O をカスタマイズする方法を参照してください。
Device Fundamental テストについて
WDK は、基本と認証の2つの構成でデバイスの基礎テストを提供します。 どちらの構成でも、対象のデバイスまたはドライバーをテストする方法に応じて、テストパラメーターを編集して、テストの長さ、実行するテスト サイクルの数、およびその他のテストパラメーターを変更できます。 基本構成は、一般的なドライバーとデバイスのテストとデバッグを目的としています。 基本構成は、開発サイクルの初期段階および開発サイクル全体を通じて使用してください。 基本構成のテストには、実行時間が短いことを除いて、Windows 認定テストで使用されるものと同じ設定が含まれています。 認定構成では、テストにはWindows 認定テストで使用されるのと同じ設定が含まれます。 認定構成を使用して、ハードウェアの Windows 認定プログラムのデバイスまたはドライバーをテストする準備ができているかどうかを確認します。
デバイスの基礎テストには、次のカテゴリのテストが含まれます。
- CHAOS テスト (Device Fundamental)
- カバレッジ テスト (Device Fundamental)
- CPUStress テスト (Device Fundamental)
- Driver Install テスト (Device Fundamental)
- I/O テスト (Device Fundamental)
- 侵入テスト (Device Fundamental)
- PNP テスト (Device Fundamental)
- 再起動テスト (Device Fundamental)
- スリープ テスト (Device Fundamental)
- Utility
- ドライバーの検証ツール
実行時テスト パラメーターの設定
多くのデバイスの基礎テストの実行時パラメータを編集できます。 ドライバー テスト グループのウィンドウで、テスト名の横にある矢印 (>>) は、テストに変更可能なパラメーターがあることを示します。 矢印 (») を選び、ランタイム パラメーターを表示します。
最も便利なパラメータの1つはDQで、テストするターゲットデバイスを指定します。 デフォルト値 (IsDevice) は、ターゲットコンピューター上のすべてのデバイスをテストします。 DQ パラメーターは、対象のデバイスを特定する WDTF SDEL クエリを受け取ります。 テスト用に特定のデバイスを指定できます。例:
DeviceID=’USB\ROOT_HUB\4&1CD5D022&0’ は、DeviceID で指定されたデバイスのみをテスト対象として選択します。
DQ およびその他の実行時パラメーターの詳細については、デバイスの基礎テスト パラメーターを参照してください。
Device Fundamental テストのパラメーター
パラメーター | 説明 |
---|---|
DQ |
テストに使用する必要があるデバイスを特定します。 DQ パラメーターは、対象のデバイスを特定する WDTFSDEL クエリを受け取ります。 このクエリは非常に柔軟であり、単一のデバイスからシステム内のすべてのデバイスまで、任意の数のデバイスを表現するために使用できます。 一般的な例:
|
DoPoolCheck |
正誤問題。 プール タグとルックアサイド リストを使用して、ドライバーによるページ システム メモリプールと非ページ システムメモリ プールの使用を監視します。 このオプションは、例外処理のエラーを示す可能性のある、処理された例外の数の変化も監視します。 |
ChangeBufferProtectionFlags |
正誤問題。 テスト対象デバイスに渡されるバッファのメモリ保護フラグを変更します。 メモリ保護フラグは、アクセスなし、読み取り専用、ページ ガード付き読み取り専用の間で切り替わります。 |
DoSimpleIO |
正誤問題。 PNP 操作の実行前後に、テストデバイス上で SimpleI/O (見つかった場合) を実行します。 |
DoConcurrentIO |
正誤問題。 WDTF同時 I/O インターフェイスを使用して、PnP 操作の実行中に I/O リクエストをターゲットデバイス スタックに送信します。 |
FillZeroPageWithNull |
正誤問題。 ゼロページをマップし、NULL値で埋めます。 このテストでは、ポインターの参照を解除する前にポインター参照を検証しないドライバーを特定します。 |
FuzzTestPeriod |
ファズテスト期間(分単位)。 |
HPU |
高いプロセッサ使用率を指定します。 |
Impersonate |
正誤問題。 管理者権限のないユーザーとしてテストを実行します。 |
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 (または IOCTL テストの場合は IOCTL) のデバイスタイプフィールドの最大値を指定します。 可能な最大値は65535です。 |
MinDeviceType |
FSCTL (または IOCTL テストの場合は IOCTL) のデバイスタイプフィールドの最小値を指定します。 可能な最小値は 0 です。 |
MaxFunctionCode |
FSCTL (または IOCTL テストの場合は IOCTL) の機能コードフィールドの最大値を指定します。 可能な最大値は 4095 です。 |
MinFunctionCode |
FSCTL (またはIOCTLテストの場合は IOCTL) の機能コードフィールドの最小値を指定します。 可能な最小値は 0 です。 |
PU |
プロセッサー使用率を指定します |
PingPongPeriod |
ピンポン期間を分単位で指定します。プロセッサーが高 (HPU) プロセッサー使用率レベルと低 (LPU) プロセッサー使用率レベルを切り替える時間。 |
ResumeDelay |
マシンがスリープモードから再開してから次の I/O サイクルが開始するまでの遅延時間 (秒単位)。 遅延時間は、デバイスが動作状態を復元できるようにするために必要です (ネットワーク カードのIPアドレスを更新するなど)。 |
TestCycles |
実行するテスト サイクル (反復) の数を指定します。 |
WDTFREMOTESYSTEM |
このパラメーターは、テスト対象のデバイス、またはその子デバイスの 1 つが IPv6 ゲートウェイ アドレスを持たない有線ネットワーク アダプターである場合にのみ必要です。 ネットワークでこのパラメーターが必要な場合は、テスト ネットワーク アダプターがテスト ネットワークに ping できる IPv6 アドレスを指定する必要があります。 例えば: fe80::78b6:810:9c12:46cd |
Wpa2PskAesSsid |
このパラメーターは、テスト対象のデバイスまたはその子デバイスの 1 つが WiFi アダプターである場合にのみ必要です。 WiFiアダプターのテストに使用できるWPA2 AES WiFi ネットワークの SSIDを指定します。 デフォルト値: kitstestssid |
Wpa2PskPassword |
このパラメーターは、テスト対象のデバイスまたはその子デバイスの 1 つが WiFi アダプターである場合にのみ必要です。 Wpa2PskAesSsid パラメーターを使用して指定されたWPA2 AES WiFi ネットワークのパスワードを指定します。 デフォルト値: パスワード |
ユーティリティ テスト
テスト | 説明 |
---|---|
WDTF シンプル I/O プラグインを持つデバイスの表示 |
パラメーター:なし |
ドライバーの検証ツールが有効になっているデバイスの表示 |
パラメーター:なし |
ディスプレイ デバイス |
パラメーター:なし |
ドライバーの検証ツール
テスト | 説明 |
---|---|
Disable Driver Verifier (ドライバーの検証ツールの無効化) |
テストコンピューターでドライバー検証機を無効にします。 パラメーター:なし |
Enable Driver Verifier (ドライバーの検証ツールの有効化) |
このテストを使用して、テストコンピューター上の 1つまたは複数のデバイスのすべてのドライバーに対してドライバー検証機を有効にすることができます。 パラメーター: - 「ドライバーの検証ツールのオプション」をご覧ください。 |