次の方法で共有


開発中のドライバーのテストに関するヒント

テストを開始する必要があるタイミング ドライバーの要件が満たされたらすぐにテストを開始します。 重要な要件を検証するテスト ケースの設計を開始します。 研究では、コード内の欠陥を見つけて修正すると、コード内の欠陥が長く残り、コストが高くなることが示されています。 コードがリリースされて配布された後に欠陥を見つけるよりも、開発サイクルの早い段階で欠陥を見つけて修正する方が、コストと中断が少なくなります。 テスト ケースを早期に作成すると、設計で問題を見つけるのにも役立ちます。

開発中のテストに関する提案

ドライバー コードとドライバー パッケージをテストするには、次の推奨事項を使用します。

コンパイル時にバグを見つけるのに役立ちます。

  • 関数ロール型を使用して、ドライバー提供のコールバック関数とディスパッチルーチンを宣言します。 この宣言は、コード分析および検証ツールの精度とテスト時間の有効性を向上するのに役立ちます。 ドライバーが提供する関数を宣言する方法の詳細については、「 関数の役割の型宣言の使用」を参照してください。
  • Level4 (/W4) Warnings オプションを使用してコードをコンパイルします。 コンパイラが検出する警告を修正すると、ドライバー コードの品質が向上し、開発サイクルの早い段階で欠陥をなくすのに役立ちます。
  • Microsoft ソース コード注釈言語 (SAL) 2.0 を使用してコードに注釈を付けます。 注釈は、関数がパラメーターを使用する方法 (パラメーターに関して行う前提と、完了時に行う保証) を記述します。 注釈により、コード分析ツールの精度も向上します。 ドライバー固有の注釈の詳細については、「 ドライバーの SAL 2.0 注釈」を参照してください。
  • ドライバーの開発中に ドライバーを確認するためのツール を使用します。 特定の検証ツールを使用する場合のガイドラインについては、「 コード分析および検証ツールを使用したドライバーの分析」を参照してください。

ドライバー パッケージをテストするには:

  • 開発プロセスの早い段階で INF ファイルとドライバー パッケージを作成し、テスト全体で使用します。

  • InfVerif ツールを使用して、INF ファイルの構造と構文を確認し、INF ファイルやその他のインストール関連の問題を診断するのに役立ちます。

  • 追加の INF ファイル検証を行うには、 Inf2Cat ツール ( /nocat オプションを指定) を使用します。 Inf2Cat は、INF 参照が存在し、INF が想定しているパッケージ ディレクトリに配置されているファイルを確認できます。

  • 「開発中およびテスト中のドライバーの署名」で説明されているように、ドライバーのインストールとテストを容易にするためにドライバーに署名します。

  • WDK が提供する Device Fundamental テストの一部として含まれる DriverInstall テストを実行します。 Visual Studio を使用して実行時にドライバーをテストする方法、Device Fundamental Tests を選択して構成する方法に関するページを参照してください。 DriverInstall テストは、ドライバーがテスト コンピューターに展開された後に実行できます。 DriverInstall テストをドライバー テスト グループに追加できます。 DriverInstall テストは、すべてのテスト\Basic\Device Fundamentals\DriverInstall の下のドライバー テスト カテゴリに表示されます。

  • デバイス マネージャーを使用してドライバーとデバイスに関するシステム情報を表示し、SetupAPI ログを参照して、デバイスのインストールに関する問題のトラブルシューティングを行います。 SetupAPI ログには、デバイスまたはドライバーのインストール中に発生した一連の操作に関する情報が含まれています。

    Visual Studio と WDK を使用すると、ドライバーをテスト コンピューターに展開するときに、ドライバー パッケージのインストールをテストおよびトラブルシューティングできます。 詳細については、「 テスト コンピューターへのドライバーの展開」を参照してくださいドライバー パッケージ プロジェクトの展開プロパティから [インストールと確認] オプションを選択します。 このオプションを選択し、既定の ドライバー パッケージ インストール タスク (可能な再起動) または 既定のプリンター ドライバー パッケージインストール タスク (再起動可能) を指定すると、テストはドライバーの INF ファイルを読み取り、ドライバーをインストールします。 テストでは、ドライバーが稼働していることを確認します。 完了すると、テストはインストール タスクの成功または失敗に関する詳細情報を提供します。 結果は、[ ドライバー テスト グループ] > [ドライバーのインストール] の下のドライバー テスト グループ エクスプローラーに表示されます。 タスク名は 既定のドライバー パッケージ インストール タスクです。

実行時にドライバーをテストします。