正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
什么是因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
什么是水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)
正交表的构成:
行数(Runs):正交表中的行的个数,即试验的次数。
因素数(Factors):正交表中列的个数。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”
正交表的表示形式: L行数(水平数因素数)
 正交表:
各列中出现的最大数字相同的正交表称为相同水平正交表。如L4(23)、L8(27)、L12(211)等各列中最大数字为2,称为两水平正交表;L9(34)、L27(313)等各列中最大数字为3,称为3水平正交表。凡是标准表,水平数都相等,且水平数只能取素数或素数幂。因此有7水平、9水平的标准表,没有6水平,8水平的标准表。
例如L9(34),它表示需做9次实验,最多可观察4个因素,每个因素均为3水平。
混合正交表:
一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(4×24),即:L8(41×24)此表的5列中,有1列为4水平,4列为2水平。再如L16(44×23),L16(4×212)等都混合水平正交表。
正交表的两个特点:
正交表必须满足这两个特点,有一条不满足,就不是正交表。
1)每列中不同数字出现的次数相等。例如,在两水平正交表中,任何一列都有数码“1”与“2”,且任何一列中它们出现的次数是相等的;在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。
2)在任意两列其横向组成的数字对中,每种数字对出现的次数相等。例如,在两水平正交表中,任何两列(同一横行内)有序对子共有4种:(1,1)、(1,2)、(2,1)、(2,2)。每种对数出现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。
以上两点充分的体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
混合正交表选择正交表的时候需满足:水平数>=max(水平1,水平2,...),因素数>=(因素1+因素2+因素3+…)
混合正交表选择正交表的示例:
我们分析一下:
1、被测项目中一共有四个被测对象(4个因素),每个被测对象的状态(水平数)都不一样。其中,A、C水平数均为3,B的水平数为4,D的水平数为2。
2、选择正交表:
本题,水平数>=max(3,4,2)=4,因素数>=4,查询附录中的正交表,只有L16(45)的行数最少,行数取最少的一个,比较适合。
3、最后选中正交表公式:L16(45)
另外,当水平数和因素数的具体值确定时,正确的行数(试验次数)的计算方法是:
试验次数(行数)=∑(每列水平数-1)+1
  如:L18(36 *61)=(3-1)*6+(6-1)*1+1=18;L8(27)=(2-1)*7+1=8

用正交表设计测试用例
 设计测试用例的步骤:
1、有哪些因素(变量)
2、每个因素有哪几个水平(变量的取值)
3、选择一个合适的正交表
4、把变量的值映射到表中
5、把每一行的各因素水平的组合作为一个测试用例
6、加上你认为可疑且没有在表中出现的用例组合
如何选择正交表
1、考虑因素(变量)的个数
2、考虑因素水平(变量的取值)的个数
3、考虑正交表的行数
4、取行数最少的一个
设计测试用例时的三种情况:
  1、因素数(变量)、水平数(变量值)相符
水平数(变量的取值)相同、因素数(变量)刚好符合某一正交表,则直接套用正交表,得到用例。
例子:
对某人进行查询,假设查询某个人时有三个查询条件:
根据“姓名”进行查询
根据“身份证号码”查询
根据“手机号码”查询
考虑查询条件要么不填写,要么填写,此时可用正交表进行设计
① 因素数和水平数
有三个因素:姓名、身份证号、手机号码。每个因素有两个水平:
姓名:填、不填
身份证号:填、不填
手机号码:填、不填
② 选择正交表
表中的因素数>=3
表中至少有三个因素的水平数>=2
行数取最少的一个
结果:L4(2^3)
③ 变量映射
姓名:1→填写,2→不填写;
身份证号:1→填写,2→不填写;
手机号码:1→填写,2→不填写;
④ 用L4(2^3)设计的测试用例
测试用例如下:
1:填写姓名、填写身份证号、填写手机号
2:填写姓名、不填身份证号、不填手机号
3:不填姓名、填写身份证号、不填手机号
4:不填姓名、不填身份证号、填写手机号
⑤增补测试用例
5:不填姓名、不填身份证号、不填手机号
测试用例减少数:8→5
2、因素数不相同
水平数(变量的取值)与某正交表相同,但因素数(变量)却不相同,则取因素数最接近但略大于实际值的正交表表,套用之后,最后一列因素去掉即可。
例子:
兼容性测试:
操作系统:2000、XP、2003
浏览器:IE6.0、IE7.0、TT
杀毒软件:卡巴、金山、诺顿
如果全部进行测试的话,3^3=27个组合,需要进行27次测试。
① 因素数和水平数
有三个因素:
操作系统、浏览器、杀毒软件
每个因素有三个水平。
② 选择正交表
表中的因素数>=3
表中至少有三个因素的水平数>=3
行数取最少的一个
结果:L9(3^4),如下图:

③ 变量映射
操作系统:1→2000,2→XP,3→2003
浏览器:1→IE6.0,2→IE7.0,3→TT
杀毒软件:1→卡巴,2→金山,3→诺顿
④用L9(3^4)设计的测试用例
测试用例如下:
2000、IE6.0、卡巴
2000、IE7.0、诺顿
2000、TT、金山
XP、IE6.0、诺顿
XP、IE7.0、金山
XP、TT、卡巴
2003、IE6.0、金山
2003、IE7.0、卡巴
2003、TT、诺顿
⑤增补测试用例
由于目前IE6.0、XP、卡巴的使用量很高,故增添以下测试用例:
XP、IE6.0、金山
XP、IE6.0、卡巴
2003、IE6.0、卡巴
测试用例减少数: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
E1、2→E2、3→E3、4→E4、5→E5、6→E6
④ 用L18(3^6 6^1)设计的测试用例
测试用例减少数:216→18
加上一些可疑的情况(设为n个)为18+n,它比原来也少多了。
最新内容请见作者的GitHub页:http://qaseven.github.io/

用正交表设计测试用例相关推荐

  1. 软件测试--利用正交表设计测试用例

    输入条件如下: 姓名:填.不填 性别:男.女 学历:小学.初中.高中.专科.本科.硕士.博士 等级:普通.VIP 用正交表设计测试用例 Allpairs安装及使用 输入数据时要用tab键,或者使用ex ...

  2. 测试理论--用正交表设计测试用例

    正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了" ...

  3. 用正交表设计测试用例(转载)

    查看正交表使用时发现此篇解释较详细,且讲述了"因素数不同"及"水平数不同"的情况,而此项是其他文章里未讲述及讲述不清的,转载至此,以备查看 请优先阅读原文 原文 ...

  4. 正交表设计法设计测试用例

    注:接口测试的时候,遇到入参很多的接口,同时也要全面覆盖参数的不同情况,由此引入了正交表设计测试用例的方法. 概念:正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有 ...

  5. 设计测试用例的万能公式 + 6大具体方法 = 面试就像聊天?

    目录 一.设计测试用例的万能公式 二.设计测试用例的具体方法 2.1.等价类 2.2.边界值 2.3.判定表(因果图的另一种形式) 2.4.场景设计法 2.5.正交法(用的少,基本不可见) 2.4.1 ...

  6. 测试篇(三):测试用例的万能公式、对水杯和登录页面设计测试用例、测试用例的设计方法

    目录 一.测试用例的万能公式 二.对登录页面设计测试用例 三.测试用例的设计方法 3.1 基于需求的设计方法 3.2 等价类 3.3 边界值 3.4 判定表 3.5 正交排列 3.6 场景设计法 3. ...

  7. 软件测试中用正交实验法设计测试用例

    软件测试中用正交实验法设计测试用例 正交实验法的由来 一.正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表. 数学家 ...

  8. java测试---用例(设计测试用例的基本要素、好处,六大设计测试用例的方法)

    QQ登录测试 兼容性: ① 不同的Windows操作系统,不同品牌的电脑 ② 不同的手机系统,不同的手机品牌 ③ 不同版本的QQ,市场上用户主要用的主流版本 ④ MAC电脑的主流版本 1. 设计测试用 ...

  9. 正交实验法设计测试用例

    文章目录 一 正交实验法的由来 1 正交表的由来 1.1 拉丁方名称的由来 1.2 什么是n阶拉丁方? 1.3 什么是正交拉丁方? 2 正交实验法 3 利用正交实验设计测试用例的步骤: 3.1 提取功 ...

最新文章

  1. 回归分析中的“回归”
  2. 封装函数 f,使 f 的 this 指向指定的对象
  3. python dicom 器官分割_图像识别 | 使用Python对医学Dicom文件的预处理(含代码)
  4. 排序及其分类(一级)
  5. python加密反编译_对Python源码进行加密及反编译前后对比
  6. java基础----IO序列化Serializable
  7. HAPPY_TOGETHER_WEEK15_ENJOY
  8. java中main缺少主体_缺少方法主体,或声明了摘要
  9. mysql查看binlog_MySQL的binlog数据如何查看
  10. linux网卡备份还原,CentOS6.x双网卡采用主-备份策略绑定(bond)
  11. SQL 不常用的一些命令sp_OACreate,xp_cmdshell,sp_makewebtask
  12. 见过最牛的GIF图片。
  13. GPO组策略 权限处理之原则
  14. java栈里储存的是什么_JVM中的堆和栈到底存储了什么
  15. diamond运算符
  16. 百合佳缘伐谋、珍爱网伐交、伊对伐兵
  17. codeforces 839 E. Mother of Dragons(最大团)
  18. c语言中快排函数,c语言快排函数详解
  19. 跑步耳机哪种好,适合运动佩戴的蓝牙耳机分享
  20. Oracle SQL性能优化 SQL优化

热门文章

  1. Android插件化探索与发现
  2. Mysql 添加 create_time, update_time 创建时间 更新时间 自动更新
  3. springboot+vue美容院美妆化妆品商城管理系统nodejs
  4. 【深度学习】ToMe:我的方法无需训练即可加速 ViT 模型|搞懂Transformer系列
  5. Whoosh初次使用
  6. value_counts
  7. follow your heart——Steve jobs
  8. 家装行业怎么做网络品牌推广?
  9. mac 关于/usr 和/opt
  10. python和百度地图API实现数据地图标注