这是一篇看了度娘文章的得出的,并且结合自己在写的一个测试用例,利用正交测试编写测试用例可以比较快速的覆盖,减少多的测试用例,以下是对文档的整理

1. 正交实验法介绍

正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

正交表是一种特制的表格,一般用 L行数(水平数因素数)(Ln(mk))表示,且有n=k*(m-1)+1。

正交表的构成解释:

L:代表是正交表

n行数(Runs):正交表中的行的个数,即试验的次数。

k因素数(Factors):正交表中列的个数。

m水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”

正交表的示例:

 

A

B

C

D

1

A1

B1

C1

D1

2

A2

B2

C2

D2

3

A3

B3

C3

D3

对于一个四因素且每个因素均为三水平的试验,如果按照全面试验需要进行3*3*3*3=81次。但是如果用正交试验法选择L9(34)正交表,n=4*(3-1)+1=9次试验就可以覆盖。从这点可以说明用正交试验法能有效地、合理地减少测试用例和工时,节约测试成本

扩展的正交表
L8(4×24)行数为mn型的正交表中试验次数(行数)=∑(每列水平数-1)+1
例:5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,即L12(35*21)

 

用正交表设计测试用例

设计测试用例的步骤:
1、有哪些因素(变量)
2、每个因素有哪几个水平(变量的取值)
3、选择一个合适的正交表
4、把变量的值映射到表中
5、把每一行的各因素水平的组合作为一个测试用例
6、加上你认为可疑且没有在表中出现的用例组合

如何选择正交表

1、考虑因素(变量)的个数
2、考虑因素水平(变量的取值)的个数
3、考虑正交表的行数
4、取行数最少的一个

设计测试用例时的三种情况:

1、因素数(变量)、水平数(变量值)相符

水平数(变量的取值)相同、因素数(变量)刚好符合某一正交表,则直接套用正交表,得到用例。
例子:
对某人进行查询,假设查询某个人时有三个查询条件:
根据“姓名”、 “身份证号码”查询、 “手机号码”查询
考虑查询条件要么不填写,要么填写,此时可用正交表进行设计
① 因素数和水平数
有三个因素:姓名、身份证号、手机号码。每个因素有两个水平:填、不填
② 选择正交表:1→填写,2→不填写
因素数=3
三个因素的水平数=2
行数取最少的一个,结果:L4(2^3)
③用L4(2^3)设计的测试用例
测试用例如下:
1:填写姓名、填写身份证号、填写手机号
2:填写姓名、不填身份证号、不填手机号
3:不填姓名、填写身份证号、不填手机号
4:不填姓名、不填身份证号、填写手机号
增补测试用例
5:不填姓名、不填身份证号、不填手机号
测试用例减少数:8→5

2、因素数不相同

水平数(变量的取值)与某正交表相同,但因素数(变量)却不相同,则取因素数最接近但略大于实际值的正交表表,套用之后,最后一列因素去掉即可。
例子:
兼容性测试:
操作系统:2000、WIN7、2003
浏览器:IE8.0、IE7.0、TT
杀毒软件:360安全卫士、金山、诺顿
如果全部进行测试的话,3^3=27个组合,需要进行27次测试。
① 因素数和水平数
有三个因素:操作系统、浏览器、杀毒软件每个因素有三个水平。
② 选择正交表
因素数=3
三个因素的水平数=3
行数取最少的一个,结果:L9(3^4),如下图:
操作系统:1→2000,2→WIN7,3→2003
浏览器:1→IE8.0,2→IE7.0,3→TT
杀毒软件:1→360安全卫士,2→金山,3→诺顿
③用L9(3^4)设计的测试用例
测试用例如下:
2000、IE8.0、360安全卫士
2000、IE7.0、诺顿
2000、TT、金山
WIN7、IE8.0、诺顿
WIN7、IE7.0、金山
WIN7、TT、360安全卫士
2003、IE8.0、金山
2003、IE7.0、360安全卫士
2003、TT、诺顿
④增补测试用例
由于目前IE8.0、WIN7、360安全卫士的使用量很高,故增添以下测试用例:
WIN7、IE8.0、金山
WIN7、IE8.0、360安全卫士
2003、IE8.0、360安全卫士
测试用例减少数:27→12

3、水平数不相同

因素(变量)与某正交表相同,但水平数(变量的取值)不相同。
例子:
假设有一个系统有5个独立的变量(A,B,C,D,E)。变量A和B都有两个取值(A1 、A2和B1、B2)。变量C和D都有三个可能的取值(C1、C2、C3和D1、D2、D3)。变量E有六个可能的取值(E1、E2、E3、E4、E5、E6)。
① 因素数和水平数
有五个因素(变量):A、B、C、D和E
两个因素有两个水平(变量的取值)、两个因素有三个水平,一个因素有六个水平:
A:A1、A2
B:B1、B2
C:C1、C2、C3
D:D1、D2、D3
E:E1、E2、E3、E4、E5、E6
② 选择正交表
因素数(变量)=5
二个因素的水平数(变量的取值)=2
另外二个因素的水平数=3
另外一个因素的水平数=6
行数取最少的一个:L49(7^8)或者L18(3^6 6^1))
结果:L18(3^6 6^1)(如下图)
A:1→A1、2→A2
B:1→B1、2→B2
C:1→C1、2→C2、3→C3
D:1→D1、2→D2、3→D3
E:1→E1、2→E2、3→E3、4→E4、5→E5、6→E6
③用L18(3^6 6^1)设计的测试用例
不写了,测试用例减少数:216→18
加上一些其他情况(设为n个)为18+n,它比原来也少多了。

转载于:https://www.cnblogs.com/pinpin/p/10077911.html

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

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

    正交试验法 定义:从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等. 利用正交实验设计测试用 ...

  2. 黑盒测试用例设计方法-正交试验

    常用测试用例设计方法-正交试验 正交试验测试用例设计 正交试验理论 正交试验设计过程 正交试验的优缺点 通过正交试验发现过的BUG 个人心得 正交试验测试用例设计 正交试验理论 正交试验设计法是从大量 ...

  3. 黑盒测试设计方法-正交试验法回顾(上)

    黑盒测试设计方法-正交试验法回顾(上) 正交试验设计法是一种用来测试组合的黑盒测试设计方法.借助于数学工具,通过算法从全排列组合中选择出全部两两组合放到正交表中,然后依据得到的正交表就可以得出测试用例 ...

  4. 软件测试用例设计方法-因果图法

    边界值法是等价类划分法的补充,所以,它们是一对搭档. 那么,判定表法有没有它的搭档呢? 答案是,有的.那就是本篇文章分享的用例设计方法-- 因果图法 . 定义 因果图法: 用来处理等价类划分和边界值考 ...

  5. 软件测试用例设计方法-场景法

    从本篇文章开始,进入到测试用例设计方法的分享,第一个要分享的方法就是,场景法. 相信对测试有一定基础的你会感到奇怪:用例设计方法,不是应该从等价类划分法说起吗?为什么一上来就直接说场景法呢? 对,如果 ...

  6. 【黑盒测试用例设计】正交试验法

    正交试验法是一种科学的试验设计方法,用于研究多因素.多水平的试验.该方法利用正交表来对试验进行设计,通过少数的试验替代全面试验,从而减少试验成本和时间. 正交试验法的详细解释和应用: - 正交试验法与 ...

  7. 测试用例设计方法——因果图法

    从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表. 因果图法即因果分析图,又叫特性要因图.石川图或鱼翅图,它是由日本东京大学教授石川馨提 ...

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

    学习目标 掌握因果图法的核心 掌握因果图的基本符号了解因果图的画法 1.什么是因果图法 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适用于检查程序输入条件的各种组合情况 ...

  9. 测试用例设计方法-因果图法

    因果图法 定义:因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况. 应用: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输 ...

最新文章

  1. PacBio RS系列已被淘汰,PacBio Sequel成为三代测序最新起跑线。
  2. Linux环境下使用Mysql连接外部机器
  3. cad文本改宋体字型lisp_CAD绘图员必须掌握的15个高能技巧,别人3天工作量你半天搞定!...
  4. 013_CSS兄弟选择器
  5. lightoj-1028 Trailing Zeroes (I)
  6. Mysql 8二进制包多实例绿色解压安装Windows配置
  7. Android Prelink实现的源码分析
  8. 模块怎么用_IC设计方法:模块划分与overdesign
  9. Strust2 Mysql数据库,sql语句分页,JSP显示
  10. java oop入门_java入门(十六) | OOP(三)之构造方法
  11. 从零基础入门Tensorflow2.0 ----一、3.3 实战深度神经网络(激活函数)
  12. 激光雷达lidar标定
  13. 接口测试之postman
  14. linux安装lsi raid卡驱动下载,【LSIRAID卡驱动下载】LSIRAID卡官方驱动程序下载
  15. mysql-order by分页复杂排序条件替换union-limit(使用if和case when实现复杂排序)
  16. 香港银行开户请尽早!附最全开户攻略
  17. iOS8 对开发人员来说意味着什么?
  18. 使用HTML制作会员注册界面
  19. 2014智联卓聘积分获取新攻略
  20. EGO1—使用8选1数据选择器实现四输入逻辑函数 f=∑wxyz(1,3,6,7,11,13,14)

热门文章

  1. VS2012配置CATIA R2016 CAA RADE
  2. mysql 不支持表情符号_mysql中插入emoji表情失败的原因与解决
  3. 【信号处理】Matlab实现希尔伯特-黄变换
  4. 内联 JavaScript 处理器、JavaScript练习-情话生成器
  5. 最优化--中科院实景课堂--第二节 局部极小点+凸函数+无约束优化引言
  6. 滤波算法——均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼滤波
  7. 装修公司获客渠道攻略
  8. ROS知识:消息自定义的操作
  9. 矩阵的秩 线性相关
  10. 浅谈wrapper类是什么