51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6589|回复: 6
打印 上一主题 下一主题

[原创] WHQL测试(1)_获取数字签名的重要性

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-24 21:54:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Windows 2000操作系统开始,用户会发现在为爱机安装某些新硬件的驱动程序时,会弹出一个没有数字签名的警告对话框,这个对话框让用户看起来很不爽,它说这个刚买回来的新硬件有可能是不可靠的,有可能影响整机的稳定性。当然,通常购自于名牌大厂的硬件就不会有这样的提示,这是怎么一回事呢?
驱动程序的数字签名是电脑硬件和驱动程序可靠性和兼容性的一个标志。原来,早在Windows 9x时代,通过大量的用户调查,微软公司就发现之所以有操作系统蓝屏错误的发生往往与不可靠的硬件和编制不良的驱动程序有关。蓝屏错误的专业术语叫GP错,即General Protect Error,是用户最讨厌看到的东西了,因为一旦出现了这个画面,多数情况意味着用户的数据已经无法挽回了,只有关机重开或者按Reset键“掐人中”了。
让我们来看看GP错与驱动程序的关系。Windows操作系统中把内存划分为核心模式区和用户模式区两部分,在核心模式区内运行操作系统自身的管理代码和硬件驱动程序这些“底层”的软件,而用户模式区内运行的是应用程序,如MS WordAdobe Photoshop等等。我们日常接触到的软件大都属于应用程序,都运行在用户模式下,包括Windows自身的用户界面也都是运行在用户模式下的。运行在用户模式下的应用程序的共同特点是即使发生了错误,也只影响到这个程序本身,比如Word死掉了,我们可以使用“任务管理器”将它强制关闭,Word中的数据可能丢失但操作系统中其他软件仍可运行,这就是所谓的操作系统保护。这时并不会发生蓝屏错误。但核心模式下的软件一旦发生错误,就会有蓝屏发生了,因为操作系统队核心模式下基本上没有保护,所以就会发生“保护错”(General Protect Error)。
Windows操作系统本身运行在核心模式下的程序往往经过微软公司内部比较系统全面的测试,所以在用户使用中由于Windows核心程序出错而导致蓝屏错误的情况很少。驱动程序是由各个硬件厂家配合他们出品的计算机硬件提供的,多数的名牌大厂也能做到合理的开发和完善的测试,都有着严格的质量控制体系,所以一般也很少出问题。但一些小厂商为了赶开发进度或者降低成本,兼容性测试和质量控制会不够完善,往往会将一些隐含缺陷的驱动程序搭配硬件出售。用户购买了这样的产品就带来了使用中的隐患。微软公司发现多数的蓝屏都是由于这样的原因。这也是杂牌小厂的产品往往质量上不如名牌大厂产品的一个原因。使用不可靠的硬件往往会发生电脑莫名其妙地突然死机、自动重起或者蓝屏。过去人们往往归罪于微软,指责Windows操作系统不稳定,微软感到十分委屈,无端被了不良硬件厂家的黑锅。不过操作系统是电脑最基本的软件平台,微软也应该为整机的稳定性承担必要的责任。为了提高整机系统的稳定性,减少用户对操作系统的指责,微软推出了一个机制来识别“好的”和“不好的”驱动程序,对于一个“好的”驱动程序,则配上一个扩展名为.cat的文件,使用加密算法记录这个驱动程序由哪些文件构成,这些文件是否都是原始文件,是否都没有被修改,这个文件将与这个驱动程序文件放在一起,成为驱动程序的一部分,这个文件就被叫做该驱动程序的数字签名。
那么硬件厂商或开发者自己开发了一个新的驱动程序后,怎样能像一个名牌大厂那样为驱动程序搭配上这样一个文件呢?当前,微软公司对数字签名文件的管理很严格,必须到微软的硬件质量实验室(Windows Hardware Quality Lab,按各单词字头缩写简称为WHQL)去申请才行,幸好这个申请手续并不复杂。微软WHQL推出了一套不断更新的测试软件就叫HCTHardware Compatibility Test,即硬件兼容性测试),这个测试工具集可以在微软的网站上免费下载到最新版本,当前刚刚发布了12.1版本,驱动程序的开发人员可以使用HCT这个工具对自己的驱动程序进行测试,如果这些测试项目都能通过,就可以通过因特网向WHQL申请数字签名了,当然微软公司要对每次申请收取250美金的申请费用,不过这笔费用对于一个即将在市场上批量销售的产品就不算多了。
HCT这个测试工具是既复杂又简单的。说它复杂是在于它包含了整机和部件几乎所有方面的测试内容,比如对于Data Center服务器有关的认证测试中最严格的一些项目都要求连续14天的连续运行测试。说它简单,是因为HCT中多数的测试都是自动测试,使用起来很轻松。即使是手工测试,通常也只需要进行一些简单的操作,并且有详细的联机文档可以给测试者提供详尽帮助。从这一点来说,即使是非专业人员也可以拿来使用,所以建议DIY的朋友们在攒完一台新电脑后,立即运行一遍HCT中的System test(系统测试),你的新机好坏就一目了然了。
下面我们就细说一下HCT这个测试工具集。HCT针对测试对象可分为两大类,系统测试和部件测试,系统测试又分为台式机,笔记本和服务器的测试,部件测试则分为声卡、网络设备、打印机、扫描仪等图形图像设备等。HCT测试是十分全面的,即使硬件设备不再以上分类中,那么仍可归类为Unclassified Device,即“未归类设备”。显示卡的测试是个例外,它作为单独的测试工具集DCT并不包含在HCT工具集中,需要单独下载,当前最新的DCT5.3版本,需要在微软网站上单独下载。
从测试机理来说,HCT包括几个方面的测试,首先是总线方面的测试。计算机内外部件从系统架构上来看都是从属于几个总线上的,如PCI总线、USB总线或1394总线。HCT中就包括对这些总线有关的测试,如针对PCI设备就会有PCI Compliance Test,来检测这个被测硬件是否严格符合PCI规范的各种电气方面和功能方面的要求。如USB设备则有USB Address Descrīption TestUSB Device Framework(CV)等等。

[ 本帖最后由 郝宁 于 2008-11-7 20:06 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-4-27 11:09:25 | 只看该作者
LZ是做硬件测试的 哦~~~
佩服佩服~~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-4-27 21:28:36 | 只看该作者
有从事WHQL测试的吗?想和大家交流一下经验,中国的硬件厂商为何总是无法在世界舞台上立足,归根结底就是不够规范,感觉做WHQL测试还是蛮有前途地。。。。。。。

[ 本帖最后由 郝宁 于 2007-4-27 21:58 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-31 11:25:29 | 只看该作者

请教

请问涉及到数码相机相关的WHQL验证,都需要做哪些方面的测试呢?
   急切盼望大师的解答,谢谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-6-1 11:03:59 | 只看该作者
楼上的兄弟让你失望了。由于我工作经历有限,不可能对WHQL所涉及的所有外设都了解。所以不能给你意见。。。sorry
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-11-1 17:45:23 | 只看该作者
我也是做这个的,看看和你有没有什么合作机会



http://www.whql-china.com
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-9-27 11:29:34 | 只看该作者
catalogfile=xxx.cat    这个添加到inf文件的那个位置呢?只要是驱动测试就要添加吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-27 02:44 , Processed in 0.093345 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表