一、全组合覆盖法
全组合覆盖是覆盖率很高的覆盖法。
二、两两组合覆盖法
2.1两两组合覆盖
基于以下基本事实:
(1)软件系统的故障往往是由一些难以预料的系统因素及其相互作用而引起的
(2)我们必须在数量庞大的各种组合情况和有限的资源之间作出一种科学、优化的选择;
(3) 研究发现,20%~40%左右的软件故障是由某个系统参数引发,20%~40%左右的故障由某两个参数的相互作用引发,而大约70%的软件故障是由一个或两个参数的作用引起的;
(4) 两两组合覆盖测试是一种覆盖任意单个系统因素、任两个系统因素间的组合以及尽可能多的多个因素间组合的方法.因此,两两组合覆盖测试方法具有很重要的应用价值。
2.2正交排列法概述:
正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。
下面给大家列举一个实例:
在一个窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值:
· 字体:仿宋、楷体、华文彩云
· 字符样式:粗体、斜体、下划线
· 颜色:红色、绿色、蓝色
· 字号:20号、30号、40号
在测试时,要考虑这些控件的组合情况,组合量非常大( 34=81种组合情况)
由于组合量太大,不可能为每一种组合都创建测试用例。如何采用最少的测试用例集合获得最大的测试覆盖率——采用正交排列法
2.3正交表的概念
正交表:一种特制的表,一般的正交表记为:
· n是表的行数,也就是需要测试组合的次数
· K是表的列数,表示控件的个数(因素的个数,或因子个数)
· m是每个控件包含的取值个数(各因素的水平数,即各因素的状态数)
如: L9(34)
有4个控件
每个控件有3个取值
9为需要测试的组合个数
2.4正交排列法的使用步骤
① 根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表;
② 把控件及其取值列举出来,并对取值进行编号 ;
③ 把控件及其取值映射到正交排列表中;
把正交排列表中的A、B、C、D(因子)分别替换成4个控件。
把每列中的1,2,3(状态)分别换成这个控件的3个取值,排列顺序要按照表中给出的顺序。
④ 根据映射好的正交排列表编写测试用例。
2.5 使用正交排列法分析字符属性设置程序(如上面的案例)
步骤一:根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表
4个控件:字体、字符样式、颜色、字号
每个控件有3个取值
选择L9(34)正交排列表
步骤二:把控件及其取值列举出来,并对取值进行编号
步骤三:把控件及其取值映射到正交排列表中
① 把正交排列表中的A、B、C、D(因子)分别替换成4个控件。