DF - ランダム IOCTL のファジー テスト (信頼性)
ランダム テスト中、ファジー テストでは、指定した値の範囲からランダムに選ばれた機能コード、デバイスの種類、データ転送方法、およびアクセス要件を使用して、DeviceIoControl 関数に対する一連の呼び出しを発行します。 呼び出しに含まれる入出力バッファーには、バッファーのポインターと長さが有効なものと無効なものがあり、ランダムに生成されたコンテンツも呼び出しに含まれます。
ファジー テストでは、基本オープン テストと追加オープン テストの間に開かれたすべてのデバイスでランダム テストを実行します。 このテストは、次のパラメーターを使用してカスタマイズできます。
- MinFunctionCode および MaxFunctionCode を使用して、呼び出しで使用される IOCTL または FSCTL 機能コードの範囲を指定します
- MinDeviceType および MaxDeviceType を使用して、呼び出しで使用されるデバイスの種類の範囲を指定します
- SeedNumber を使用して、乱数生成ルーチンのシード番号を指定します。
ファジー テストでテスト用の乱数の生成に使用する関数では、乱数生成アルゴリズム用の開始番号であるシード番号を使用します。 テスト条件を再現するには、シード番号パラメーターを使用して、元のテスト試行で使用されたシード番号を指定します。
テーラード ランダム テストは、ランダム テストの一部として含まれています。 テーラード ランダム テストでは、ランダム テストの結果を使用して、FSCTL 要求に対するドライバーの応答をさらに詳しく調べます。 テーラード ランダム テストでは、ランダム テストで見逃された領域と、ランダム テストの呼び出しによって返されたステータスに基づいてドライバーが期待どおりに応答しなかった領域をプローブします。
テスト バイナリ: Devfund_FuzzTest.dll テスト メソッド: DoRandomFSCTLTest
テストの詳細
仕様 |
|
プラットフォーム |
|
サポートされているリリース |
|
予想される実行時間 (分) | 15 |
カテゴリ | シナリオ |
タイムアウト (分) | 180 |
再起動が必要です | false |
特別な構成が必要です | true |
Type | automatic |
その他のドキュメント
この機能領域のテストには、前提条件、セットアップ、トラブルシューティング情報など、次のトピックに記載されている追加のドキュメントが含まれている場合があります。
テストの実行
テストを実行する前に、「Device.Fundamentals の信頼性テストの前提条件」で説明されているテスト要件に従って、テストのセットアップを完了します。
トラブルシューティング
HLK テスト エラーの一般的なトラブルシューティングについては、「Windows HLK テストのエラーのトラブルシューティング」を参照してください。
HLK と WDK での Device Fundamentals テストに固有のトラブルシューティング情報は、Device.DevFund のその他のドキュメントを参照してください。
詳細
パラメーター
パラメーター名 | パラメーターの説明 |
---|---|
DQ | ターゲット デバイスを識別するために使用される WDTF SDEL クエリ - https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | DUT またはその子デバイスの 1 つが WiFi アダプターの場合にのみ必要です。 WiFi アダプターのテストに使用できる WPA2 AES WiFi ネットワークの SSID を指定してください。 既定値は 'kitstestssid' です。 |
Wpa2PskPassword | DUT またはその子デバイスの 1 つが WiFi アダプターの場合にのみ必要です。 Wpa2PskAesSsid パラメーターを使って指定された WPA2 AES WiFi ネットワークのパスワードを指定してください。 既定値は 'password' です。 |
ChangeBufferProtectionFlags | True または False。 テスト対象のデバイスに渡されたバッファーのメモリ保護フラグを変更します。 メモリ保護フラグは、アクセスなし、読み取り専用、ページ ガードによる読み取り専用のいずれかが適用されます。 |
Impersonate | 正誤問題。 管理者以外のユーザーとしてテストを実行します。 |
FillZeroPageWithNull | True または False。 ゼロ ページをマッピングし、NULL 値を入力します。 このテストでは、ポインターを逆参照する前にポインター参照を検証しないドライバーを特定します。 |
DoPoolCheck | True または False。 プール タグとルックアサイド リストを使って、ドライバーによる ページ システム メモリ プールと非ページ システム メモリ プールの使用状況を監視します。 このオプションを使うと、処理された例外の数の変化 (これは例外処理のエラーを表す場合があります) も監視されます。 |
DoSync | 正誤問題。 また、SYNC モード (FILE_SYNCHRONOUS_IO_ALERT) でデバイス ハンドルを開きます。 ランダムな読み取りおよび書き込み操作はスキップされます。 |
TestCycles | テスト サイクルの数。 |
DriverVerifierAdditionalDrivers | ドライバーの検証ツールを有効にする必要がある追加のドライバー |
DriverVerifierExcludedFlags | テスト実行の際に手動で除外できるドライバー検証ツール フラグのプレースホルダー |
WDKDeviceID | テスト中のデバイスのデバイス ID |
QueryHardwareID | テスト中のデバイスのハードウェア ID |
WDTFREMOTESYSTEM | DUT またはその子デバイスの 1 つが、IPv6 ゲートウェイ アドレスのないワイヤード (有線) NIC である場合にのみ必要です。 必要と判断された場合は、テスト NIC がネットワーク I/O をテストするために ping を実行できる IPv6 アドレスを指定してください。 例: fe80::78b6:810:9c12:46cd |
DriverVerifierCustomizeConfiguration | このテストでドライバーの検証の設定を自動的に更新することを指定します |
MinDeviceType | IOCTL の DeviceType フィールドの最小値を指定します。 指定できる最小の値は 0 です。 種類を自動検出するには -1 を使用します (推奨)。 |
MaxDeviceType | IOCTL の DeviceType フィールドの最大値を指定します。 指定できる最大の値は 65535 です。 種類を自動検出するには -1 を使用します (推奨)。 |
MinFunctionCode | IOCTL の FunctionCode フィールドの最小値を指定します。 指定できる最小の値は 0 です。 |
MaxFunctionCode | IOCTL の FunctionCode フィールドの最大値を指定します。 指定できる最大の値は 4095 です。 |
MinInBuffer | IOCTL でドライバーに渡される入力バッファーの最小サイズをバイト数で指定します。 |
MaxInBuffer | IOCTL でドライバーに渡される入力バッファーの最大サイズをバイト数で指定します。 |
MinOutBuffer | IOCTL でドライバーに渡される出力バッファーの最小サイズをバイト数で指定します。 |
MaxOutBuffer | IOCTL でドライバーに渡される出力バッファーの最大サイズをバイト数で指定します。 |
MaxRandomCalls | テストが発行する呼び出しの最大数を 指定します。 |
MaxTailoredCalls | 調整済みランダム テストの際にテストが発行する 呼び出しの最大数を指定します。 |
SeedNumber | ランダム IOCTL の生成に使用するシード番号を指定します。 |