写在前面的话:
做了快一年的黑盒测试,细谈起来够痛苦的了。这里我将部分的测试心得和测试方法,注意要点写出来,供大家批判和探讨。
由于各手机的MMI界面及基本功能不一致,这里列出部分测试方案,敬请各位批评,指正。
1、参照手机:GSM制式
2、参考标准:
GB/T 18905.5-2002 软件工程产品评价第五部分评价者用的过程
BG/T 16260-1996信息技术软件产品评价质量特性及其使用指南
3、评判依据:
各公司的标准定制的不一样,有些公司可能更细化些,在这里仅作一个粗略依据。产品的好坏由用户说的算,一切为用户服务!
依据:软件研制规范,软件需求说明书,用户手册(罗嗦两句,国外的说明书写的很细,比如不可以用电熨斗烧咖啡,国内的使用说明书不会这么写的,但是使用说明书上具有的功能在产品上如果没有的话,可是不符合项喽)。
4、基本功能说明:
添加、删除、修改、查找
设置(各MMI不一样,在这里不进行举例)
批量操作:SIM卡记录复制到手机,手机记录复制到SIM卡,SIM卡记录移动到手机,手机记录移动到SIM卡……
5、功能测试:
在这里只讨论名片夹的功能性和可靠性的测试,对名片夹模块的易用性,效率,维护性以及可移植性不做考虑。
按是否通过测试,则分为两种,顾名思意即通过测试和失败测试。通常的失败测试,也是说要设计测试用例,迫使软件出错。通过测试则是要保证软件实现基本功能。
5.1 基本功能测试:
手机输入法有很多种,比如T9,拼音,字母,数字等等。在编写测试用例的时候,首先要保证各输入法是否能正常输入;能否正常保存;在进行错误输入的时候,是否有响应的提示。在这里举出几个例子:
5.1.1、存储在SIM卡上的记录
5.1.1.1、添加:
1)姓名输入:
i)是否可以使用任意输入法添加汉字、字母、数字,达到姓名允许的大字节,并能正常保存。
ii)是否可以使用任意输入法添加汉字、字母、数字,在没有进行输入时,是否有警告提示或是否可以正常保存(根据产品要求)。
iii)是否可以使用任意输入法添加汉字、字母、数字,超过姓名允许的大字节,是否有告警提?是否可以正常保存。
iV)是否可以进行汉字、字母、数字的混合输入,并重复i~iii,是否有异常。
2)电话号码的输入:
i)是否可输入数字至大值,并可正常保存。
ii)在不输入数字时,进行保存时,是否有告警提示。
iii)是否可以输入汉字,字母,此时是否有告警提示或异常。
iv)是否可以输入特殊字符,如+、P、*、#,是否可以正常保存。这里给介绍个出错的案例:连续输入多个*,P或+,不按电话的号码的正常顺序进行输入,试试,比如"++139***P123",看看是个什么样的效果,是否显示正常。
3)在输入过程中按返回键、挂机键、或翻合翻盖、电源键,是否有告警提示或异常。
4)在各MMI界面下,各按键功能是否正常。
5)待机界面下直接输入数字至大值,是否可以正常保存。
6)待机界面下直接输入数字即特殊字符(+,P),是否可以正常保存。
7)将1),6)步骤进行一下排列组合,查看是否有异常情况。
1对2,2对4,4对16,所以测试用例经常的几千条,几万条根本不希奇,一个名片夹写上1K条也之是写了个小部分。
5.1.1.2 修改
1)单条记录的修改:
a) 是否可以对单条记录进行修改,包括姓名和数字,并重复5.1.1.1中的1), 2),3),4)各步骤。
b) 连续将多条记录的内容(姓名或电话号码)修改成一样。
c) 手机或SIM卡的所有记录全部一样。(此条仅作为一条测试手段,在实际的应用中无实际意义。)
2)连续多条记录进行修改
此条的测试目的是对软件进行压力测试。
5.1.1.3 删除
1)对单条记录进行删除
i)删除后,列表显示是否正常;数量是否正确。
ii)SIM卡记录为空时,进行删除时,是否有告警提示。
iii)SIM卡记录仅为一条时,删除后,是否有SIM卡内容为空的提示。
iv)在删除过程中,各功能键是否正常。
v)在删除过程中,进行中断操作,是否正常,比如挂机键,电源键等等。
2)对多条记录进行删除,目的是对软件的进行压力测试。
i)连续对SIM卡的多条记录进行删除,是否出现异常情况。
ii)删除SIM卡记录直至为空时,是否有异常。
iii)在删除过程中,各功能键是否正常。
5.1.1.4 查找
由于各手机的查找功能定制的不同,在这里不做累述。
5.1.2 存储在手机上的记录
存储在手机上的记录和存储在SIM卡上的记录的测试用例基本相同。在测试过程中需要留心的是SIM卡的存储容量以及手机的存储容量,由于软件的定制不同,往往在不同处易出现故障。比如SIM卡的姓名栏可存储5个汉字,或8个字母、数字,电话号码可以存20位,手机的姓名栏目可以存12个汉字,20个字母、数字,电话号码可以存30位。在这个不同点之间容易出现故障。
5.1.3 批量操作
5.1.3.1 SIM卡记录复制到手机
1) 1条SIM卡的记录复制到手机。要求:
i)姓名为1个字母或数字或一个字,手机号码是1个数字或特殊字符(+,p);
ii)姓名为满的字母或数字或字符,手机号码是满的数字或特殊字符(+,p)。
2)将SIM卡的记录全部复制到手机。前提:SIM卡的容量有限,有的是70(如动感地带,易通卡),有的是大容量卡有200甚至250条的记录容量(如全球通,各地区的SIM卡容量不通,在测试过程中要考虑到对卡的兼容性),保证手机的每条记录是满记录,即姓名栏的字母,数字或汉字为满,号码栏的数字为满。将记录全部复制到手机,查看是否有异常。通产这时候问题出来了,因为是批量性的复制,和手机的处理能力是有一定关系,此处比较容易出问题。
3)手机记录的容量通常比SIM卡的容量要大许多,这里在谈一下该处的测试要点。
前题条件:SIM卡的每条记录全满,即姓名和电话的容量全满。
i)SIM卡记录全部复制到手机,直至手机记录满,是否有相关的提示,例如:手机记录满,手机空间不足,是否继续进行复制;部分记录将会丢失的字样;
ii)手机是否可以读取大容量的SIM卡,并包括全部的手机记录,并能进行正常的查找。此处,可以连续的单条删除手机或SIM卡记录,直至删空,查看是否有异常。
5.1.3.2 手机记录复制到SIM卡
说明:手机的记录由于设计不同,有的手机是一个姓名对应1条记录,有的是一个姓名对应多条记录,具体根据实际情况。
i)将1条手机记录复制到SIM卡上,是否正确复制。
注意:手机记录中的姓名栏可能和SIM卡姓名栏的字数不相同,这时需要注意异常现象。另有的手机支持的是一个姓名下有若干条手机记录,是否可以将若干条记录全部复制到SIM,且无异常现象。
ii) 将全部满的手机记录,即手机存储的条目数满,姓名栏的字全满,手机号码的字数全满,全部复制到SIM卡,查看是否有异常。
注意:SIM卡的空间和手机空间容量在相等,或不相等的情况下,在复制的过程中均有提示,例如:SIM卡空间满;空间不足;空间不足,如进行复制,会有部分数据丢失等告警提示。
5.1.3.3 SIM卡记录移动到手机
SIM卡记录移动到手机同5.1.3.1 SIM卡记录复制到手机的测试方法基本相同。注意的是在移动后,SIM卡内容清空。
5.1.3.4手机记录移动到SIM卡
手机记录移动到SIM卡同5.1.3.3 SIM卡记录移动到手机的测试方法基本相同。由于各手机设计不同,有一个姓名对应一条记录和一个姓名对应若干条记录的情况,注意在移动过程中出现异常现象。
5.1.3.5 综述
从上面的测试方法已包含了等价测试和边界测试。下面将对测试过程中加入的其它环节进行描述。
1)中断:短信,MMS,来电,闹钟,功能键,挂机键,翻盖等等。在进行上述操作时,在每一个界面下,均需进行中断操作,并根据软件需求说明,对异常情况进行定位。
2)在进行每项操作时,均应有提示,确认是否进行该操作。由于各手机软件需求不同,在测试过程中可根据实际情况或根据用户反馈情况进行。
3)在SIM卡记录或手机记录满的情况下,添加记录,查看是否有相关提示或异常。
5.2 失败测试
根据手机名片簿的实际情况,通过某些方式或方法迫使软件出错。在测试案例的设计中仍按重复测试,压迫测试以及重负测试这三种测试理念进行测试。
5.2.1 重复测试
1)添加
a)在待机状态下连续添加电话号码,并保存至SIM卡/手机,操作次数大于40次;
b)添加菜单内连续添加电话号码,并保存至SIM卡/手机,操作次数大于40次。
2)删除
a)电话簿列表下,连续逐条删除电话号码;
b)在保证SIM卡/ 手机容量满的情况下,连续删除SIM卡/手机全部记录,在进行手机全部内容复制到SIM卡上的操作。操作次数大于20次。
3)查找
根据手机的实际功能,进行连续性查找。查找次数大于20次。
4)修改
a)连续逐条将记录修改成同一内容的记录,操作次数大于5;
b)连续逐条修改记录,将姓名栏内的内容修改至大,并将电话号码号码修改至大。操作次数大于20次。
说明:在这里涉及到操作次数的问题,操作次数过大或过小,都会失去它的实际意义。操作次数定义在40次,是根据SIM卡的容量定义的,通常SIM卡的容量是在70左右。连续删除SIM卡/手机的全部记录的20次操作,测试目的是检验内存是否溢出或不足。这项操作也可以定义成50次,甚至更多。即使检测出软件存在问题,但是进行软件更改的成本会更高,甚至造成代码引入的BUG,总体来讲,得不偿失。
5.2.2 压迫测试
压迫测试是指软件再不够理想的条件下运行??内存小,磁盘空间少,CPU速度慢等等。
从经验来看,压迫测试和重复测试相结合,测试的效果比较好。在名片夹中主要是要注意SIM卡容量和手机容量的关系。有部分SIM卡的容量比较大,在200,250条甚至更高。在测试过程中,主要主意的一个问题是尽量在SIM卡和手机容量慢的情况下进行添加,删除,修改,查找等操作。另一点是操作的次数不能太少,也尽量不要太大。
5.2.3 重负测试
举例几个例子:比如如插上充电器;在低电压时,插上充电器;电池容量满后,继续充电并测试等等。
5.2.4 其它
在这里,仅仅举几个测试用例。
1)在名片簿列表下,连续按方向键,进行读取列表;
2)在名片簿列表下,快速插拔充电器;
3)输入非正常字符进行存储。
上述用例的目的是在模仿用户在使用过程中容易或非正常情况下出现的问题。
5.3 集成测试
根据软件需求,检查名片簿与那部分模块相关。例如呼叫(直接呼叫,IP呼叫,三方通话),MMS,短消息等等。
在这里针对名片簿的测试,采用的是增值式集成测试。通过名片簿与其它模块的相关关系,检测测试名片簿与相关模块在接口上是否存在BUG。在测试过程中,首先测试是否满足基本功能,其实是多次反复调用相关模块,检验模块接口是否有问题存在。