【5.18】二、黑盒测试方法—正交实验设计法

正交实验设计法是通过正交表合理安排实验,用于测试用例设计,尤其在面对复杂软件时,能有效减少测试工作量并提高覆盖率。方法包括提取因子、简化因子状态表和构建正交表。虽然它在实际测试中使用较少,但在多因子多水平影响的场景下,能高效生成测试用例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

2.4 正交实验设计法

2.4.1 正交实验设计法概述

2.4.2 实例:微信Web页面运行环境正交实验设计 


2.4 正交实验设计法

实际的软件测试中,软件往往会很复杂,很难从软件的规格说明中得出一一对应的输入和输出关系,基本无法划分出等价类,而使用因果图法,画出的因果图也会很庞大。为了合理有效地进行测试,可以利用正交实验法设计测试用例。

2.4.1 正交实验设计法概述

正交实验设计法(Orthogonal Experimental Design)是指从大量的实验点中挑选出适量的、有代表性的点,依据Glois理论导出“正交表”,从而合理地安排实验的一种实验设计方法。

正交实验设计法包含3个关键因素:

  • 指标:判断实验结果优劣的标准。
  • 因子:因子也称为因素,是指所有影响实验指标的条件
  • 因子的状态:因子的状态也叫因子的水平,它指的是因子变量的取值

利用正交实验设计法设计测试用例时,可以按照如下步骤进行:

(1)提取因子,构造因子状态表

分析得到影响软件功能的因子,确定因子可以有哪些取值。如某软件运行功能的因子—状态表:

(2)加权筛选,简化因子—状态表

根据因子及状态的重要程度进行加权筛选,选出重要的因子与状态,简化因子—状态表。

(3)构建正交表,设计测试用例

正交表的表示形式为Ln(tc)

  • L表示正交表。
  • n为正交表的行数,正交表的每一行可以设计一个测试用例,因此行数n也表示可以设计的测试用例的数目。
  • c表示正交实验的因子数目,即正交表的列数,因此正交表是一个n行c列的表。
  • t称为水平数,表示每个因子能够取得的最大值,即因子有多少个状态。 

例如L4(23)是最简单的正交表,它表示该实验有3个因子,每个因子有两个状态,可以做4次实验,如果用0和1表示每个因子的两种状态,则该正交表就是一个4行3列的表,如:

 

在实际软件测试中,大多数情况下,软件有多个因子,每个因子的状态数目都不相同,即各列的水平数不等,这样的正交表称为混合正交表,如L8(24×41),这个正交表表示有4个因子有2种状态,有1个因子有4种状态。混合正交表往往难以确定测试用例的数目,即n的值,这种情况下,可以登录正交表的一些权威网站,查询n值以及各行的取值。(这些网站具有科学的算法)

 

正交表最大的特点是取点均匀分散、齐整可比,每一列中每种数字出现的次数都相等,即每种状态的取值次数相等;此外,任意两列组成的对数出现的次数相等。


在正交表中,每个因子的每个水平与另一个因子的各水平都“交互”一次,这就是正交性,它保证了实验点均匀分散在因子与水平的组合之中,因此具有很强的代表性。

对于受多因子多水平影响的软件,正交实验法可以高效适量地生成测试用例,减少测试工作量,并且利用正交实验法得到的测试用例具有一定的覆盖度,检错率可达50%以上。 

正交实验法虽然好用,但在选择正交表时要注意先要确定实验因子、状态及它们之间的交互作用,选择合适的正交表,同时还要考虑实验的精度要求、费用、时长等因素。

2.4.2 实例:微信Web页面运行环境正交实验设计 

如果要测试微信Web页面运行环境,需要考虑多种因素。在众多的因素中,我们可以选出几个影响比较大的因素,如服务器、操作系统、插件和浏览器。对于选取出的4个影响因素,每个因素又有不同的取值,同样,在每个因素的多个值中,可以选出几个比较重要的值,具体如下:

  • 服务器:IIS、Apache、Jetty。
  • 操作系统:Windows 7、Windows 10、Linux。
  • 插件:无、小程序、微信插件。
  • 浏览器:IE 11、Chrome、FireFox。

对于多因素多水平的测试可以选择正交实验法,正交实验法的第一步就是提取有效因子。由上述分析可知,微信Web版运行环境正交实验中有4个因子:服务器、操作系统、插件、浏览器,每个因子又有3个水平,因此该正交表是一个4因子3水平正交表,在正交表查询网站查询可得其n值为9,即该正交表是一个9行4列的正交表。

 

水平编号分别代表因子的不同取值,将因子、状态映射到正交表,可生成具体的测试用例:

 

表中每一行都是一个测试用例,即微信Web页面的一个运行环境。对于该测试案例,如果使用因果图法要设计3^4=81个测试用例,而使用正交实验设计法,只需要9个测试用例就可以完成测试。

正交实验设计法虽然高效,但并不是每种软件测试都适用,在实际测试中,正交实验设计法其实使用比较少。


理解正交的含义,特点是取点均匀分散、齐整可比,这些可以得出正交表的网站都是有良好的正交算法的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值