如何使用 Visual Studio 在运行时测试驱动程序

Visual Studio 的 WDK 扩展提供设备测试接口,可让你在网络中的测试计算机上方便地生成、部署、安装和测试驱动程序。 WDK 提供一系列设备驱动程序测试,你可以用来测试驱动程序的特性和功能。

先决条件

  • 就绪可安装的驱动程序包。 必须先创建和构建驱动程序。 从 Windows 10 WDK 版本开始,会自动创建驱动程序包进行安装。 有关详细信息,请参阅构建驱动程序
  • 驱动程序必须经过测试签名。 有关详细信息,请参阅为驱动程序签名
  • 一台测试计算机(或多台)。 测试计算机必须与你用于开发的计算机位于同一个网络。 这两台计算机必须连接到同一个域,或者都在同一工作组下连接到网络。 测试计算机应该运行你想要定位测试目标的 Windows 版本。
  • 要测试的设备。
  • 建议)设置与测试计算机的内核模式调试连接。 若要使用用于内核模式调试的网络连接,目标计算机必须运行 Windows 8。 在运行 Windows 7 或 Windows Vista 的计算机上,你可以设置 USB、1394 或串行连接以用于内核模式调试。 有关详细信息,请参阅预配计算机以便进行驱动程序部署和测试 (WDK 8.1)

说明

步骤 1:配置计算机以进行测试

在 Visual Studio 中,可以配置和预配测试计算机。 配置测试计算机时,WDK 驱动程序测试框架将自动启用测试计算机进行远程调试,并传输测试二进制文件和支持文件。

  1. 如果尚未完成此操作,请按照预配计算机以便进行驱动程序部署和测试 (WDK 8.1) 中的说明进行操作。
  2. 将你想要测试的设备连接到测试计算机。

配置并预配测试计算机后,可以使用 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 设备的 Windows 硬件认证工具包 (HCK) 基本测试。

步骤 3:选择要在测试计算机上运行的测试(WDK 8 和 WDK 8.1)

若要使不同测试目标上的驱动程序测试更加容易,应将测试安排为针对称为“测试组” 的单元中的测试系统运行。 驱动程序测试组是你选择要在测试计算机上运行的测试的集合。 驱动程序测试组帮助你整理每个测试轮次的测试和测试结果。 可以将测试结果保存到单独的文件夹中。 你可以创建和管理测试组,更改传递到测试组中的测试的参数,并安排这些测试针对测试系统运行。

  1. 从“驱动程序”菜单中,选择“测试”,然后选择“测试组资源管理器”。

  2. 在“驱动程序测试组资源管理器”窗口中,选择“创建新测试组”按钮。 或者,在“驱动程序”菜单中选择“新建测试组”。

  3. 在你创建的组的“驱动程序测试组” 窗口中,在“测试组名称” 文本框内键入一个用来识别该组的名称。 默认名称是 Driver Test Group_nnnnn,其中 nnnnn 表示测试组的编号

  4. 选择“添加/删除测试”。

  5. 在“添加或删除驱动程序测试”对话框中,可以指定驱动程序测试类别和体系结构(所有、x86、x64、Arm)。 默认情况下会显示所有测试。 若要查看测试类别,选择“驱动程序测试类别”下拉列表中的文件夹。

    例如,在 WDK 8 中,若要选择 Windows 硬件认证工具包 (HCK) 中使用的所有设备基础知识测试,选择“所有测试”、“认证”和“设备基础知识”。 有关测试的信息,请参阅如何选择和配置设备基础功能测试

    在 WDK 8.1 中,设备基础功能测试位于“所有测试” 、“HCK 测试” 、“认证” 和“设备基础” 文件夹下。 在 WDK 8.1 中,驱动程序测试类别包括 HCK(基本)测试。 请参阅如何在 WDK 8.1 中运行 HCK 测试套件了解详细信息。

  6. 请确保选择与目标测试计算机体系结构(x86、x64、Arm)匹配的测试。 使用体系结构筛选器来仅显示将在测试计算机上运行的那些测试。

  7. 选择 >> 添加已选择的测试。

步骤 4:配置测试参数

在为测试组选择测试后,你可以配置传递到驱动程序测试的任何一个运行时参数。 例如,许多设备基础功能测试具有参数 DQ,它代表“设备查询”。 这是简单数据评估语言 (SDEL) 查询。 Windows 驱动程序测试框架提供了 SDEL 作为查询语言,以简化根据属性或关系收集目标的任务。

例如,若要只为 USB 设备运行测试,请使用设备查询:class='usb'。 你可以更改测试组中每个测试参数的值。

  1. 你可以选择“驱动程序测试组”窗口中测试的名称,查看和编辑测试的所有运行时测试参数。 “驱动程序测试组” 窗口提供对所选测试的说明,并且还提供对你选择的测试参数的说明。 有关设置测试参数的信息,请参阅如何选择和配置设备基础功能测试

  2. 选择测试后,设置参数,并为组命名,然后选择“保存”。

    保存测试组时,测试组将变为当前选择的测试组,测试组的名称将显示在“驱动程序测试”工具栏中。 你现在可以针对当前选择的远程测试计算机(同时显示在“驱动程序测试”工具栏中)运行测试。

步骤 5:生成和部署驱动程序

  • 从“生成”菜单中选择“部署选择方案” 。

有关在生成时自动部署驱动程序的信息,请参阅将驱动程序部署到测试计算机。 有关在测试计算机上自动设置驱动程序验证程序选项的信息,请参阅驱动程序项目的驱动程序验证程序属性。 你应始终在测试计算机上启用驱动程序验证程序。

步骤 6:在测试计算机上运行测试

  • 从“驱动程序”菜单中,选择“测试”>“运行测试” 。 默认情况下,“运行”测试命令将运行当前所选测试组中的所有测试。

备注

有关驱动程序测试和测试类别的信息,请参阅如何选择和配置设备基础功能测试。 有关测试框架的信息,请参阅测试授权和执行框架 (TAEF) 和 Windows 驱动程序测试框架 (WDTF)。

你可以编写自己的驱动程序测试,并在测试计算机上部署这些测试。 有关详细信息,请参阅如何编写驱动程序测试

在开发周期的早期在 Visual Studio 中运行设备基础功能测试,这将有助于你最终准备好使用 Windows 硬件认证工具包 (HCK) 测试驱动程序。