如何使用驱动程序测试模板编写驱动程序测试
可以使用 Windows 8 的 Windows 驱动程序工具包 (WDK) 创建自己的驱动程序测试或自定义提供的某些测试。可以使用 WDK 为 Microsoft Visual Studio Ultimate 2012 提供的驱动程序测试框架将你创建的测试部署到远程测试计算机。
WDK 提供模板,这些模板采用 C++、C# 和脚本 (JScript) 为 Windows 驱动程序测试项目创建起始代码。 可以选择要包含的测试用例,也可以从空白项目开始。可以自定义代码以为驱动程序添加新的测试用例。可以使用驱动程序测试框架从 Visual Studio 部署你的测试。
使用针对 C++ 的驱动程序测试模板自定义驱动程序测试的步骤
- 从“文件”菜单中,单击“新建 > 项目”****。
- 从“新建项目”对话框的已安装模板列表中,选择“Visual C++ > Windows 驱动程序 > 测试”****。
- 选择“采用 C++ 进行 Windows 驱动程序测试”。
- 为你的驱动程序测试项目提供一个名称和位置(或使用默认值)。
- 从“Windows 驱动程序测试”****对话框中,选择要包含的测试用例或者选择一个空(空白)的驱动程序测试。有关测试用例的详细信息,请参阅 Windows 驱动程序测试用例。
- 添加所需的测试元数据。有关详细信息,请参阅如何添加测试元数据。
- 构建驱动程序测试。
使用针对 C# 的驱动程序测试模板自定义驱动程序测试的步骤
- 从“文件”菜单中,单击“新建 > 项目”****。
- 从“新建项目”对话框的已安装模板列表中,选择“Visual C# > Windows 驱动程序”****。
- 选择“采用 C# 进行 Windows 驱动程序测试”。
- 为你的驱动程序测试项目提供一个名称和位置(或使用默认值)。
- 从“Windows 驱动程序测试”****对话框中,选择要包含的测试用例或者选择一个空(空白)的驱动程序测试。有关测试用例的信息,请参阅 Windows 驱动程序测试用例。
- 添加所需的测试元数据。有关详细信息,请参阅如何添加测试元数据。
- 构建驱动程序测试。
使用针对脚本的驱动程序测试模板自定义驱动程序测试的步骤
- 从“文件”菜单中,单击“新建 > 项目”****。
- 从“新建项目”对话框的已安装模板列表中,选择“脚本 > Windows 驱动程序”****。
- 选择“Windows 驱动程序测试脚本”。
- 为你的驱动程序测试项目提供一个名称和位置(或使用默认值)。
- 从“Windows 驱动程序测试”****对话框中,选择要包含的测试用例或者选择一个空(空白)的驱动程序测试。有关测试用例的信息,请参阅 Windows 驱动程序测试用例。
- 添加所需的测试元数据。有关详细信息,请参阅如何添加测试元数据。
- 构建驱动程序测试。
使你创建的驱动程序测试可以部署在测试计算机上。
构建驱动程序测试时,这个新测试将可用于部署到测试计算机。默认情况下,你创建的测试将出现在测试类别“我的测试类别”中。 测试的名称基于你选择的测试用例,并且它们将拥有诸如“我的即插即用意外删除测试”****之类的名称。 在每次构建测试期间,将覆盖此测试。此测试的最新版本将可以部署和运行在测试计算机上。
Windows 驱动程序测试用例
WDK 采用 C++、C# 和脚本为 Windows 驱动程序测试项目提供起始代码。 可以选择要包含的测试用例,也可以从空白项目开始。并非所有测试用例都提供每种语言的版本。
即插即用测试用例 | 强制驱动程序处理与即插即用 (PnP) 相关的大多数 IRP 的测试用例。 |
---|---|
禁用/启用 | 为禁用和启用 PnP 设备的测试用例提供代码。 |
删除 | 为删除 PnP 设备的测试用例提供代码。 |
意外删除 | 为执行 PnP 设备的意外删除的测试用例提供代码。 |
电源管理测试用例 | 提供强制驱动程序处理系统睡眠状态的测试用例。 |
系统睡眠状态 | 为在系统循环通过睡眠和电源状态时执行设备 I/O 的测试用例提供代码。 |
压力和功能测试用例 | 提供对 IOCTL 和 WMI 接口执行 I/O 压力和功能测试的测试用例。 |
I/O 压力 | 提供执行设备 I/O 压力的测试用例。 |
功能 IOCTL 接口 | 提供用于为 IOCTL 接口创建功能测试用例的模板。(仅提供 C++ 的版本)。 |
功能 WMI 接口 | 提供用于为 Windows Management Interface (WMI) 创建功能测试用例的模板。(仅提供脚本的版本) |
空的测试用例 | |
为创建 Windows 驱动程序测试项目提供空白模板。 |