一、应用场合

在一个界面中,有多个控件,每个控件有多种取值,控件取值组合数量很大,不可能(没必要)为每一种组合编写一条用例。【若编写,则成穷举测试了】

使用最少最优的组合进行测试—–正交排列法

区别:

判定表(因果图)也是考虑控件组合,但是组合数量较少(一般不会超过20种),而且要求测试全面

二、正交表

(八)正交排列法设计测试用例_控件

(八)正交排列法设计测试用例_控件_02

三、使用正交排列法分析程序

1、分析需求–把控件及其取值列举出来

2、根据控件和控件的取值个数,选择一个合适的正交表

(1)根据控件的个数,确定正交表的次幂,也就是正交表的列数

4个控件—–选4次幂

(2)根据控件取值个数,选择正交表的底,也就是正交表中包含数的最大值

每个控件有3个取值—底是3

3、把控件及其取值映射到正交表中

(1)把控件名称分别放到正交表的列名位置

(2)把正交表中每一列的数字分别用对应的控件取值替代

4、根据正交表,编写用例

把正交表的一行转换为一条用例

(八)正交排列法设计测试用例_组合数_03

(八)正交排列法设计测试用例_用例_04

(八)正交排列法设计测试用例_穷举测试_05

4、练习2

(八)正交排列法设计测试用例_控件_06

(八)正交排列法设计测试用例_控件_07

控件数目为3,每个控件取值个数为3,在常见的正交表中没有这种,此时选择控件大于3的最小控件个数。

比如本例中选择空间数目为4,因为本身需求是无第四个控件的,所以将第四控件列删除即可。

5、说明

使用正交表设计的用例是最少最优化的用例,如果有时间,可以补充用例。

6、常见正交表

(八)正交排列法设计测试用例_穷举测试_08

7、正交表的局限性

正交表个数有限,并且一般要求每个控件的取值个数相等,在实践中很难遇到

8、正交表选择数据思想: 公平、均匀

(1)公平:每个控件都要参与组合(每行),每个控件的取值参与组合的次数尽量相同(每列)

(2)均匀:从所有的组合数据中,均匀、零星的挑选作为用例的组合数据,而不是只从某个局部选取。

9、没有现成的正交排列怎么办?

(八)正交排列法设计测试用例_取值_09

(1)次幂:控件的个数,没有争议,如果没有,就选一个接近的

4个控件,选4次幂

(2)底:

方案1:少数服从多数原则(有更多的控件取值一样)

在本例中有两个控件的取值为3,则则应该选底为3,否则选择一个接近的。

(八)正交排列法设计测试用例_取值_10

方案一:

(八)正交排列法设计测试用例_用例_11

因为选择的控件的值有3个,而有些控件的值为4个,所以要在3后面先补上4;有的控件的值为2个,用不了3个,所以可以先在正交表上对应3位置写1/2。

(八)正交排列法设计测试用例_取值_12

在3后面补4的,写在下一行处。这样就多出了3行,每行中要尽可能的让更多的控件参与(不是绝对的原因:可能存在不能组合的情况),因为A有3个取值,所以各取一个即可;C类似;D 若A取4,则D置灰,所以不参与组合

(八)正交排列法设计测试用例_取值_13

(八)正交排列法设计测试用例_穷举测试_14

方案二:按取值最多原则:看哪个控件取值最多

打印内容有四个取值,选底为4(确定),次幂本应为4,但是常见正交表中没有这种,所以选择一个大于4的最小次幂

(八)正交排列法设计测试用例_穷举测试_15