如何使用“驱动程序测试”模板编写驱动程序测试
注意
本主题介绍仅在 Visual Studio 2013 中提供的功能。 有关以前的 WDK 和 Visual Studio 版本的信息,请参阅其他 WDK 下载。
你可以使用适用于 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 管理接口 (WMI) 创建功能测试用例的模板。 (仅可用于脚本) |
空测试用例 | |
提供用于创建 Windows 驱动程序测试项目的空白模板。 |