现在的位置: 首页 > WHQL认证步骤 > 正文
Print Test_WHQL测试(3)
2012年09月23日 WHQL认证步骤 ⁄ 共 4087字 暂无评论 ⁄ 被围观 6,913 views+

HP printer驱动测试项目已经接近尾声了,通过之前跟有经验的同事的学习,目前我已经独自完成了Printer driver Beta6版本的WHQL测试,是时候对一些重要的测试项进行一下总结了。感觉自己还是学的比较浅,只是对测试项的基本功能和Client端表现有所了解,在打印机测试原理及错误排出等方面还有很多要学习的。

下面总结几个与打印功能关系最密切的测试项:

①Printable Area Test(PA测试)

该测试对各种纸张类型(例如A4/Letter/Envelope #10)分别打印portrait(纵向)和Landscape(横向)两种测试页。主要是验证各种纸张类型的打印区域的正确性。

下面是一个A5类型纸张portrait的打印输出:

 

下面是一个A6类型纸张Portrait&Landscape的打印输出:

 

对于一份打印输出,WHQL测试有以下几个测试点:

a.打印区域测试:整个打印区域的边界由四条彩色线条的线组成,每条线都是由基本颜色组成,首先要确保四条边被完整的打印出来,如果某种相应色彩没有被正常打印出来,说明该色彩对应的墨盒可能有问题。然后要对四边线条距离纸张边距的值进行,看该值在允许误差范围内是否正确。

b.对角线测试:两条对角线顶点为打印区域矩形的四个顶点,交点为打印区域中心。

c.在打印区域内的第二个矩阵,该矩阵四边距离物理纸张四边的距离为1inch。

d.2x2inch矩阵测试:在打印区域内打印一个2x2inch矩阵,该矩阵长宽均为2inch,距离打印区域上边据1inch。

e.信息内容:在打印区域中心(对角线交点)显示被测纸张尺寸,方向信息。

f.在测试页下方会显示一些与被测打印机相关的信息:如打印机名称,打印端口,驱动程序信息等内容。

 

②Print WinColor Test

该打印机测试会打印出一张由很多色块组成的测试页,每个色块需要由色度计测量出数值。

下面是一张WinColor的测试页:

将色度计测量出的色彩值填入客户端对话框中:

将该数值与Windows定义的色彩标准进行比较,如果与预期值不符,测试无法通过。

测试工具名称:GretagMacbeth SpectroScanT

http://www.colourtools.co.uk/spectroscant.htm

③Photo Print Test

该测试打印五张图片,每张图片以Portrait和Landscape两中方向打印。进而验证打印机对图片的打印是正确的,在方向转换后不会失真,色彩变化无间断等。如果图片无法打印或同一张图片只打印一种方向,都可看作测试失败。

打印机测试内容:

封面页

花的图片:横向纵向两张

两个小孩图片:横向纵向两张

牛图片:横向纵向两张

城市图片:横向纵向两张

岩石图片:横向纵向两张

 

4.DocumentProperties Test (ANSI & UniCode)

文档属性测试用来检测客户端驱动程序属性的API。该测试通过各种规范和不规范的参数调用属性API来检测驱动程序的UI。

对于每个打印机测试用例,使用过的参数被加载到日志文件中,下面是一个日志文件的例子:

<StartTest
                Title="DocumentPropertiesTEST"
                TUID="" CA="259184628680" LA="259190331028" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</StartTest>
<Msg
                UserText="Testing Parameters permutation:" CA="259184695528" LA="259191739244" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="ParentWindow handle = NULL" CA="259187152000" LA="259197116980" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="PrinterHandle   = 0008B13C" CA="259187274076" LA="259198369668" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="DevName                                         = BadPrinterName" CA="259189194348" LA="259202784116" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="OutDevMode                   = 00000000" CA="259194212632" LA="259205347188" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="InDevMode                      = 0026D838" CA="259194365944" LA="259207533880" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="fMode == 0x5E" CA="259195053008" LA="259208248332" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="DM_COPY | DM_PROMPT | DM_MODIFY | DM_ADVANCED | DM_USER_DEFAULT" CA="259199944896" LA="259209030276" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="Checking return from DocumentProperties():" CA="259578756012" LA="259579142928" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<Msg
                UserText="No Errors found" CA="259581819836" LA="259585130656" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</Msg>
<EndTest
                Title="DocumentPropertiesTEST"
                TUID=""
                Result="Pass"
                Repro="SUCCESS: Variation: 0" CA="259582037324" LA="259586679184" >
                <rti id="2701157395" />
                <ctx id="4071736938" />
</EndTest>
如果日志文件不包含failure项,则测试通过。
如果有一项或多项测试结果失败,则该项测试失败。
客户端:
该打印机测试会多次调用被测驱动程序的UI接口:
语法命令:
 命令选项  描述
 /p=<Printer Name>  被测打印机名称
 /l=<Log File Name>  日志文件名
 /s=<Server Name>  打印服务器名称
 /umdh  在memory leak detection下运行
 /r=<Number>  测试运行的次数

5.Print Processor API Test:

该测试会调用指定的终端打印处理器进而验证所有的请求是有效的。该测试调用六项测试验证验证处理器API能否对请求作正确处理。

  测试内容:

  • OpenPrintProcessor
  • ClosePrintProcessor
  • ControlPrintProcessor
  • EnumPrintProcessorDatatypesW
  • PrintDocumentOnPrintProcessor
  • GetPrintProcessorCapabilities

如果有一项测试不能被待测终端正确响应,将会纪录测试失败。由于打印机处理器包含多种的功能,因此该项测试不可能涵盖Processor的全部功能,因此建议增加手工测试以确保全部的功能得到验证。

通过标准:结果中不包含failure纪录。

失败标准:如果测试结果中有一项或多项为通过测试的子项,则测试失败。





给我留言

留言无头像?

×