1、概述

在利用因果图和判定表驱动法来设计测试用例时,作为输入条件的原因和输出结果之间的关系有时候很难从需求规格说明中得到;或者因果关系非常庞大,导致利用因果图得到的测试用例数目非常大,为了有效地、合理地减少测试的工时与费用(测试用例的数量),就可以使用正交实验法。

2、定义

此方法是由数理统计学科中正交实验方法演化而来的一种用于测试多条件多输入的用例设计方法, 是根据Galois(伽罗瓦)理论导出的“正交表”,合理安排实验的一种科学实验设计方法,是研究多因子(因素)多水平(状态)的一种实验方法。 其根据实验数据的正交性,从全面实验数据中挑选有代表性的点进行实验,这些点具备了“均匀分散、齐整可比”的特点,正交实验设计是一种基于正交表的、高效率、快速、经济的实验设计方法。但其也有一定的缺点,由于正交表本身是从数学公式引申而来的,所以在使用过程中无法考虑输入参数相互组合的实际意义,因此在实际使用过程中需要根据相关的业务进行判断,删除无效的输入(数据)组合,补充有效的输入(数据)组合。

相关术语:

  1. 因子:通常指参与实验、影响实验结果的条件。
  2. 水平:通常指影响实验因子的取值或输入,将其称为某个因子的水平。

3、特点步骤

1. 正交实验法设计测试用例的特点

使用正交实验法,需要考虑参与因子“均匀分散、齐整可比”的特性,保证每个实验因子及其取值都能参与实验,减少人为测试习惯导致的覆盖率偏低及冗余测试用例的风险。故而其具有节省时间、控制测试用例数量、保证测试用例覆盖率等优点。

关于整齐可比和均匀分散的理解:

  1. 整齐可比:在同一张正交表中,每个因子的每个水平出现的次数完全相同。 在实验中,每个因子的每个水平与其他因子的每个水平参与实验的几率完全相同,这就保证在各个水平中最大限度的排除了其他因子水平的干扰。因而,能最有效地进行比较和做出展望,容易找到好的实验条件。
  2. 均匀分散:在同一张正交表中,任意两列(两个因子)的水平搭配(横向形成的数字对)是完全相同的。 这就保证了实验条件均衡地分散在因素水平的完全组合之下中,因而具有很强的代表性,容易得到好的实验条件。

2. 正交实验法设计测试用例的步骤

  1. 提取功能说明,构造因子——状态表,即根据需求的描述,分析出其中的输入条件及每个条件可能的取值,如果取值较多,可以使用边界值和等价类等其它方法先优化,然后再构造因子——状态表,将输入条件作为因子,每个条件的取值作为相应的水平或者说状态。 在具体操作时,要针对需求规格说明书中的功能描述进行分析,不断将其进行分解,最后把其中整体的、概要性的功能要求分解为具体的、有相对独立性的基本的功能要求,这样,就可以将被测软件中所有的因子与状态确定下来。由于因子与水平数是设计测试用例的关键,因此要尽可能全面地、正确地确定因子及其相应的取值,以确保最终测试用例设计的完整性与有效性。
  2. 根据上一步确定的因子数及水平数,选择合适的正交表(正交表的具体选择方法见下文)。 正交表可以从数理统计相关书籍和正交实验网站查询得到,其具体的构造依据还是前面提到的Galois理论。
  3. 替换正交表中的因子及水平,获取实验次数及相关实验内容。 即将1中因子及其相应的状态写入正交表,这样,每一行即可构成一个测试用例的规则。
  4. 根据以往的实践经验,再在3中形成的正交实验表上添加相应的因子——水平组合。
  5. 针对4中最终形成的正交表的每一行的规则,设计测试用例。

4、正交实验法测试用例数的计算及正交表的选择方法

1. 测试用例数目的计算

在行数为mn型的正交表中(m和n是正整数),实验次数(行数)=∑(每列的水平数-1)+1,也就是说,对于一个具有m个因子,每个因子具有n个水平的实验,最少需要m*(n-1)+1个测试用例。通过这个公式,就可以计算出在使用正交实验法所需要的最少的测试用例。

2. 正交表的选择方法

一般用L表示正交表,常用的正交表如下图所示:

以上图中第二个和第四个为例,解释上图符号中各个字段的意思。首先,第二个符号中,4代表因子数,3代表水平数,9代表的是最少需要的实验次数,也就是说,该符号表示一个4因子3水平的测试,如果用正交实验法来设计测试用例,最少需要9条测试用例;而第四个符号中的4代表有一个4水平的因子,乘号后面则表示一个4因子2水平的意思,8代表此种情况下使用正交表需要设计的最少的测试用例条数。
一般来讲,正交表的选择方法遵循以下原则:

  1. 如果因子数和每个因子的水平数刚好符合某个正交表的因字数和水平数,直接选用相应的正交表即可。 例如对于一个具有4个因子,每个因子有3个水平的情况来讲,直接选择第二个正交表L9即可。
  2. 如果因子数和所有的正交表格都不符合,则选择因子数刚好大于该场景因字数的正交表,将表中多余的因子抛弃即可。 例如,对于一个具有3因子,每个因子具有3个水平的情况来说,可以直接选择上图中的第二个表,即4因子3水平的正交表L9,并且将表中多余的因子删去即可。
  3. 如果水平数与所有的正交表格都不符合,则选择因子数和水平数均大于该场景的因字数和水平数并且实验次数最少的正交表,然后将多余的删除,多余的水平数均分参与实验即可。 例如,对于一个具有3个因子,其中2个因子每个具有2个水平,而剩余1个具有3个水平的情况来说,正交表中没有这种情况的表,与之最接近的表示3因子2水平及4因子3水平的表,依据上述原则,直接选择4因子3水平的表即可,不过由于4因子3水平的表实验次数要9条,也可以先将具有3个水平的因子的其中两个水平组合为一个水平,这样就形成了3因子2水平的情况,再选择前面的3因子2水平的正交表即可(最后将3因子2水平的表中的组合的水平拆分开来即可)。

5、使用场景

因为正交实验法能借助于正交实验表快速得到测试组合,所以通常被用在组合查询、兼容性测试、功能配置和平台参数配置等方面。因此在软件测试用例设计中有着广泛的应用。

6、实例

有一个Web网站,该网站存在不同的服务器和操作系统配置,并且支持用户使用不同的浏览器及插件访问该网站视频,请设计测试用例进行该网站的兼容性测试。具体的各项数据如下:

  1. 插件:无、RealPlayer、MediaPlayer
  2. Web浏览器:Netspace 6.2、IE 6.0、Opera 4.0
  3. 应用服务器:IIS、Apache、Netspace Enterprise
  4. 操作系统:Windows 2000、Windows NT、Linux

针对上述功能进行测试,首先,根据第3部分所讲的步骤,构造因子状态表,如下所示:

从上述的因子——状态表中可以看到,其是一个四因子三水平的测试场景,按照上述正交表的选择方法所述,直接选择相应的四因子三水平的正交实验表即可,相应的正交表如下:

查询到正交表(如上图)后,然后按照第三部分所述的步骤,替换正交表中相应的内容,结果如下:

然后,根据经验,再补充四个因子中都取2和3的实验数据,补充后的正交表如下所示:

到这一步,最终的正交表已经绘制完成,然后针对正交表中的每一行,设计测试用例,具体的数据或者说环境组合就是每一行后面每一列因子的取值的组合,即最终形成了11条测试用例,每条测试用例中每个因子的取值或者说状态就是表中每列的值。

黑盒测试方法之正交实验法相关推荐

  1. 黑盒测试方法四(正交实验法)

    正交实验法 正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具 ...

  2. 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)

    黑盒测试用例设计(三) 正交实验法 正交表:一种特制的表,一般的正交表记为Ln(mk) m代表水平数,k代表因素数,n是需要进行实验的个数.这三个数没有任何数学关系. 仅适用于每个因素的水平数都相同的 ...

  3. 黑盒测试用例设计方法三(正交实验法、功能图法、用例设计方法综合选择)

    测试步骤 一.正交实验法 1.1正交实验法介绍 1.2正交实验法实现步骤 1.3实际案例 二.功能图法 2.1功能图法原理介绍 2.2功能图法实现步骤 2.3实践案例 三.其他用例设计方法 3.1测试 ...

  4. 黑盒测试方法(等价类划分法、边界值法、决策表、判定表、正交表、场景法、错误推断法)

    1.黑盒测试方法 1.1.等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的.为了减少工作量,需要对测试用例进行适当选取.等价类划分法便提供了一种选取测试用例的方法. ...

  5. 其他测试用例设计方法-错误推测法与正交实验法

    常用的测试用例设计方法,前面基本都介绍完了,其中等价类划分法.边界值法与场景法是最常用的. 本篇文章介绍剩余两种测试方法--错误推测法与正交实验法. 错误推测法 基于经验和直觉推测程序中所有可能存在的 ...

  6. 功能测试笔记PART2-测试用例设计方法与实战【等价类划分、边界值、因果图判定表、正交实验法】

    如何设计软件设计[测试用例设计] 一.测试设计与测试用例 测试设计:将概括的测试目标转化为具体的测试条件和测试用例的一系列活动. 测试分析和设计的主要任务: 评审测试依据 (需求.系统架构.设计.接口 ...

  7. 四因素三水平正交试验表_测试用例设计方法(二)——正交实验法

    正交实验法严格来说不是为测试用例设计的方法,它广泛用于各种实验实践中.是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了"均 ...

  8. 功能测试---正交实验法

    首先我们先看一下案例 案例: PPT打印功能 PowerPoint软件打印功能描述如下: 打印范围分:全部.当前幻灯片. 给定范围 共三种情况: 打印内容分:幻灯片.讲义.备注页.大纲视图 共四种方式 ...

  9. 软件测试中用正交实验法设计测试用例

    软件测试中用正交实验法设计测试用例 正交实验法的由来 一.正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表. 数学家 ...

最新文章

  1. 程序设计方法的发展历程
  2. tomcat_安装卸载启动
  3. 相似度和相异度、常用距离度量、余弦相似度
  4. Keras和TensorFlow的关系和区别
  5. 乐高创意机器人moc_乐高MOC佳作欣赏丨机械之美机器人乐高作品集1
  6. Codeforces Round #709 (Div. 1, based on Technocup 2021 Final Round) A. Basic Diplomacy
  7. 苹果手机透明桌面_原来苹果手机辨别真假这么简单!查看桌面1个图标,就能轻松分辨...
  8. 允许指定IP访问远程桌面
  9. 微服务架构设计模式~根据业务能力进行服务拆分
  10. 争议“云游戏”:一个几十亿规模的颠覆者?一场徐虎飘渺的幻梦
  11. sot23-6 随机数生成芯片,i2c接口
  12. 面向对象(二) 继承/里氏替换
  13. 在VS2017(VC15)上配置opencv4.0.1环境
  14. [软件工程] 形式化说明技术
  15. mysql 查看进程_Mysql查看进程
  16. Kubernetes1.3:QoS服务质量管理
  17. PS 图片部分位置调亮
  18. 国产系统-Deepin安装图文(VIP典藏2022版)
  19. P2901 [USACO08MAR]牛慢跑Cow Jogging
  20. 数字藏品以虚强实,赋能实体经济发展

热门文章

  1. 库存分析与控制课后习题
  2. [论文速览] Dataset and Neural Recurrent Sequence Labeling Model for Open-Domain Factoid Question Answeri
  3. 自动化测试如何生成log日志
  4. Maven Dependencies missing jar 解决方法
  5. 2023财年Q4业绩继续下滑,ChatGPT能驱动英伟达重回巅峰吗?
  6. Zookeeper入门(尚硅谷)
  7. E-prime2.0安装教程及软件下载
  8. 【木、碎生活】青春不朽
  9. python远程方法调用_Python远程方法调用 RPyC
  10. stem教育什么意思