测试方法之正交试验法

2019-11-07   出处:橙子探索测试  作/译者: 王荔探索测试  

一、正交实验法 

正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。是一种高效率、快速、经济的实验设计方法。
正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。类似的方法有:聚类分析方法、因子方法方法等。

二、正交表

将正交试验选择的水平组合,列成一种特制的表格,一般用Ln(m的k次方)表示,L代表是正交表,n代表试验次数或正交表的行数,k代表最多可安排影响指标因素的个数或正交表的列数,m表示每个因素水平数,且有n=k因数*(m水平数-1)+1。

最简单的正交表是L4(2³),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。

三、正交表特点

正交表必须满足这两个特点,有一条不满足,就不是正交表。

齐整可比:每一列中,不同的数字出现的次数相等,即对任何一个因素,不同水平的实验次数是一样的。(整齐可比性)
均匀分散:任意两列中,同一行的两个数字构成有序数对,每种数对出现的次数相同,即任何两个因素之间都是交叉分组的全面实验。(均衡搭配性)
将正交表的任意两行(或两列)交换,仍是正交表。
将某一列中的数字号码相互对换,仍是正交表。

四、如何选择正交表
1、考虑因素(变量)的个数
2、考虑因素水平(变量的取值)的个数
3、考虑正交表的行数
4、取行数最少的一个
五、确定因素数和水平数
1、因素数:确定测试中有多少个相互独立的考察变量。
2、水平数:确定任何一个因素在实验中能够取得的最多个值。

五、案例

1、案例1:


测试的控件有3个:姓名、身份证号、手机号,也就是要考虑因素有三个;而每个因素里的状态有两个:填与不填,我们可以列出所有测试用例9个如下:



选择正交表时分析:

1、表中的因素数>=3;

2、表中至少有3个因素数的水平数>=2;

3、行数取最少的一个。

从正交表公式中得出n=因数3*(水平数2-1)+1=4,结果为:L4(2的3次方)


 

 从测试用例可以看出:如果按每个因素两个水平数来考虑,需要8个测试用例,而通过正交实验法进行的测试用例只有5个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。

2、案例2:

某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:

根据“性别”=“男,女”进行查询

根据“班级”=“1班,2班”查询

根据“成绩”=“及格,不及格”查询

按照传统设计——全部测试

分析上述测试需求,有3个被测元素,被测元素我们称为因素,每个因素有两个取值,我们称之为水平值,所以全部测试用例个数是2*2*2=8,参见下表


利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4,对于三因素两水平的刚好有L4(23)的正交表可以套用,于是用正交表试验法得出4个测试用例如下:


根据实际需要可以在用正交试验法设计用例的基础上补充一些测试用例。4个测试用例与8个测试用例相比测试用例个数是减少了。因素数和水平数越大越能体现用正交表的好处。例如:对于一个四因素且每个因素均为三水平的试验,如果按照全面试验需要进行3*3*3*3=81次。但是如果用正交试验法选择L9(34)正交表,n=4*(3-1)+1=9次试验就可以覆盖。从这点可以说明用正交试验法能有效地、合理地减少测试用例和工时,节约测试成本。


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
129°|1299 人阅读|0 条评论

登录 后发表评论