正交试验设计(orthogonal design简称正交设计(orthoplan),是利用正交表(orthogonal table)科学地安排与分析多因素试验的方法,是最常用的试验设计之一。正交表是一种特殊的表格,内容是特定的,不过表头可以根据需要自己选择。正交表又分为等水平正交表和混合水平正交表。
一、正交表
上表即正交表L9(34),它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(41×24),此表的5列中,有1列为4水平,4列为2水平。根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码1,2,… Sj 组成,这些数码均各出现n/Sj 次。
1.1 正交表的性质
每一列中,不同的数字出现的次数相等。例如在两水平正交表中,任何一列都有数码“1”与“2”,且任何一列中它们出现的次数是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。
任意两列中数字的排列方式齐全而且均衡。例如在两水平正交表中,任何两列(同一横行内)有序对子共有4种:(1,1)、(1,2)、(2,1)、(2,2)。每种对数出现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。
以上两点充分的体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
1.2 正交表的结构
行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。因素数(Factors) :正交表中列的个数,即我们要测试的功能点。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数” 。即要测试功能点的输入条件。
正交表一般用Ln(mk)表示,L代表是正交表,n代表实验次数或正交表的行数,k代表最多可安排影响指标因素的个数或正交表的列数,m代表每个因素的水平数,且有\(n=k*(m-1)+1\)。
如:L8(27)
正交试验法是用最少的测试用例覆盖两两组合,根据经验来看,如何两两组合没有问题,三三组合、四四组合等出问题的可能性也不大。
1.3 常用正交表
二、正交表的生成(R语言)
install.packages("DoE.base")
library(DoE.base)
design1 <- oa.design(L9.3.4)
A B C D
1 1 2 3 2
2 1 1 1 1
3 1 3 2 3
4 3 2 1 3
5 2 2 2 1
6 3 1 2 2
7 3 3 3 1
8 2 3 1 2
9 2 1 3 3
三、正交实验设计示例
正交实验设计法,就是使用已经造好了的表格——正交表来安排实验并进行数据分析的一种方法。正交实验采用两两组合方式,减少用例个数,使用于兼容性测试、测试范围小。
PowerPoint软件打印功能描述如下:打印范围分:全部、当前幻灯片、选定幻灯片;打印内容分:幻灯片、讲义、备注页、大纲视图;打印颜色/灰度分:演的、灰度、黑白共三种设置;打印方式:是否加框。
3.1 正交实验设计步骤
Step1、如果需求是文字描述,将文字转化为图形
Step2、需求中包含1个独立功能——打印功能
Step3、针对打印功能开展需求分析
界面可见输入参数:打印范围、打印内容、打印颜色、打印方式
界面不可见输入参数:网络、打印机本身(耗材、阴间)、驱动打印服务
Step4、分析界面可见输入参数之间的关系及特点
参数存在用户输入数据,但是不存在无效数据,全部都是有效的—X—等价类
参数不存在区间范围—x—边界值
参数都是有效的,有效参数组合会输出不同结果,功能的实现有Switch...case...多分枝结构组成——正交实验
Step5、使用正交实验法设计测试用例
①将需求转化为因子状态表(因子:输入参数,状态输入参数取值)
②将因子状态表中的文字用字母代替
③将因子状态表带入正交表(规则:多则合并,少则补充)
④如果正交表中有合并项,将合并项拆分成多行
⑤将正交表中的字母用文字代替
⑥一行对应一条测试用例
总结
正交试验设计总的来说包括两部分:一是试验设计;二是数据处理、基本步骤可简单归纳如下:
(1) 明确试验目的,确定评价指标
(2) 挑选因素,确定水平。应对实际问题进行具体分析,并根据试验目的,选出主要因素。如果对问题了解不够,可以适当多取一些因素。确定因素的水平数时,一般尽可能使因素的水平数相等,以方便试验数据处理。最后列出因素水平表
(3) 选正交表,进行表头设计。根据因素数和水平数来选择合适的正交表。一般要求,因素数≦正交表列数,因素水平数与正交表对应的水平数一致,在满足上述条件的前提下,选择较小的表。如果要求精度高,可以选择较大的表。
(4) 表头设计就是将试验因素安排到所选正交表相应的列中。一般一个因素占有一列,不同因素占有不同的列(可以随机排列)。不放置因素或交互作用的列称为空白列(简称空列),空白列在正交设计的方差分析中也称为误差列,一般最好留至少一个空白列。
(5) 明确试验方案,进行试验,得到结果。对试验结果进行统计分析。通常采用两种方法:一种是直观分析法(或称极差分析法);另一种是方差分析法。通过试验结果分析可以得到因素主次顺序、优方案等信息。
(6) 进行验证试验,作进一步分析。