Visual Studio を使用して実行時にドライバーをテストする方法
Visual Studio の WDK 拡張機能は、ネットワーク上のテストコンピューターでドライバーを簡単に構築、展開、インストール、テストできるようにするデバイステストインターフェイスを提供します。 WDKは、ドライバーの機能をテストするために使用できるデバイスドライバーテストのコレクションを提供します。
前提条件
- インストールする準備ができているドライバー パッケージ。 まず。ドライバーを作成してビルドする必要があります。 Windows 10 WDK バージョン以降、インストール用にドライバー パッケージが自動的に作成されます。 詳しくは、「ドライバーのビルド」をご覧ください。
- ドライバーはテスト署名されている必要があります。 詳細については、ドライバーへの署名を参照。
- テストコンピューター(複数のコンピューター)。 テストコンピューターは、開発に使用しているコンピューターと同じネットワーク上にある必要があります。 両方のコンピュータが同じドメインに接続されているか、両方が同じワークグループ内のネットワークに接続されている必要があります。 テストコンピューターでは、テストの対象とするバージョンのウィンドウが実行されている必要があります。
- テスト対象のデバイス。
- (推奨) テストコンピューターへのカーネルモード デバッグ接続をセットアップします。 カーネルモード デバッグにネットワーク接続を使用するには、ターゲットコンピューターで Windows 8を実行している必要があります。 Windows 7または Windows Vistaを実行しているコンピューターでは、カーネルモード デバッグ用にUSB、1394、またはシリアル接続をセットアップできます。 詳細については、ドライバーの展開とテスト用にコンピューターをプロビジョニングする (WDK 8.1)を参照。
手順
ステップ 1: テスト用にコンピューターを構成します
Visual Studio から、テスト用にコンピューターを構成および提供できます。 テストコンピューターを構成すると、WDKドライバー テスト フレームワークによって、リモートデバッグ用にテストコンピューターが自動的に有効になり、必要なテストバイナリとサポート ファイルが転送されます。
- まだ行っていない場合は、ドライバーの展開とテスト用にコンピューターをプロビジョニングする (WDK 8.1)の手順に従ってください。
- テストするデバイスをテスト コンピューターに接続します。
テスト コンピューターを構成してプロビジョニングした後、Visual Studio を使用してドライバーを展開し、テストをスケジュールし、テスト コンピューター上でドライバーをデバッグできます。 展開の詳細と、ビルドの時にドライバーを自動的に展開する方法については、テスト コンピューターへのドライバーの展開を参照。
ドライバーの実行時検証ツールであるドライバー検証機のオプションを有効にして設定することもできます。 ドライバー検証機は、テストコンピューターでテストを実行するときにドライバーを監視します。 展開用のドライバー検証機のオプションの設定については、ドライバー プロジェクトのドライバー検証機のプロパティを参照。
Visual Studio の外部でテストを実行することもできます。詳細については、コマンドプロンプトから実行時にドライバーをテストする方法を参照。 WDK 8.1 以降では、コマンドスクリプトを使用して、テストコンピューターに HCKテストスイートをコピーして実行できます。 WDK 8.1 でHCKテストスイートを実行する方法を参照。
ステップ 2: テストコンピューターで実行するHCKテスト スイートを選択します (WDK 8.1 を使用)
WDK 8.1 以降では、テストコンピューター上で実行するHCKテストスイートを選択できます。 HCKテストスイートには、デバイスの基礎テストと、グラフィックス、イメージング、無線 LAN、モバイルブロードバンド (CDMA および GSM)、および WiFi Direct デバイスのウィンドウハードウェア認定キット (HCK) 基本テストが含まれています。
ステップ 3: テストコンピューター(WDK 8 および WDK 8.1)で実行するテストを選択します。
さまざまなテストターゲットでのドライバー テストを容易にするために、テストはテストグループと呼ばれる単位でテストシステムに対して実行されるようにスケジュールされます。 ドライバーテストグループは、テストコンピューターで実行するために選択したテストのコレクションです。 ドライバー テスト グループは、テストと各テスト パスのテスト結果を整理するのに役立ちます。 テスト結果を別のフォルダーに保存できます。 テストグループを作成および管理し、テストグループ内のテストに渡されるパラメーターを変更し、テストシステムに対して実行するようにスケジュールすることができます。
[ドライバー] メニューで、[テスト]、[Test Group Explorer]\(テスト グループ エクスプローラー\) の順に選びます。
[Driver Test Group Explorer]\(ドライバー テスト グループ エクスプローラー\) ウィンドウで、[Create a new test group]\(新しいテスト グループの作成\) ボタンを選びます。 または、[Driver (ドライバー)] メニューの [New Test Group]\(新しいテスト グループ\) を選びます。
作成したグループのドライバー テストグループウィンドウで、グループを識別するための名前をテスト グループネーム テキスト ボックスに入力します。 既定の名前は Driver Test Group_nnnnn です。nnnnn は、このテスト グループの番号を表します。
[Add/Remove Tests]\(テストの追加と削除\) を選びます。
[Add or Remove Driver Tests] (ドライバー テストの追加または削除) ダイアログ ボックスで、ドライバー テストのカテゴリとアーキテクチャ (すべて、x86、x64、Arm) を指定できます。 デフォルトでは、すべてのテストが表示されます。 テストのカテゴリを表示するには、[Driver Test Categories]\(ドライバー テスト カテゴリ\) ドロップダウン リスト内のフォルダーを選びます。
たとえば、WDK 8 において Windows ハードウェア認定キット (HCK) で使われるすべての Device Fundamental テストを選ぶには、[すべてのテスト]、[Certification]\(認定\)、[Device Fundamental] の順に選びます。 テストの詳細については、デバイスの基礎テストの選択および構成方法を参照。
WDK 8.1では、デバイスの基礎テストは、All Tests、HCKテスト、証明書、およびデバイスの基礎フォルダーの下にあります。 WDK 8.1では、ドライバーテストカテゴリに HCK(基本)テストが含まれています。 詳細については、WDK 8.1でHCKテストスイートを実行する方法を参照。
目的とするテスト コンピューターのアーキテクチャ (x86、x64、Arm) に対応したテストを必ず選択してください。 アーキテクチャフィルターを使用して、テスト コンピューターで実行されるテストのみを表示します。
[>>] を選んで、選択したテストを追加します。
ステップ 4: テストパラメータを設定します
テストグループのテストを選択した後、ドライバーテストに渡される任意のランタイムパラメーターを構成できます。 たとえば、デバイスの基礎テストの多くには、デバイスクエリを表すパラメータDQがあります。 これはSimple Data Evaluation Language (SDEL) クエリです。 ウィンドウドライバーテストフレームワークは、属性または関係に基づいてターゲットを収集するタスクを簡素化するクエリ言語として SDELを提供します。
たとえば、USBデバイスのみのテストを実行するには、デバイスクエリ class='usb' を使用します。 テスト グループ内の各テスト パラメーターの値を変更できます。
[Driver Test Group]\(ドライバー テスト グループ\) ウィンドウでテスト名を選択することで、テストのすべてのランタイム テスト パラメーターを表示および編集できます。 ドライバー テストグループ ウィンドウには、選択したテストの説明が表示され、選択したテストパラメーターの説明も表示されます。 テスト パラメーターの設定の詳細については、デバイスの基礎テストの選択および構成方法を参照。
テストを選択してパラメーターを設定し、グループに名前を付けたら、[保存] を選びます。
テストグループを保存すると、そのテスト グループが現在選択されているテストグループになり、テストグループの名前がドライバーテストツールバーに表示されます。 これで、現在選択されているリモートテストコンピューターに対してテストを実行できるようになります (ドライバーテストのツールバーにも表示されます)。
ステップ 5: ドライバーを建築して開発します
- [ビルド] メニューの [ソリューションの配置] を選択します。
ビルドの時にドライバーを自動的に展開する方法については、テスト コンピューターへのドライバーの展開を参照。 テストコンピューターでドライバー検証機のオプションを自動的に設定する方法については、ドライバー プロジェクトのドライバー検証機のプロパティを参照。 テストコンピューターでは常にドライバー検証機を有効にする必要があります。
ステップ 6: テスト コンピューターでテストを実行する
- [ドライバー] メニューで、[テスト] > [テストの実行] の順に選びます。 デフォルトでは、Runテストのコマンドは、現在選択されているテスト グループ内のすべてのテストを実行します。
解説
ドライバーテストとテストカテゴリの詳細については、デバイスの基礎テストを選択および構成する方法を参照。 テストフレームワークの詳細については、Test Authoring and Execution Framework (TAEF)およびWindows Driver Test Framework (WDTF)を参照。
独自のドライバーテストを作成し、それらのテストをテストコンピューターに展開できます。 詳細については、「ドライバー テストの作成方法」を参照してください。
開発サイクルの早い段階で Visual Studio でデバイスの基礎テストを実行すると、最終的に Windows ハードウェア認定キット (HCK) を使用してドライバーをテストする準備が整ったときに役立ちます。