定义

​ 正交法,也叫正交实验法或者正交排列法,就是使用最小的测试过程集合获得最大的测试覆盖率。“正交实验"是研究多因素、多水平的一种实验方法它利用正交表来对实验进行设计,通过少数实验代替全面的实验。在一项实验中,把影响试验结果的量称为试验因素(因子),简称因素。因素可以理解为试验过程中的自变量,试验结果可以看成因素的函数。 在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为因素的水平,简称水平。

历史案例

​ 1992年AT&T公司,针对某一个软件做了一个回归测试: 在18个周 (4个半月)的时间范围内测试1500条测试用例。后来开发时间推迟了,测试时间被压缩了。测试经理想了一个办法,两个人在8个周(2个月)测试1000条测试用例。但是测试经理不能保证该软件就是完全没有问题的。后来他决定用正交表去重新设计一下测试用例,422条对试用例,42个bug。测试完毕后,软件上线了。在上线的两年时间内。凡事被测试到的领域,都没有发现任何问题。后来呢,他从头到尾又总结了一番:有可能只会测试出32条bug。

前后对比

  • 测试用例条数少了
  • 测试出来bug的数量多了

正交表的构成(例子)

imgimg

要点

​ 所有组合中,只要任意两个因素间 进行了全排列即可。

步骤

  1. 根据需求把空间即其值列举出来
  2. 根据空间的空间的取值个数,选择一个合适的正交表
  3. 根据控件的个数,选择正交表的次幂,也就是正交表中包含的最大值,例如:4个控件,选择四次幂
  4. 根据控件取值的个数,选择正交表的底,也就是正交表包含的最大值,例如:每个控件有3个取值,底是3
  5. 把控件及其取值映射到正交表中
  6. 把控件名称分别映射到正交表的列名位置
  7. 把正交表中每一列的数字分别用对应的控件取值替代
  8. 根据正交表,编写测试用例

案例(京东:电脑/办公)

img

  1. 创建一个Excel文件我这里将它命名为kitty001
  2. 将内容填入表格中,如下图

img

  1. 使用AllPairs快速生成

下载链接:Vagrant - Download (softpedia.com)

压缩后新建一个后缀名为.txt的普通文本文档

将Excel表格中的内容复制进去

将这个后缀名为.txt的文档放在解后的文件夹中

在文件夹目录中输入cmd输入allpairs.exe 文档名称 > 文档名称2 例(allpairs.exe test.txt > test2.txt)

在文件夹中会生成一个名为文档名称2的txt文件

img

正交表法特点(面试题)

  • 用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
  • 对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
  • 具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法
最后修改:2023 年 06 月 27 日
如果觉得我的文章对你有用,请随意赞赏