黑盒测试方法之正交实验法

article/2025/9/16 7:25:13

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条测试用例,每条测试用例中每个因子的取值或者说状态就是表中每列的值。


http://chatgpt.dhexx.cn/article/ZGPXsTmm.shtml

相关文章

【1+X】正交实验法

想看更多内容请移步专栏 转载:【1X】软件测试技术 - 正交实验法 - 蓝桥云课 (lanqiao.cn) 正交实验法 知识点 正交实验法介绍正交实验法案例 简介 判定表法和因果图法均是考虑有多个输入条件,并且不同的输入条件的组合会得出不同的动作的情况&#x…

正交试验测试法

正交试验法,是从大量试验点中挑选出适量的,有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理安排试验的一种科学的试验方法。 指标:判断试验结果优劣的标准 因子:所有影响试验指标的条件 因子的状态&…

实用干货!正交试验设计及极差分析步骤总结!

一、研究背景 当前有一项研究,研究大豆出油率分别与3个因素的关系情况,分别是萃取液,温度和处理时间。需要设计一个三因素三水平的正交试验表,并收集试验数据后进行分析,希望找出3个因素时各水平的最佳大豆出油率组合…

正交实验进行方差分析

一、案例介绍 想要从某种草药中提取植物酚,利用专业知识发现可能有三个条件会影响植物酚的提取,每个条件有三个水平,想要通过实验,寻找植物酚的最佳提取条件,其中提取植物酚的参考标准为植物酚的含量(案例…

正交实验法的使用

前面一篇我们讲了测试用例的定义,重要性以及相关基础知识点.那么我们怎么去撰写测试用例呢?怎么去实现撰写达到评价标准的测试用例呢?是凭空想象?是想到哪里写到哪里?不不,这么专业的事情,我们有专业的方法去实现,针对撰写测试用例,我们有专业的测试用例设计方法. 说起测试…

黑盒测试之正交试验法

在许多应用系统的测试工作中,输入条件的因素很多,而且每个因素也不能简单用“是”和“否”来回答。 例:为提高某化工产品的转化率,选择了三个有关因素进行条件试验:反应温度(A),反应…

正交实验法设计测试用例

文章目录 一 正交实验法的由来1 正交表的由来1.1 拉丁方名称的由来1.2 什么是n阶拉丁方?1.3 什么是正交拉丁方? 2 正交实验法3 利用正交实验设计测试用例的步骤:3.1 提取功能说明,构造因子--状态表3.2 加权筛选,生成因素分析表3.3 利用正交表…

正交实验法实战

一、正交实验法概述 正交实验法是研究多因素多水平的一种方法,它是通过正交表挑选部分有代表性的水平组合试验替代全面试验。这些有代表性的组合试验具备了“均匀分散,整齐可比”的特点。正交表一般用Ln​(mk)表示,L 代表是正交表&#xff0…

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

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

软件测试之正交法

正交法 通过分析我们发现,对于图中的程序而言,我们要设计81条测试用例,那么有没有一种方法能够使用最小的测试过程集合获得最大的测试覆盖率呢? 1. 概述 1.1 定义 正交法,也叫正交实验法或者正交排列法, 就是使用最小的测试过程集合获得最大的测试覆盖率。 “正交实验”是…

正交试验法

正交实验法 正交试验设计法(Orthogonal experimental design),是从大量的试验点中挑选出适量的、有代表性的点,应用依据伽罗卡瓦理论导出的 "正交表",合理的安排试验的一种科学的试验设计方法 正交实验法 …

正交实验法

1.定义(What) 正交实验法是研究多因素、多水平组合的一种实验法,它是利用正交表来对实验进行设计,通过少数的实验替代全面实验,根据正交表的正交性从全面实验中挑选适量的、有代表性的点进行实验,这些有代…

正交试验法及其示例

正交试验法及其示例 正交实验法是一种测试组合的方法。把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。 利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素(输入??)…

JavaWeb期末大作业 Javaweb项目 Javaweb Servlet html

1.前端效果展示 1.进入之后是一个分页查询所有数据的内容 该页面有基础的增删改查 还有分页查询 批量删除 进行条件查询 有什么不对的地方欢迎提出 谢谢 2.增删改查 1.添加 添加成功 2.删除 将刚才添加的OPPO删除 3.修改 4.查询的话就是主页查询所有 页面所用的是分…

初识javaweb

javaweb,顾名思义,分为java和web,而web又包括前端和数据库 1.基本概念 1.1前言 web开发: -----web,网页的意思,表示我们可以从互联网上拿到一定的资源。 例如打开网址www.baidu.com所链接的页面是一个web页面,如下…

JavaWeb期末题库

JavaWeb期末题库 提示:如果您需要更多题库和编程知识,请微信搜索:口袋Code,获取更多得题库,包含C,C,C#,java,python,javaweb,Go语言,…

JavaWeb概述

目录 1.JavaWeb概念 2.常用软件体系结构 3.为什么学习JavaWeb技术? 4.web 应用程序的工作原理 5.web应用程序的资源分类 6.web 服务器软件 7.思维导图总结 本人对JavaWeb的理解 从百科全说中了解到是用Java技术来解决相关web互联网领域的技术栈。 可以先了解…

JavaWeb:JavaWeb技术架构演进

Java Web,是用 Java 技术来解决相关web互联网领域的技术栈。web 包括:web 服务端和 web 客户端两部分。Java 在客户端的应用有 Java Applet,不过使用得很少,Java 在服务器端的应用非常的丰富,比如 Servlet,…

什么是JAVAweb?

文章目录 JAVAweb一、基本概念1、web开发:2、web应用程序3、静态web4、动态web JAVAweb 一、基本概念 1、web开发: web:网页的意思,它用于表示Internet主机上供外界访问的资源,例如:www.jd.com; 静态web …

Eclipse 创建JavaWeb工程

Eclipse 创建JavaWeb工程 配置环境: ​ Eclipse:Version: 2022-06 ​ tomcat:9.0.65 创建Web工程流程 1.先在Eclipse上配置tomcat,打开Eclipse,选择菜单栏上的Window–>Preferences–>在下拉菜单中找到Serv…