概述

介绍下列内容:

  • 基本概念
  • 解决了什么问题
  • 构造步骤
  • 举例

基本概念

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

  • 因素(Factors)。表示在一项试验中,需要观察的变量称为因素。
  • 水平位((Levels)。表示在试验范围内,因素被考察的值称为水平位(变量的取值)
  • 正交表的组成。由行数(正交表的行的个数,即试验的次数)、因素数(正交表列的个数)、水平数(任何单个因素的最大水平)。

正交表的“次幂”要大于等于因素数,正交表的“底”要大于等于任何单个因素的最大水平。

\[ 正交表符号:L_{行数}(水平^{因素数}[水平^{因素数}]) \\ 单一水平正交表:如有3因素,每个因素水平为2,L_{4}(2^3) \\ 混合水平正交表:其中一个因素水平为4,其余因素水平为2,L_8(4^1 2^4) \\ \]

测试思想

  • 公平原则:使每个控件的每个取值参与组合的次数尽量相同。
  • 均匀原则:在所有的组合中挑选数据时,应该均匀零星的选取,而不要只从某个局部选。

解决了什么问题

对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,由于时间和成本的限制我们不可能进行全面试验,但是具体挑其中的哪些测试用例进行测试我们心里拿不准,总担心未挑选的测试用例会遗漏从而造成一些严重缺陷。

为了有效的、合理地减少测试的工作量与和成本,我们利用正交试验法来设计测试用例。正交试验法就是为多因素试验、寻求最优水平组合的一种高效率的试验设计方法。我们用测试实例来进行说明使用正交试验法设计测试用例的好处。

构造步骤

  1. 确定因素(变量)的数量
  2. 确定各个因素的各个水平对应的现实意义
  3. 从现有的正交表模板中选出一个合适的正交表。
  4. 如果没有正好合适的模板则选择最接近的模板。
    • 如何选取“底”(任选一个)
      • 少数服从多数原则,如有一共有五个因素,其中三个因素的水平都是7,那么正交表的“底”就为7。
      • 取值最多原则,如一共有五个因素,其中一个因素水平多,为10,那么正交表的“底”就是10。
  5. 填充模板,完成构造。

正交表模板:https://www.york.ac.uk/depts/maths/tables/orthogonal.htm

举例

例子一

图片加载失败

  1. 有三个因素,每个因素的水平均为三。
  2. 寻找对应的模板,发现没有正好合适的,于是选择最接近的模板\( L_9(3^4) \)。
  3. 将模板的数字替换为具有现实意义的文字。
序号 操作方式 温度 洗涤时间
1 60 15
2 80 20
3 100 25
4 60 15
5 80 20
6 100 25
7 60 15
8 80 20
9 100 25

例子二

CPU 内存 操作系统 数据库 浏览器
Intel 1GB Windows XP Access IE
AMD 2GB Windows 2003 SQL server Firefox
4GB Windows 7 Oracle Chrome
Windows 8 Opera
  1. 有五个因素,每个因素的水平不完全一样,但是最高水平为4。
  2. 寻找对应的模板,发现没有正好合适的,使用“少数服从多数原则”,于是选择最接近的模板\( L_16(4^5) \)。
  3. 显然模板中存在一些无效数字,可以删除。
  4. 将模板的数字替换为具有现实意义的文字。
  5. 发现“操作系统”和“浏览器”某些值没有取到。
  6. 分别增加第四行和第八行以取得没有取到的值。
  7. 此操作必然导致某些列重复,这些列的值可以任取,但是要满足“公平原则”和“均匀原则”。
  8. 此时还剩下8列为空,最好列举出8个之前没有出现过的组合(实在不行可以重复),并且满足“公平原则”和“均匀原则”。
  9. 下图中主要打乱了“操作系统”的顺序以创造出不重复的组合。
实验号/因素 CPU 内存 操作系统 数据库 浏览器
1 Intel 1GB Windows XP Access IE
2 Intel 2GB Windows 2003 SQL server Firefox
3 Intel 4GB Windows 7 Oracle Chrome
4 Intel 4GB Windows 8 Oracle Opera
5 AMD 1GB Windows XP Access IE
6 AMD 2GB Windows 2003 SQL server Firefox
7 AMD 4GB Windows 7 Oracle Chrome
8 AMD 4GB Windows 8 Oracle Opera
9 Intel 1GB Windows 8 Access IE
10 Intel 2GB Windows 7 SQL server Firefox
11 Intel 4GB Windows 2003 Oracle Chrome
12 Intel 2GB Windows XP SQL server Opera
13 AMD 1GB Windows 2003 Access IE
14 AMD 2GB Windows XP SQL server Firefox
15 AMD 4GB Windows 8 Oracle Chrome
16 AMD 1GB Windows 7 Access Opera

参考文章

[黑盒测试方法]正交实验法