驱动程序测试

此 bolg 来自《竹林蹊径 - 深入浅出 windows 驱动程序开发》一书,用于读书笔记分享

驱动程序开发完成后,我们需要进行一些功能性测试,以保证它工作于最佳状态。通常需要进行以下几方面的测试。

  • 内存使用测试
    目的是查看驱动程序有没有发生内存分配失败的情况。我们可以使用操作系统自带的 Verifier 工具进行测试,启动方式是直接在操作系统的命令行状态下运行 Verifier,也可以从 system32 目录下双击 verifier.exe 启动它。启动后,可以进行一系列的设置如下图所示:
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启电脑后,再次运行 Verifier 程序,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开内存测试程序,可以提高故障查找能力。比如,由于驱动程序内存分配错误,将空的指针传递到下一层的驱动程序中而导致下一层的驱动程序蓝屏,此时很难找出真正的原因,通常都会认为是下一层驱动程序有 bug 导致蓝屏,殊不知这是因为驱动程序错误而将错误扩大到下一层驱动程序中。此时,只要打开 Verifier 程序,在重启后这个 bug 将会出现在你的驱动程序中,从而让你能快速定位 bug 。

  • 功能测试
    通常使用黑盒测试技术。将驱动程序和应用程序连接好,让它在实际工作环境下运行,通过应用程序的反应来验证驱动程序功能是否符合设计文档的要求。在这种情况下没有其他好的办法,唯一可以借助的是一些自动化测试工具,如 WinRunner 等,用来自动操作应用程序,模拟实际工作环境。
  • 休眠测试
    将驱动程序正确安装到电脑上,打开休眠模式,让电脑在休眠后再被唤醒,确认驱动程序在休眠状态下可以正常工作。这对于硬件驱动程序来说,是验证电源管理功能的必要步骤。通常一次厕所不足以发现故障现象,可以重复多次进行测试。
  • 长时间运行测试
    如果在常规的测试状态下无法发现问题,并不能说明驱动程序已经非常稳定了。此时,我们需要配合应用程序,让驱动程序在实际工作环境或者接近于实际工作环境的情况下长时间运行,确保驱动程序的功能正常、稳定。

猜你喜欢

转载自blog.csdn.net/Dennis_Sck/article/details/82801028