软件测试-正交实验法设计测试用例

正交实验法设计基本原理及例子

正交实验法设计基本原理
正交实验法又称为正交实验设计法,是根据伽瓦罗(Galois)理论,研究与处理多因素实验的一种科学方法。
正交实验法利用已有的规格化的“正交表”,从大量的实验点中挑选出适量的、有代表性的点,合理地安排实验,用较少的实验次数,取得较为准确和可靠的实验结果。
例子
研究氮、磷、钾肥施用量对某小麦品种产量的影响:

  • A因素是氮肥施用量,设A1、A2、A3
  • B因素是磷肥施用量,设B1、B2、B3
  • C因素是钾肥施用量,设C1、C2、C3
    那么试验的目的是为了确定因素A、B、C对小麦品种产量有什么影响,从而确定最适当的各个元素用量,即氮、磷、钾肥施用量各为多少才能达到最好的产量。

在正交实验法中,将影响实验结果的条件因素称为因子(Factors),而把各个因子的取值作为状态,状态数称为水平数(Levels)。

设计正交实验时,需要确定:
实验中有哪些因子,因子数是多少?
每个因子有哪些取值,其水平数是多少?
在上面的例子中,有氮、磷、钾肥三个因子,A因素的状态(水平)有A1、A2、A3
在正交试验设计中,因子的水平值可以是定量的,也可以是定性的。定量因子各水平值之间的距离可以相等,也可以不相等。

实验法分三种:
1.全面实验法
2.简单对比法
3.正交实验法

这里重点讲的是正交实验法解决问题
上例解题过程如下:
(1)制作正交表

因子数 1 2 3
氮肥施用量 A1 A2 A3
磷肥施用量 B1 B2 B3
钾肥施用量 C1 C2 C3

(2)设计测试用例
因为是3水平,共4列,所以选择L9(3)4

氮肥用量 磷肥用量 钾肥用量
1 A1 B1 C1
2 A1 B2 C2
3 A1 B3 C3
4 A2 B1 C3
5 A2 B2 C1
6 A2 B3 C2
7 A3 B1 C2
8 A3 B2 C1
9 A3 B3 C3

其中,L代表正交表,4是因子数,即正交表的列数,3是因子的水平数,9是实验的次数,即正交表的行数。
试验次数(行数)=因子素*(水平数-1)+1
这里就有同学疑惑了,根据公式可知上例只有3*(3-1)+1=7试验次数啊,这里跟正交表的选择方法有关。

正交表及其选择方法

软件测试-正交实验法设计测试用例
软件测试-正交实验法设计测试用例
上例选择的是L9(3×4)等水平正交表,4个因子中每个因子都取3个水平。
混合水平正交表:L8(4×2的4次方)
软件测试-正交实验法设计测试用例
该混合水平正交表,包含1个4水平列和4个2水平列,共有5列,最多可以安排5个因子。
根据正交表的因子数和水平数可以计算出实验次数:
实验次数(行数)=∑(每列水平数-1)+1
例如对于正交表L9(3的4次方),实验次数=4×(3-1)+1=9;对于正交表L8(4×2的4次方),实验次数=1×(4-1)+4×(2-1)+1=8。利用上述关系式可以从所要考察的因子及其水平数来决定最低的试验次数,进而选择合适的正交表。例如,要考察5个3水平因子及一个2水平因子,则最少的试验次数为5×(3-1)+1×(2-1)+1=12,也就是说,要在行数不小于12,既有2水平列又有3水平列的正交表中选择,因此选择L18(2×3的7次方)最为适合。

正交实验法设计步骤与实例

从标准正交表中选择一个合适的正交表时,需要考虑不同的情况。例如,因子数和水平数与正交表完全匹配、因子数或水平数与正交表不同、因子数和水平数与正交表都不相同等。一般来说,当不考虑因素间的交互作用时,选择正交表首先需要满足正交表的列数要大于或等于已确定实验因素个数这一条件,也就是说,如果因子数不同,应当采用正交表列数包含的方法,从符合列数条件的正交表中选择行数最少的那一个正交表,使得实验次数最少。如果水平数不同,应当采用包含和组合的方法,选取能够安排下各因素水平数的最为合适的正交表。
通过正交实验法设计测试用例的步骤如下:
(1)确定因素。根据软件规格说明书,对软件模块进行分析,确定影响其运行结果的因素。
(2)确定每个因素的水平。通过分析软件规格说明书,找出因素的取值范围或集合。
(3)选择正交表。根据因子数和水平数选择一个实验次数最少的最合适的正交表。
(4)生成测试用例。将每一个测试因子分别对应于所选正交表的一列,将这些列中的数字映射为对应测试因子的水平取值。
(5)适当补充。根据经验添加一些没有生成但是有价值的测试用例作为补充。