一、总述

作为软件测试者都知道,软件测试可分为黑盒测试、白盒测试以及介于两者之间的灰盒测试。(这些对软件测试者而言并不陌生的概念性的东西在此不详细介绍了。)在对佳能传真机的测试中佳能QA进行的都是不了解程序代码而直接进行数据输入求证输出结果的黑盒测试。而黑盒测试与白盒测试的一个大的不同在于黑盒测试比较随机、灵活,很多问题的测试、发现都是靠一些经验、感觉。

佳能传真机Model-4是一款面向全球的传真机型,其软件相对而言也很复杂,因此在软件的测试中也先后出现了很多bug,在对这些bug分析总结的基础上结合对先前的modelA3的测试总结谈一下自己对测试的一点心得体会。

二、测试思路

我们知道很多软件都涉及到内存(memory)和用户界面(UI)两大部分,佳能传真机软件也都包括这两部分,而这两部分的好坏将直接影响的软件的功能、性能和用户的使用,因此这两部分的测试是一款软件产品测试中相当重要的一部分。下面首先从这两部分的测试谈起。

1.用户界面测试(UI test)

M4的用户界面比较简单,而modelA3用户界面相对而言要复杂得多。在这里谈到的用户界面的测试体会很多都是基于A3的测试心得。

产品软件界面犹如人的面孔,界面的好坏决定用户对软件产品的第一印象,好的截面能给人一种赏心悦目的感受,好的界面也能起到导向作用,同时界面的好坏将直接影响到用户的操作、使用等。

界面测试时要注意到文字、符号(图像、logo标签等)显示是否正确、合理。如果一款软件连基本的文字显示都不正确,可想用户看到后会有什么样的感受,同时在符号(图像、logo标签等)如果不能正确合理的显示将会影响到用户的操作使用等。比如,在A3的文字显示上必须注意好文字显示的是否正确,其大小写是否混淆(日语中的大小写有着严格的区分,大小写代表着不同的单词)等;而在一些图标信息上也是必须严格做到该显示的要显示出来,不该显示的不要显示,比如A3中的音量图标、色带图标还有一些multi-key(分别代表着传真发送、传真接受、精度设置、拷贝的F1、F2、F3、F4图标),如果不能正确合理的显示将会导致用户的误解、操作错误等。总之,在文字、符号(图像、logo标签等一些软件界面显示信息)上要做到正确、合理。

事实上,想网页设计、电脑应用软件等一下在电脑上运行的软件界面测试不仅要注意到易用、合理、协调美观还要注意到一些规范性测试等。在此不便具体介绍,只是为了强调说明用户界面测试的重要性。

2.内存测试(memory test)

可以说每一款软件中都要涉及到内存管理,而一款软件的内存处理的好坏将直接影响到软件功能能否正常实现、运行中性能状态是否良好等。应该说在ModelA3和Model4的测试中有很大一部分都问题都有内存方面,而在这方面的测试更是花费了大量时间。下面结合实例来说明一下内存测试的思路、方法。

在A3的测试中,举两个关于和电话记录有关的问题:1、A3电话薄大存储容量为100条,如果注册满100条后再进行注册101条电话号码时,早注册的那条号码将被覆盖掉;如果用户删除第8条以后的任意一条号码,则会引起内存电话记录混乱、同时也影响到来电显示问题;2、A3的来电历史大记录为30条,当记录满30条时,如果从中随意删除一条记录,然后再来电,会出现某些来电记录被新来电覆盖的问题,即之前的来电记录有和新的来电记录一致的现象。

在M4的测试中也有很多涉及到内存的问题出现,比如小数据量多页传真接收打印时,会出现数据丢失显现。

内存管理是软件中很容易出问题的部分,我们想将这部分这好也是比较难,但我们可以从以下几个方面来把握:一、内存测试时,对内存进行增加、删除来改变内存记录看其会不会影响到其他的内存记录;二、注意内存存储时,对其进行各种断电或其他中断操作,看这些操作会不会影响到内存记录;三、让内存记录到临界状态,在存储极限状态对其进行一些操作,看在极限状态下会不会出现一些错误或混乱现象。

总之,内存管理是软件中一项非常重要的部分,内存混乱、出错将影响到软件的功能和性能,今后,无论在哪方面的软件测试中都要注意!

以上两点主要是从测试对象出现谈起的,主要说的是测试层面问题,下面从测试思路上介绍一些常用的且容易发现问题的测试方法.

3.中断测试

对用户而言,在产品的使用过程中不可避免的会出现一些无法预料到的中断,因此一款软件的设计要考虑到这些中断的影响,而我们在测试过程中也必须对软件进行各种中断测试。中断测试是测试中一种常用到的测试方法,中断测试是保证软件功能和性能的一个重要手段,在实际测试中中断测试都很容易找到软件中的一些问题。

我们在进行中断测试时,要注意到对中断时间点的把握,特别是在一些关键点上很容易出问题。在对M4进行拷贝和各种打印测试时,都大量运用了中断测试,也发现了很多问题,下面举例来说明一下中断测试:

Eg1.传真在边收边打时,以下是一些中断点:1、传真协议建立的过程中;2、传真刚开始启动接收(到内存)时;3、传真接收过程中;4、传真接收快要结束时;5传真接收完毕刚要启动打印时;6、传真吸纸(pre-feed)时;7、传真吸纸中;8、传真喜纸结束准备启动打印时;9、传真打印过程中;10、传真刚刚打印结束退纸时。通过对以上中断点的测试我们有发现在传真刚打印打印时可以中断掉,而在传真打印过程中不能手动中断打印,而在打印快结束的时候又可以手动进行中断。

上面的例子说的是对任务本身进行的中断,而在实际测试中,我们还要注意到对一个任务由其他任务导致的中断测试。比如,我们在进行注册的时候,突然来个电话等。这些也都很容易导致一些问题的出现。

我们在软件测试时不但要进行一些合乎逻辑的功能性测试,而且更要进行一些破坏性的中断测试。可以说,不会对软件实施一些破坏性活动的中断测试的测试者绝不是一名好的测试者!

顺便再提一下非法测试,一般而言,我们的软件都是按照程序员设计的流程来运行,但在软件运行的过程中难免会出现一些误操,这些非法的不符合逻辑的操作也是我们在测试中必须注意把握的,我们不但要保证软件在正常情况下能够正常运行,而且还要保证使得软件在一些非法的不符合逻辑的操作面前不会出问题,这也是我们平时所说的要保证软件的强壮性。

4.多任务测试

多任务测试也是软件测试过程中必须考虑到的一个方面,比如说我们在报告打印的过程中,突然来电。这时根据规格要求,传真机不但要能正常接听来电,打印动作也不被来电影响,类似于这类的测试很多,而这类问题的测试也是一些bug多发情况。

在多任务测试时,很容易出现一些死机、某些功能无法正常实现等情形。我们在进行多任务测试时不但要把握这些功能能否正常实现还要看有没有其他一些问题出现。比如,在打印报告的时候来电,在CALL ID打开的状态看来电显示是否正确,在通话结束的时候挂机,看LCD的显示是否又恢复到打印状态时的显示等。

在进行多任务测试时,我们还要结合一些中断测试等来进行测试,以防止出现一些异常情况。

5.临界测试

我们知道,日本是一个地震多发的,每年都会有一些或大或小的地震去骚扰一下,为此,日本人曾吃了不少苦。为什么日本会有那么多的地震?原因很简单,从地理上而言它处于亚欧版块和太平洋版块的临界位置,不稳定!所以也容易出现一些不必要的问题。

以上只是形象的说明一下临界位置是一个比较敏感地带,表现的不稳定性,容易出问题。我们软件也是如此。因此,对软件进行临界测试时是一个非常重要的方面!

我们在对M4进行临界测试时,表现为重要的还是内存方面,往往内存在达到其存储容量的临界点时会有很多问题发生,如数据丢失等。

临界测试还有如对电话存储极的测试:当来电历史里的记录条数处于大状态或者电话薄中登录的号码数目大时,我们对其进行一些合法的、非法的、正常的以及非正常的操作来检验软件是否出现一些以外情况等。

事实上,进行临界测试时还要更多结合一些中断测试,比如之前在传真刚发送完成显示“TRANSMITTING OK”时,我们按来进行 “蓄意”破坏,结果会出现重起情况,这不应该了。