分析白盒测试逻辑覆盖中条件组合覆盖的方法,结合正交表的特征,提出了一种基于正交表的条件组合测试用例设计方法,并针对具体实际问题给出了方法说明,意在减少测试用例冗余度,提升测试效率。
【关键词】正交表 条件组合覆盖 白盒测试
1 引言
随着互联网技术的不断发展,软件开发周期越来越短,软件测试人员的时间也经常被压缩,时长面临测试任务量大和测试时间短的矛盾。条件组合覆盖是白盒测试覆盖率较高的一种测试用例设计方法,但测试用例条数较多,测试执行工作量较大,测试执行效率较差。正交表是基于正交实验法提出的一种方法,这种方法普遍用于黑盒测试用例设计中,本章将结合正交表方法对条件组合覆盖算法进行改进,减少测试冗余度,节约测试执行时间。
2 正交表
正交表是一个二维表格,其表达形式为:L行数(水平数因素数)
行数(Runs):正交表中的行的个数,即试验的次数。
因素数(Factors):正交表中列的个数。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到“水平数-1”或从1到“水平数”
如L4(23),3因素2水平,如表1。
正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点。
2.1 整齐可比性
在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件。
2.2 均衡分散性
在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性,容易得到好的试验条件。
3 条件组合覆盖
条件组合覆盖,也称多条件覆盖MCC (Multiple Condition Coverage),是白盒测试中覆盖指标较高的一种设计方法,这种方法在设计测试用例,使得每个判定中条件的各种可能组合都至少出现一次。当条件表达式中判定语句较多时,条件组合值比较多。
针对判断是否是闰年程序流程图1,使用条件组合方法进行测试用例设计,其中条件表达式的3个判定条件进行完成组合,共有8条用例,用例如表2。
4 使用正交表改进后条件组合覆盖
整个条件表达式有三个判定条件,也就是因素(变量)的个数是3,每个判定条件的可能取值有两个(T和F),因此,因素水平(变量的取值)的个数是2,选择3因素2水平的正交表,即表1,设计测试用例如表3。
5 结论
文章在研究白盒测试条件组合覆盖测试用例设计的方法的基础之上,结合黑盒测试用例设计的正交表方法,使判断是否是闰年程序流程图白盒测试用例的条数由八条减少为四条,由于正交表本身的特征,在条数减少的情况下,又保证了测试用例的覆盖,减少了测试用例执行的工作量,尤其是当条件表达式内部的判定条件较多时,此种方法可以很大程度上提升测试执行效率。
参考文献
[1]曹薇.软件测试[M].北京:清华大学出版社,2011.
[2]卫延伟.白盒测试系统的设计与实现[D].武汉:华中科技大学,2013.
[3]綦晶.白盒测试方法研究[D].哈尔滨.哈尔滨工程大学,2008.
[4]KuhfeldWF.orthogonalArrays[EB/OL].[2010].http://support.sas.com/techsup/ technotel/ts723.html.
[5]張应山.正交表的数据分析及其构造[D].上海:华东师范大学,2006.
[6]庞善起.正交表的构造方法及其应用[D].西安:西安电子科技大学,2003.
[7]许丽花.软件测试[M].北京: 高等教育出版社,2013:131-132.
[8]丁怀宝.约束条件下组合测试用例生成的一种新方法[D].上海:上海师范大学,2010.
[9]吕振洪.一种快速的条件组合算法[J].z浙江师范大学学报(自然科学版),2006,29(01):52-54.
作者简介
贾利娟(1982-),女,河北省保定市人。2014年9月担任硕士研究生助教。
作者单位
南京工业职业技术学院计算机与软件学院 江苏省南京市 210023