常用测试用例设计方法-正交试验

  • 正交试验测试用例设计
    • 正交试验理论
    • 正交试验设计过程
    • 正交试验的优缺点
    • 通过正交试验发现过的BUG
    • 个人心得

正交试验测试用例设计

正交试验理论

正交试验设计法是从大量的试验点中挑选出适量的、有代表性的点,应用一句伽罗瓦理论导出的“正交表”,合理地安排试验的一种科学的试验设计方法,是研究多因素,多水平的一种设计方法。它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些代表性的点具有“均匀分散、齐整可比”的特点,正交试验是一种基于正交表的,高效率、快速、经济的试验设计方法。
正交试验分析法包括以下常用术语:
(1)指标:通常把判断试验结果优劣的标准叫做试验的指标
(2)因子:是指所有影响试验指标的条件
(3)因子的状态:是指影响试验因子的因素,也称之为因子的水平
正交表的表示形式:Lr(mn
(1)n表示因子数,正交表中列的个数
(2)m表示水平数,也称为状态,单个因子能取得的值最大个数
(3)r表示行数,正交表中行的数量,也是测试用例的个数
行数r=(m-1)*n+1,这是等水平正交表,如L4(23)
代表测试用例4=(2-1)*3+1,对于非等水平的正交表,表示形式为Lr(mn,pq),
行数r=(m-1)*n+(p-1)*q+1

正交试验设计过程

正交试验分析法的步骤如下:
(1)提取功能说明,构造因子——状态表
分析需求说明书,通过需求说明书提取影响该功能的因子以及每个因子可能取值的最大数,即因子状态
(2)加权筛选,生成因素分析表
计算各因子和状态的权值,删去一部分权值较小即重要性较小的因子或状态,使最后生成的测试用例集缩减到允许范围(此步骤很重要
(3)画出布尔图
如果各个因子的状态数是不统一的,几乎不可能出现均匀的情况,必选先用逻辑命令来组合各因子的状态,作出布尔图
(4)查找最接近的相应阶数的正交表
根据布尔图选择最接近的相应阶数的正交表,实际的测试工作中,因子和因子状态很难与正交表完全符合,所以只能选择一个阶数最接近的正交表
(5)将实际的因子和状态带入正交表中,得到最终的正交表
选择好正交表后,应该将实际的因子和因子水平带入正交表中,此时可能出现以下三种情况:
第一种:因子的状态数正好和正交表的状态数相等,那么此时只需要直接替换正交表中的值即可
第二种:因子的状态数多于正交表中的状态数,那么此时需要先将多余的状态合并,代入正交表中,然后再将合并的中间状态展开
第三种:因子的状态数少于正交表中的状态数,那么只要将正交表中多出来的状态,使用实际状态中的任意值替换即可
(6)利用正交表每行数据构造测试用例
在使用实际因子和状态替换过的正交表中的每一行,选择数据构造测试用例即可

举个例子:一个数据库查询系统的测试
步骤一:构造因子——状态表

状态\因子 A查询类别 B查询方式 C元胞类别 D打印方式
1 功能 简单 终端显示
2 结构 组合 功能块 图形显示
3 逻辑符合 条件 行式打印

步骤二:加权筛选
将打印方式和查询类别中的逻辑符合删掉,不进行分析,加权筛选后的表如下

状态\因子 A查询类别 B查询方式 C元胞类别
1 功能 简单
2 结构 组合 功能块
3 条件

使用字母表示因素分析表中各种因子和状态如下

状态\因子 A查询类别 B查询方式 C元胞类别
1 A1 B1 C1
2 A2 B2 C2
3 B3

步骤三:画出布尔图

步骤四:选择正交表
根据因子与状态数,选择L4(23),把21,22,23作为因子,代入正交表如图

状态\因子 21 22 23
1 A1 31 C1
2 A2 31 C2
3 A1 B3 C2
4 A2 B3 C1

将中间结点展开如图

状态\因子 21 22 23
1 A1 B1 C1
2 A1 B2 C1
3 A2 B1 C2
4 A2 B2 C2
5 A1 B3 C2
6 A2 B3 C1

步骤五:根据每行写出测试用例,不详细描述了

正交试验的优缺点

正交试验与等价类的优缺点很像,优点都是用部分有代表性的点去覆盖需求,避免穷举产生大量用例;缺点则是因为牺牲了一定的覆盖率;但是在时间不充分,相同逻辑的用例庞大时,采取这种高效率的方式是性价比最高的

通过正交试验发现过的BUG

使用正交试验发现过的BUG就是在后台系统大量的组合搜索时,部分组合没有生效导致的BUG,不值一提

个人心得

正交试验很少使用,一般是用在后台系统的搜索列表中,因为后台的搜索往往搜索条件很多,需要测试组合搜索,但是排列组合非常多,因此采用正交试验是最好选择。因为正交试验是牺牲一定覆盖率的,所以进行步骤二(加权筛选)时,十分重要,要对这个业务有一定的理解,从而剔除一些少用的搜索条件,不要减少权重高的组合条件,这样即使上线后发现的BUG也是无需过分的紧张的

黑盒测试用例设计方法-正交试验相关推荐

  1. 黑盒测试用例设计方法详解

    黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法.场景图法等. (一)等价类划分法 定义:等价类划分法是把所有可能输入的数据,即程序的输 ...

  2. 【测试】黑盒测试用例设计方法

    黑盒测试用例设计方法包括: 1.等价类划分法. 2.边界值分析法. 3.错误推测法. 4.因果图法. 5.判定表驱动法. 6.正交试验设计法. 7.功能图法. 8.场景法等. 9.状态迁移法 10.流 ...

  3. 黑盒测试用例设计方法【转】

    转至http://www.cnblogs.com/Jackc/archive/2009/02/24/1397433.html 用于学习保存 1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析 ...

  4. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  5. 黑盒 测试用例设计方法

    概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 等价类划分法 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后 ...

  6. 场景法设计测试用例atm_黑盒测试用例设计方法

    本文根据Vince整理的<测试用例设计白皮书>整理 一.黑盒测试用例方法 黑盒测试用例设计方法,主要包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动发.正交试验设计法.功能 ...

  7. 【黑盒测试用例设计方法4】因果图法及其示例

    [黑盒测试用例设计方法4]因果图法及其示例 因果图可以描述系统的输入和输出的因果关系以及输入和输入之间的约束关系.根据系统输入和输出之间的因果图可以得到判定表,因果图和判定表两种方法经常一起使用. 输 ...

  8. 黑盒测试用例设计方法-因果图

    常用测试用例设计方法-因果图 因果图测试用例设计 因果图理论 因果图设计过程 举个经典的例子:象棋的走马规则 因果图的优缺点 通过因果图发现过的BUG 个人心得 因果图测试用例设计 因果图理论 因果图 ...

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

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

最新文章

  1. python3.8.3下载不了nltk_在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法...
  2. php 特殊符号处理,处理特殊符号的方法-php技巧
  3. ios realm 文件_关于ios:具有后台进程的Realm实例会丢失数据
  4. C# 类(14) 事件
  5. 检查mysql的replication_MySQL Replication需要注意的问题
  6. python列向输出字符串_Python读取字符串按列分配后按行输出
  7. 史上最全jmeter逻辑控制器案例详解
  8. linux whois 命令 详解
  9. vs2017环境下编译log4cpp-1.1.3
  10. 数字格式化类NumberFormat
  11. 饥荒怎么把离线服务器改成在线,饥荒联机版专服简易启动教程
  12. 滴滴共享单车在深圳被叫停;六六接受京东道歉;宝马发布最新充电网络计划丨价值早报
  13. 443端口是什么,如何启用?
  14. virsh的详细命令解析
  15. javascript 的 日期对象
  16. 《世界上最远的距离》(泰戈尔)
  17. Laravel 5文档阅读摘要
  18. Ariduino入门笔记——11. Arduino 默认函数(USB设备控制)
  19. 开发登陆按钮(丛林战争项目)
  20. Selenium browser.helperApps.neverAsk.saveToDisk不起效的解决及http请求和响应抓包

热门文章

  1. 移动端测试——PO模式 (8)
  2. 低学历者已无法生存 程序员尤其明显
  3. Android_插值器
  4. 键盘android,Android键盘系统浅析(上)
  5. Unity 横向滚动ScrollView
  6. 网易邮箱显示附件上传不成功,请重试!(错误码:FR_INVALID_REQUEST) 的解决方法
  7. 青岛理工大学计算机学院王德兴,现任领导
  8. Ubuntu下的MySQL数据库
  9. Windows10修改Users下的用户文件夹名
  10. 什么是反射 反射怎么用