1 / 18

驱动程序的质量测试方法与 WHQL 认证

驱动程序的质量测试方法与 WHQL 认证. 王承罡 微软中国技术中心. 内 容. 什么是 WHQL? HCT 测试工具的理解与使用 几个重要的驱动测试工具 如何调试 HCT 发现的测试错误 如何在线提交 HCT 测试结果 驱动程序数字签名的未来策略. 缩写对照表. WHQL – Windows Hardware Quality Lab WHOS – Windows Hardware Online Service http://www.microsoft.com/whdc Http://winqual.microsoft.com

willa
Download Presentation

驱动程序的质量测试方法与 WHQL 认证

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 驱动程序的质量测试方法与WHQL认证 王承罡 微软中国技术中心

  2. 内 容 • 什么是WHQL? • HCT测试工具的理解与使用 • 几个重要的驱动测试工具 • 如何调试HCT发现的测试错误 • 如何在线提交HCT测试结果 • 驱动程序数字签名的未来策略

  3. 缩写对照表 • WHQL – Windows Hardware Quality Lab • WHOS – Windows Hardware Online Service • http://www.microsoft.com/whdc • Http://winqual.microsoft.com • DFW - Designed for Windows Logo Program • DQS – Driver Quality Signature Program • DDK – Driver Development Kit • HCT – Hardware Compatible Test • Digital Signature – 驱动程序数字签名.cat file • Symbol - 驱动程序符号文件.pdb file

  4. WHQL测试 • 完成HCT自测试 • 在线提交HCT测试结果 • 在线获得来自Microsoft的数字签名 • 申请Designed for Windows 徽标 (可选)

  5. HCT 测试准备 • 选择正确的硬件分类 • 已有分类不能涵盖的设备归类于“unclassified” • 搭建符合要求的硬件测试平台 • 用作测试的PC机必须有Designed for Windows 徽标. • 所有包含的设备必须有Designed for Windows 徽标. • 按照要求搭建测试网络 • 搭建符合要求的软件测试环境 • 安装Windows XP或Windows Server 2003操作系统 • 安装含有数字签名的设备驱动程序 • 安装最新的HCT工具集.

  6. HCT工具集 • 是由多个测试工具组成的测试包 • 总线相关测试. USB, PCI, 1394, 等等 • 驱动程序质量测试. Check INF, Driver Verifier, Driver Path Exerciser • ACPI功能测试. ACPI Sleep, 等等 • 压力测试, System Stress, 等等 • 硬件功能测试 • 还包含有一些独立测试工具子集: NDIS网络功能测试集, DCT图形测试工具集, 等等

  7. HCT中的驱动程序质量测试工具 • Driver Verifier • 跟踪14项不同的驱动程序执行状态,识别出 I/O验证, 内存池使用, 过少的资源状态或其它问题 • Driver Path Exerciser • 测试所有的IRP处理以识别出内存泄露问题 • Check INF • 检查INF文件语法 • Public import • 检测驱动程序是否调用了“非法的”功能调用

  8. 其它驱动程序质量测试工具 • PREfast for Drivers (包含于WDK中) • 分析驱动程序内存泄露、 pool tags的不正确使用和其它可能发生的错误 • Call Usage Verifier • 检测初始化错误, IRP堆栈错, 和spin Locks和interlocked lists一致性错误 • Static Driver Verifier • 给出错误的分支条件,来检测驱动程序中可能存在的执行路径有关的问题。这些错误条件包括二次调用IoCompleteRequest例程. 仅对C语言程序有效. • WinDBG ----Windows debug tool • 通过双机调试,发现蓝屏错误的原因

  9. HCT测试中… • 依照联机文档的步骤配置测试环境开始一步步测试,多数测试是自动测试,不需要人工干预 • 认真研读测试规范(Test Specification) • 网上查阅 WHQL Errata • 如果测试环境发生硬件变化,需要重新测试 • 典型测试时间: • 系统测试总时间约100小时 • 未归类USB设备测试约8小时

  10. 调试 HCT 测试错误 • 重复测试 • 人工验证 • 排出设备原因 • 使用 WinDBG 调试驱动程序 • 对比相同硬件分类的其它设备 • 使用操作系统和驱动程序的checked builds • 查找 Errata • 向WHQL Team报告

  11. 让HCT做得更顺畅 • 需要申请合法的 PnP ID. • 测试前即增加 xxx.cat 到 xxx.inf 文件中. • 在HCT测试前完成PREfast 和 Driver Verify 测试 • 不能忽略ACPI功能 • 严格依照工业标准设计硬件的Firmware

  12. 在线提交WHQL测试结果 • 申请winqual帐号 • 网上提交经 Verisign Digital ID签名的 winqual.exe • 建立测试结果文件: whqlhct.cab • 下载和编辑WHQL readme文件. • 准备提交文件夹 • 测试结果文件夹: whqlhct.cab, readme.doc • 驱动程序文件夹: 驱动程序文件, *.sys, *.inf • 符号文件文件夹(可选):*.pdb • 在线提交以上文件夹 • 提交网址: http://Winqual.microsoft.com • 使用 Verisign Digital ID签名提交文件压缩包 • 通过提交审核后,可在线下载驱动程序签名

  13. 驱动程序质量测试未来策略 • 开发与测试统一到一个工具包中 • ≈DDK + HCT + 其它工具 • 集成文档 , 测试, 工具和开发环境 • 可开发所有版本的Windows驱动程序 • DTM替代HCT • DTM = 驱动程序测试管理器 • 新增 DQS 程序 • Driver Quality Signature Program • 计划与Windows Vista RC一同发布

  14. Appendix: 网上资源: • 微软中国技术中心WHQL专栏 • http://www.microsoft.com/china/CTC/WHQL/whqlpage.asp • 硬件驱动中心 • http://www.microsoft.com/whdc/default.mspx • 下载WHQL测试工具: • http://www.microsoft.com/whdc/whql/WHQLdwn.mspx • 下载驱动程序调试工具WinDBG: • http://www.microsoft.com/whdc/devtools/debugging/default.mspx • 查询WHQL Errata • http://www.microsoft.com/whdc/whql/WHQLerr.mspx WHQL国内支持:ctcwhql@microsoft.com

More Related