测试用例设计方法六脉神剑——第三剑:倚天屠龙,正交试验冲锋

这篇具有很好参考价值的文章主要介绍了测试用例设计方法六脉神剑——第三剑:倚天屠龙,正交试验冲锋。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 引言

上篇讲了因果图和判定表法,而这两种方法在变量值很多、排列组合数量极大的场景下,会生成非常庞大且冗余的测试用例,此时我们很难对所有组合场景进行全量测试用例覆盖,基于此短板,正交试验法应运而生。

2 概念及原理

2.1 定义

正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验
思想:用部分试验来代替全面试验,通过对部分试验结果的分析,了解全面试验的情况。
全面试验:可以分析各因素的效应,交互作用,也可选出最优水平组合。但全面试验包含的水平组合数较多,工作量大,在有些情况下无法完成。

2.2 正交表

使用正交试验法设计测试用例的核心在于正交表的选取,正交表是一整套规则的设计表格,一般表示为:

其中,L代表是正交表,n代表正交表的行数(即测试用例数),k代表因素的个数或正交表的列数(即输入条件的个数),m表示每个因素的水平数,且有n=k*(m-1)+1

  • 因素(Factors) 表示在一项试验中,需要观察的变量
  • 水平数(Levels) 表示在试验范围内,任何单个因素能够取得的值得最大个数(变量的取值)

举个栗子:

正交表必须满足以下两个特点,有一条不满足,就不是正交表:

  • 每列中不同属性值出现的次数相等。
    这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件
  • 在任意2列横向组成的属性值对中,每种属性值对出现的次数相等。
    这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性

这也是正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。

3 方法步骤

3.1 整体流程

1.确定因素(变量)和每个因素的水平数(变量取值);
2.根据因素数和水平数确定n值,这里区分2种情况:

单一水平正交表(各因素的水平数相同)

混合水平正交表,即各因素的水平数不完全相同的正交表

3.选择合适的正交表;
4.根据正交表把变量的值映射到表中,每一行的各因素的取值组合作为一个测试用例。

3.2 选择正交表

1.查Dr. Genichi Taguchi 设计的正交表:Dr. Genichi Taguchi 正交表https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
2.SAS标准技术支持:SAS设计正交表http://support.sas.com/techsup/technote/ts723_Designs.txt

查找时需要关注不同类型的正交表,区分以下2种情况:

1.单一水平正交表:

2.混合水平正交表:

当有2个或2个以上正交表可以被选择时,选取原则是:选试验次数最少的那个正交表。

4 举个栗子

场景:对支持4种特殊场景的破损类异常三级类型的报备功能进行测试
异常三级类型 = 外包装破损,商品腐坏,外包完好内物破损/泄漏
特殊场景 = 打包不规范,违规揽收,集包封签异常,车辆封签异常
上传方式 = 单条上报,批量上传

4.1 传统方法:全量覆盖

  1. 分析上述测试需求,根据规格描述有:
    异常三级类型(外包装破损,商品腐坏,外包完好内物破损/泄漏)
    特殊场景(打包不规范,违规揽收,集包封签异常,车辆封签异常)
    上传方式(单条上报,批量上传)
    因此有3个被测元素(因素),每个因素分别有3、4、2个取值。
  2. 针对所有因素的全部水平值进行全排列,测试用例个数:3_4_2=24,具体用例如下:

4.2 正交试验法设计用例

1.根据因素数和水平数确定n值:

2.选择合适的正交表。根据计算得出n=6,在 Dr. Genichi Taguchi 正交表 查找发现不存在n=6的正交表,这时我们就需要根据如下原则确定使用的正交表:

  • 查找同时满足 n>6 && m>=max(m1=3,m2=4,m3=2) && k>=k1+k2+k3=1+1+1=3的正交表;
  • 当有2个或2个以上正交表可以被选择时,选择试验次数最少的那个正交表,本次选取L16b。

3.将各因素水平值填入映射表,每一行转换成一个测试用例,测试用例数量:12个,可以看到,比全量覆盖方法得到的用例数减少了50%。

4.3 PICT生成正交试验测试用例

虽然使用正交试验法可以帮助我们筛选合适的测试用例,提升测试效率,但选择正交表并输出测试用例的过程却需要耗费一定的时间,那么有没有更加快捷的方法呢?

当然有!PICT这个小工具只需要我们提供所有的因素及变量值,它就可以帮助我们自动生成正交试验的测试用例了,接下来让我们学习一下如何使用PICT生成测试用例吧!

在使用PICT直接生成测试用例之前,需要先准备需要生成测试用例的txt文件,这个txt文件必须放在安装目录的同一个文件夹下,否则没有作用。

本次建立了一个名称test_pict.txt的文件,在文件中输入所有的因素及变量值,每一行是一个因素及其对应的所有变量值枚举,因素名称与变量值枚举之间用 “:” 连接,各变量值之间用“,”连接,均为英文符号,无空格,如:

  • 异常三级类型:外包装破损,商品腐坏,外包完好内物破损/泄漏
  • 特殊场景:打包不规范,违规揽收,集包封签异常,车辆封签异常
  • 上传方式:单条上报,批量上传

注意编码格式是ANSI,否则会乱码(可以使用Notepad++改变编码格式),如下图:

下面就开始准备测试用例的生成了,打开DOS窗口;

首先把目录切换到pict安装目录,本次为C:\Users\chenyuting50\Downloads,使用该命令:

pict test_pict.txt 即可自动生成测试用例,如下图:

接下来需要执行:pict test_pict.txt >text_pict.xls命令,将测试用例保存到text_pict.xls文件中,该文件仍会存放在安装目录下,打开该文件内容如下,每行数据即为一条测试用例:

5 总结

但正交试验法并不适用于强流程性需求的测试用例设计,这些场景我们就需要借助功能图法或场景法来进行测试用例的设计,这些方法又该怎样使用呢?

作者:京东物流 陈雨婷

来源:京东云开发者社区 自猿其说Tech 转载请注明来源文章来源地址https://www.toymoban.com/news/detail-750779.html

到了这里,关于测试用例设计方法六脉神剑——第三剑:倚天屠龙,正交试验冲锋的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 测试用例设计方法

    等价类划分法 设计测试用例步骤 需求分析 划分等价类:有效和无效 设计用例 无效有5种情况 规则(需求本身) 长度 类型 是否为空(必填项) 是否重复 案例1:QQ号6-10位自然数 划分等价类 有效等价类 有效数据 无效等价类 无效数据 QQ账号:6-10位自然数 6-10位自然数 12345

    2024年02月11日
    浏览(46)
  • 【测试开发】测试用例的设计方法

    目录 一. 测试用例的基本要素   二. 测试用例的设计方法 1. 测试用例设计的万能公式 水杯测试用例  2. 基于需求的设计方法 邮箱注册测试用例   3. 等价类方法 有效等价类和无效等价类  等价类思想设计测试用例步骤  4. 边界值方法 边界值思想设计测试用例步骤  5. 判定

    2024年02月16日
    浏览(40)
  • app端接口用例设计方法和测试方法

    接口测试作为测试的重要一环,重点关注的是数据层面的输入输出,今天小编介绍一种常用的接口测试用例设计方法和测试方法,希望对大家有所帮助,由于内容较多,分三次给大家讲解,今天先介绍“请求层面的用例设计方法”。 小编先介绍一下自身在测试过程中遇到的接

    2023年04月08日
    浏览(30)
  • 软件测试用例设计方法-因果图法

    边界值法是等价类划分法的补充,所以,它们是一对搭档。 那么,判定表法有没有它的搭档呢? 答案是,有的。那就是本篇文章分享的用例设计方法—— 因果图法 。 定义 因果图法: 用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动

    2024年02月08日
    浏览(51)
  • 【软件测试学习笔记2】用例设计方法

    说明:在所有测试数据中,具有某种共同特征的数据集合进行划分 分类:有效等价类:满足需求的数据集合            无效等价类:不满足需求的数据集合 步骤:明确需求            划分有效和无效的数据集合            提取数据设计  用例 解决穷举问题 选取正好等

    2024年01月16日
    浏览(56)
  • 史上最全的测试用例设计方法

    目录 前言 等价类划分方法: 边界值分析方法: 错误推测方法 因果图方法 判定表驱动分析方法 总结 今天还是给大家带来一些干货,总结了一下测试用例的设计方法。具体内容太多我总结成了文档,获取方法在文末。这里截取部分给大家展示。      一.方法简介 1.定义  

    2023年04月09日
    浏览(29)
  • 软件测试之测试用例设计方法—等价类划分法

    掌握常用测试用例设计方法,再结合测试用例的要素能给快速的实现测试用例的设计和编写.但是由于软件系统大小的不同我们不可能把所有的单个或组合的情况都进行测试,所以我们测试时应该根据不同的场景设计不同的测试用例,尽可能的覆盖到全部需要测试的情况. 常用的测

    2024年02月03日
    浏览(41)
  • 汽车产品测试中测试用例设计方法介绍—全网“最实用”

    目录 1.什么是测试用例? 2.测试用例设计流程 3.测试用例常见设计方法  又是断更的不知道第N天,最近在忙着搭建产品测试环境及写相关测试用例,那么本期就来个大家聊聊在汽车产品测试中测试用例的常用设计方法。

    2024年02月15日
    浏览(35)
  • 常见的6种软件测试用例设计方法

    常见的软件测试用例设计方法,个人认为主要是下面这6种: 流程图法(也叫场景法) 等价类划分法 边界值分析 判定表 正交法 错误推测法 这6种常见方法中,我分别按照定义、应用场景、使用步骤、案例讲解这4个部分进行讲解。 所以本文行文结构如下 每种用例方法定义、

    2024年01月24日
    浏览(50)
  • 如何避免软件bug?优化你的测试流程和设计用例方法就对啦!

    目录 引言 一、测试流程 二、测试用例设计方法 等价类 边界值 场景设计法 判定表 错误推测法 结语 对于大多数软件开发者和测试人员而言,避免出现bug是一项非常重要的任务。但是,在实际的开发过程中,我们经常容易忽略一些细节或者流程上的问题,导致测试的结果不尽

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包