基于打印机黑盒测试技术研究

时间:2022-10-02 02:59:32

基于打印机黑盒测试技术研究

(第一人民医院信息中心,常熟 215500)

摘要: 黑盒测试是软件测试的一种重要的方法,尽管黑盒测试已经被业内人员所熟知,但是不同的公司对黑盒测试的运用方法已经理解都不尽相同。本文介绍了打印机测试的一点理解与应用。本文首先介绍了黑盒测试的方法,接着分为copy,print,scan,Memory card等模块,分别举例说明了黑盒测试在打印机测试中的运用并且给出一些典型的测试用例,以及介绍对于bug的处理方法。

关键词: 打印机;黑盒测试;应用

0引言

打印机在我们日常生活中受到了越来越多的重视。客户有了这样的需求,各大开发商就会竭尽全力的去满足,各种功能,包括传真扫描,无线,与网络交互,与手机交互,包括把扫描出来的文档作为附件直接发送到目标邮箱里,这样,功能越多,就越容易出现功能上的问题,打印机测试在开发过程中就显得尤为重要。目前的打印机测试方法有很多,比如黑盒测试,白盒测试,自动化测试等等。白盒测试因为涉及到内部代码,因为公司保密的关系,通常由开发人员自己去测试。黑盒测试是软件测试的一种重要的方法,尽管黑盒测试已经被业内人员所熟知,但是不同的公司对黑盒测试的运用方法已经理解都不尽相同。

本文首先介绍了黑盒测试的方法,接着分为copy,print,scan,Memory card等模块,分别举例说明了黑盒测试在打印机测试中的运用并且给出一些典型的测试用例,以及介绍对于bug的处理方法。

1软件测试的定义

软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动。其实更简单地讲就是去发现开发人员在开发过程中所犯的错误,找出与实际需求不符的地方。

1.1 测试方法白盒测试也称为结构性测试,它是根据软件产品的内部工作过程,在计算机上进行测试,以证实每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

白盒测试把测试对象看成是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。如图1所示:Y表示输出,X表示输入,白盒测试要测试它的代码,要弄清内部的结构。

黑盒测试法把程序看成一个黑盒子,完全不考虑程序内部结构和处理过程。它的测试方法主要有等价类划分、边界值分析、因果图、错误推测、功能图法等,主要用于软件确认测试。测试方法主要是编写case的时候用到,保证没有功能性的测试点被遗漏。

当然这是当今主流的两种测试方法,还有兼容性测试,性能测试,压力测试,接口测试,可用性测试,很多都用到QTP或者Loadrunner等自动化工具等等,这些在打印机测试当中应用不多,这里就不做赘述。

2黑盒测试在打印机测试中的运用

2.1 打印机测试对于打印机的测试,首先要了解它的功能,现在的打印机都是集打印,扫描,传真于一体的,包括支持Wifi,支持自动双面等。可以分为很多单元测试来进行:复印、传真、扫描、存储卡、打印、USB连接,网线连接,无线连接,支持u盘,墨盒的使用情况,打印机内部记录的使用数据并且能够上传至电脑本地和官网,以及打印机在电脑上安装软件,软件与打印机固件的升级,软件的正常使用,正常显示,软件在各种系统上是否能正常安装等。对于现在的All-in-one打印机,都是需要在PC端安装对应的软件的,所以可以把所有的测试人员分成两个团队,一个Software组专门去测试软件,一个firmware组专门去测试打印机固件。这样两个组可以更有侧重点的完成好自己的工作。

黑盒测试是一种重要的测试策略,有称为数据驱动的测试或输入/输出驱动的测试。使用这种方法测试时,将视程序为一个黑盒子。测试目标与程序的内部机制个结构完全无关,而是将重点集中放在发现程序不按照其规范正确运行的环境条件。在这种方法中,测试数据完全来源于软件规范,如果想用这种方法来发现程序的所有错误,判断标准就是“穷举输入测试”,将所有的可能输入条件都作为测试用例。但是用这种穷举输入测试方法往往是无法实现的。

一般来说,通常都是测试人员首先发现bug,一个好的测试人员,不是说只要认真执行case就行的,他要会思考,要有很好的全局观。要更好的发现bug,必须要了解执行的case,一般写的好的case可以做到,完全不懂软件测试的人,看到这个用例,都可以把他执行出来。

2.2 黑盒测试的应用下面对打印机测试的每个模块作详细说明,并且列出测试用例进行说明:

以最简单的copy为例,copy的测试点很简单,检查打印机能copy出文档并且没有截断没有黑线色差,检查能根据用户的需要,更改设置,并且copy出来的文档符合其设置,比如张数,放大缩小,彩印黑白,明暗等。Copy这个功能的测试用例就是根据不同的设置,编写出不同的测试用例,根据设置参数的不同,去穷举出用户所有可能做的设置,根据不同的设置,做相应的操作,那么这样就会有人问,说,这么多的参数,要多少测试用例才能完成一个全覆盖啊?回答这个问题,就要用到我们高等代数中的正交矩阵的方法。曾经有一个日本人证明过,对于3因素2水平,我们只需要4条case就能做一个能满足80%的覆盖,当然,3因素2水平,是最简单的,其实用排列组合就是2*2*2,然而最小覆盖就是每个参数都涉及到,只要2条case就够了,但是最小覆盖往往会漏bug。

在执行case过程中最重要的,就是要去check这个实际结果与期望结果是否一致,这个是每个测试人员需要铭记于心的。在覆盖case的时候要记得黑盒测试中有一个重要的边界值分析,就是我这个设置参数的时候,比如我路由的WEP的加密方式,只能用5位的或者13位的数字,那么我试试能不能用4位的或者6位的,或者12位的14位的,就是比目标值稍大或者稍小的,我们都要去验证,这就是边界值分析。

接下来是print,打印的测试点很多:①测试从memory card发送的图片打印工作。②测试从USB或是WIFI方式连接的PC发出的文档和图片打印工作。③测试从前面板发送的Printable Forms打印工作。④测试双面打印功能,要注意是要求手动双面打/自动双面打,手动/自动双面打:这个需要在软件的PPUI里面进行选择。⑤检查printout:参照原文档,主要的check点有颜色(字体或是图片颜色跟原文档不一致),边距(整体偏左等),线条(出现多余的线条),以及是否出现原文档部分丢失,对于一些特定的设置,要看设置是否起作用,并要符合设置后的要求编写case的时候,要把各种情况都覆盖到,这与copy类似,这里就不详细说明。唯一要加的一点是,print有一个打印速度的问题,从PC发送打印任务到打印机接受任务并且开始打印要满足大多数用户的接受范围。⑥错误信息的显示是为了让打印机FW系统在遇到异常情况时产生并向用户反馈错误以及提示信息。用户可以通过信息的提示使打印机回复到正常状态。⑦当墨盒发生错误或是没有插入墨盒时,检查提示LED灯的状态。(只有个别机器支持此功能)。⑧当使用完全空的墨盒或是只插入其中一个墨盒和没有墨盒时,在显示屏会有相关的错误信息提示,打印机无法执行打印任务。⑨当使用不同墨量的墨盒时,从打印机的前面板检查墨量,打印机应该正确显示墨量的图示信息。⑩当使用低墨量的墨盒时,打印机会出现墨量低的警告信息提示,警告信息可以通过按取消键取消,当执行打印、复印任务时低墨量的警告信息也会提示。

特别是打印机对于多个操作的处理机制,同时发scan to和scan from,然后再发print,它会按照你的发送顺序,完成一个滞后再继续另外一个。UI里面还有一项是初始化打印机,初始化之后就相当于恢复了出厂设置,是没开机过之前的状态,然后再开机,会显示让你选择国家,区域,语言等等,说到语言,打印机支持了多个国家的语言,当今社会是个国际化的时代,我们的手机,电脑系统都能做本地化,打印机当然也不例外。打印机最重要的当然是墨盒,我们对墨盒也要测试,就像手机测试,我们要测试待机时间一样,打印机离不开墨,我们对打印一张plain纸或者photo纸照片的耗墨量要有个量化的过程,先是称一下墨盒,然后发一个打印任务,然后再称一下墨盒,计算两个值之间的差值,就是我们所需要的数值,看它是否在一个区间范围之内。

根据Case做指定的操作后,再次使用DBGMON工具与命令,得到的打印机信息应该正确变化。再次上传信息并从服务器上将上传的信息下载,将二者比较,应该完全相同。变化后的信息应该和使用DBGMON工具命令得到的值相同。当开发人员修复了这个bug之后,我们测试部门还要去验证这个bug是否真的被修复了,我们要去验证,是不是真的不发生了。如果还是发生的话,要及时reopen这个bug,让开发人员继续去解决。这里要注意的是,穷举法测试时不可能实现的,我们尽最大的可能去发现bug,但是bug是不可能被全部发现的。

3结束语

测试的目的不是为了仅仅找出错误,而是通过它发现错误、分析错误,找到错误的分布特征和规律,从而帮助项目管理人员发现当前所采用的软件开发过程的缺陷,以便改进;同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。即使测试没有发现任何错误,也是十分有价值的,因为完整的测试不仅可以给软件质量进行一个正确的评价,而且是提高软件质量的重要方法之一。

参考文献:

[1]孙玉霞.面向对象软件簇级的一种动态测试工具的设计与实现[D].暨南大学,2002年.

[2]张刚.MSCIS接口控制系统通信卡、控制卡设计与驱动开发[D].武汉理工大学,2004年.

[3]李泽安.测试程序开发环境分析与设计[D].南京气象学院,2004年.

[4]林钧跃.激光打印技术发展现状[J].激光与红外,1986,(6).

[5]肖文贵.迷人的HP激光打印机世界[J].今日电子,1993,(3).

上一篇:持续质量改进预防前列腺电切患者术中低体温 下一篇:电子数据库法律保护的原因分析