次の方法で共有


DF - ランダム IOCTL のファジー テスト (信頼性)

ランダム テスト中、ファジー テストでは、指定した値の範囲からランダムに選ばれた機能コード、デバイスの種類、データ転送方法、およびアクセス要件を使用して、DeviceIoControl 関数に対する一連の呼び出しを発行します。 呼び出しに含まれる入出力バッファーには、バッファーのポインターと長さが有効なものと無効なものがあり、ランダムに生成されたコンテンツも呼び出しに含まれます。

ファジー テストでは、基本オープン テストと追加オープン テストの間に開かれたすべてのデバイスでランダム テストを実行します。 このテストは、次のパラメーターを使用してカスタマイズできます。

  • MinFunctionCode および MaxFunctionCode を使用して、呼び出しで使用される IOCTL または FSCTL 機能コードの範囲を指定します
  • MinDeviceType および MaxDeviceType を使用して、呼び出しで使用されるデバイスの種類の範囲を指定します
  • 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 Version 1607
  • Windows 10 Version 1703
  • Windows 10 バージョン 1709
  • Windows 10 バージョン 1803
  • Windows 10 Version 1809
  • Windows 10 バージョン 1903
  • Windows 10 への次の更新プログラム
予想される実行時間 (分) 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 の生成に使用するシード番号を指定します。