正交实验法设计测试用例
文章目录
- 一 正交实验法的由来
- 1 正交表的由来
- 1.1 拉丁方名称的由来
- 1.2 什么是n阶拉丁方?
- 1.3 什么是正交拉丁方?
- 2 正交实验法
- 3 利用正交实验设计测试用例的步骤:
- 3.1 提取功能说明,构造因子--状态表
- 3.2 加权筛选,生成因素分析表
- 3.3 利用正交表构造测试数据集
- 4 正交表的构成
- 5 正交表的正交性
- 5.1 整齐可比性
- 5.2 均衡分散性
- 二 用正交实验法设计测试用例
- 1 用正交表设计测试用例的步骤
- 2 如何选择正交表
- 3 设计测试用例时的三种情况
- 3.1 因素数与水平数刚好符合正交表
- 3.2 因素数不相同
- 3.3 水平数不相同
- 4 正交法设计测试用例举例
一 正交实验法的由来
1 正交表的由来
1.1 拉丁方名称的由来
古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。
数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。
1.2 什么是n阶拉丁方?
用n个不同的拉丁字母排成一个n阶方阵(n<26 ),如果每行的n个字母均不相同,每列的n个字母均不相同,则称这种方阵为n*n拉丁方或n阶拉丁方。每个字母在任一行、任一列中只出现一次。
1.3 什么是正交拉丁方?
设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n2个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方。
例如:3阶拉丁方
图1 三阶拉丁方
用数字代替拉丁方
2 正交实验法
正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。是一种高效率、快速、经济的实验设计方法。
日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。例如作一个三因素三水平的实验,按全面实验要求,须进行33=27种组合的实验,且尚未考虑每一组合的重复数。若按L9(33) 正交表按排实验,只需作9次,按L18(37) 正交表进行18次实验,显然大大减少了工作量。因而正交实验设计在很多领域的研究中已经得到广泛应用。
利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。
正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。类似的方法有:聚类分析方法、因子方法方法等。
3 利用正交实验设计测试用例的步骤:
3.1 提取功能说明,构造因子–状态表
把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。
利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子;而把各个因子的取值当作状态。对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据。确定因子与状态是设计测试用例的关键。因此要求尽可能全面的、正确的确定取值,以确保测试用例的设计作到完整与有效。
3.2 加权筛选,生成因素分析表
对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小。
3.3 利用正交表构造测试数据集
利用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。
在使用正交实验法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获取的因子或因素,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件,即状态或水平值。
4 正交表的构成
- 行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。
- 因素数(Factors) :正交表中列的个数,即我们要测试的功能点。
- 水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数” 。即要测试功能点的输入条件。
正交表的形式:L行数(水平数因素数)L_{行数}(水平数^{因素数})L行数(水平数因素数),如L8(27)L_8(2^7)L8(27)
图2 正交表示例图
5 正交表的正交性
5.1 整齐可比性
在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件。
5.2 均衡分散性
在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,,因而具有很强的代表性,容易得到好的试验条件。
二 用正交实验法设计测试用例
以上介绍了正交实验法的由来。怎么用正交实验法进行用例的设计呢?
1 用正交表设计测试用例的步骤
- (1) 有哪些因素(变量)
- (2) 每个因素有哪几个水平(变量的取值)
- (3) 选择一个合适的正交表
- (4) 把变量的值映射到表中
- (5) 把每一行的各因素水平的组合做为一个测试用例
- (6) 加上你认为可疑且没有在表中出现的组合
2 如何选择正交表
- 考虑因素(变量)的个数
- 考虑因素水平(变量的取值)的个数
- 考虑正交表的行数
- 取行数最少的一个
3 设计测试用例时的三种情况
- (1)因素数(变量)、水平数(变量值)相符
- (2)因素数不相同
- (3)水平数不相同
3.1 因素数与水平数刚好符合正交表
我们举个例子
图3 个人信息查询系统
这是个人信息查询系统中的一个窗口。我们可以看到要测试的控件有3个:姓名、身份证号码、手机号码,也就是要考虑的因素有三个;而每个因素里的状态有两个:填与不填。
选择正交表时分析一下
- 1.表中的因素数>=3;
- 2.表中至少有3个因素数的水平数>=2;
- 3.行数取最少的一个。
从正交表公式中开始查找,结果为:L4(23)L_4(2^3)L4(23)
变量映射:
图4 L4(23)L_4(2^3)L4(23) 正交表
测试用例如下:
- 填写姓名、填写身份证号、填写手机号
- 填写姓名、不填身份证号、不填手机号
- 不填姓名、填写身份证号、不填手机号
- 不填姓名、不填身份证号、填写手机号
增补测试用例
5. 不填姓名、不填身份证号、不填手机号
从测试用例可以看出:如果按每个因素两个水平数来考虑的话,需要8个测试用例,而通过正交实验法进行的测试用例只有5个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。
3.2 因素数不相同
如果因素数不同的话,可以采用包含的方法,在正交表公式中找到包含该情况的公式,如果有N个符合条件的公式,那么选取行数最少的公式。
3.3 水平数不相同
采用包含和组合的方法选取合适的正交表公式。
4 正交法设计测试用例举例
上面就正交实验法进行了讲解,现在再拿PowerPoint软件打印功能作为例子,希望能为大家更好地理解给方法的具体应用。
假设功能描述如下:
- 打印范围分:全部、当前幻灯片、给定范围 共三种情况;
- 打印内容分:幻灯片、讲义、备注页、大纲视图 共四种方式;
- 打印颜色/灰度分: 颜色、灰度、黑白 共三种设置;
- 打印效果分:幻灯片加框和幻灯片不加框两种方式。
因素状态表:
状态/因素 | A打印范围 | B打印内容 | C打印颜色/灰度 | D打印效果 |
---|---|---|---|---|
0 | 全部 | 幻灯片 | 颜色 | 幻灯片加框 |
1 | 当前幻灯片 | 讲义 | 灰度 | 幻灯片不加框 |
2 | 给定范围 | 备注页 | 黑白 | |
3 | 大纲视图 |
我们先将中文字转换成字母,便于设计。得到:
因素状态表:
状态/因素 | A打印范围 | B打印内容 | C打印颜色/灰度 | D打印效果 |
---|---|---|---|---|
0 | A1 | B1 | C1 | D1 |
1 | A2 | B2 | C2 | D2 |
2 | A3 | B3 | C3 | |
3 | B4 |
我们分析一下:
被测项目中一共有四个被测对象,每个被测对象的状态都不一样。
选择正交表:
- 1 表中的因素数>=4
- 2 表中至少有4个因素的水平数>=2
- 3 行数取最少的一个
最后选中正交表公式:L16(45)L_{16}(4^5)L16(45)
A | B | C | D | E | |
---|---|---|---|---|---|
1 | A1 | B1 | C1 | D1 | 0 |
2 | A1 | B2 | C2 | D2 | 1 |
3 | A1 | B3 | C3 | 2 | 2 |
4 | A1 | B4 | 3 | 3 | 3 |
5 | A2 | B1 | C2 | 2 | 3 |
6 | A2 | B2 | C1 | 3 | 2 |
7 | A2 | B3 | 3 | D1 | 1 |
8 | A2 | B4 | C3 | D2 | 0 |
9 | A3 | B1 | C3 | 3 | 1 |
10 | A3 | B2 | 3 | 2 | 0 |
11 | A3 | B3 | C1 | D2 | 3 |
12 | A3 | B4 | C2 | D1 | 2 |
13 | 3 | B1 | 3 | D2 | 2 |
14 | 3 | B2 | C3 | D1 | 3 |
15 | 3 | B3 | C2 | 3 | 0 |
16 | 3 | B4 | C1 | 2 | 1 |
我们看到:
第一列水平值为3、第三列水平值为3、第四列水平值3、2都需要由各自的字母替代。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | A1 | B1 | C1 | D1 | 0 |
2 | A1 | B2 | C2 | D2 | 1 |
3 | A1 | B3 | C3 | D1 | 2 |
4 | A1 | B4 | C1 | D2 | 3 |
5 | A2 | B1 | C2 | D1 | 3 |
6 | A2 | B2 | C1 | D2 | 2 |
7 | A2 | B3 | C2 | D1 | 1 |
8 | A2 | B4 | C3 | D2 | 0 |
9 | A3 | B1 | C3 | D1 | 1 |
10 | A3 | B2 | C3 | D2 | 0 |
11 | A3 | B3 | C1 | D2 | 3 |
12 | A3 | B4 | C2 | D1 | 2 |
13 | A1 | B1 | C1 | D2 | 2 |
14 | A2 | B2 | C3 | D1 | 3 |
15 | A3 | B3 | C2 | D2 | 0 |
16 | A1 | B4 | C1 | D1 | 1 |
第五列去掉没有意义。通过分析,由于四个因素里有三个的水平值小于3,所以从第13行到16行的测试用例可以忽略。
那么这样的话,就可以有12个测试用例了。
测试用例编号 | PPT—ST—FUNCTION—PRINT—001 |
---|---|
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的幻灯片,有颜色,加框 |
重要级别 | 高 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:\系统测试.ppt |
操作步骤 | 1、打开打印界面; |
2、打印范围选择“全部”; | |
3、打印内容选择“幻灯片”; | |
4、颜色/灰度选择“颜色”; | |
5、在“幻灯片加框”前打勾; | |
6、点击“确定”。 | |
预期输出 | 打印出全部幻灯片,有颜色且已加框。 |
测试用例编号 | PPT—ST—FUNCTION—PRINT—002 |
---|---|
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的幻灯片为讲义,灰度,不加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:\系统测试.ppt |
操作步骤 | 1、打开打印界面; |
2、打印范围选择“全部”; | |
3、打印内容选择“讲义”; | |
4、颜色/灰度选择“灰度”; | |
5、点击“确定”。 | |
预期输出 | 打印出全部幻灯片为讲义,灰度且不加框。 |
测试用例编号 | PPT—ST—FUNCTION—PRINT—003 |
---|---|
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的备注页,黑白,加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:\系统测试.ppt |
操作步骤 | 1、打开打印界面; |
2、打印范围选择“全部”; | |
3、打印内容选择“备注页”; | |
4、颜色/灰度选择“黑白”; | |
5、在“幻灯片加框”前打勾; | |
6、点击“确定”。 | |
预期输出 | 打印出全部备注页,黑白且已加框。 |
其他测试用例参考上述测试用例来设计。
正交实验法设计测试用例相关推荐
- 软件测试中用正交实验法设计测试用例
软件测试中用正交实验法设计测试用例 正交实验法的由来 一.正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表. 数学家 ...
- 【黑盒测试】 正交排列法设计测试用例
正交法设计测试用例 如何设计测试用例 一.正交表的概念 二.使用步骤 1.设计步骤 2.案例分析 三.判定表和正交表的使用场景 判定表 正交表 如何设计测试用例 在测试时,要考虑一些控件的组合情况,组 ...
- 黑盒测试方法四(正交实验法)
正交实验法 正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具 ...
- 黑盒测试方法之正交实验法
1.概述 在利用因果图和判定表驱动法来设计测试用例时,作为输入条件的原因和输出结果之间的关系有时候很难从需求规格说明中得到:或者因果关系非常庞大,导致利用因果图得到的测试用例数目非常大,为了有效地.合 ...
- 测试用例设计方法:正交实验法使用示例
1.简介 正交试验设计法(Orthogonal experimental design), 是从大量的试验点中挑选出适量的.有代表性的点,应用依据迦罗卡瓦理论导出的"正交表",合理 ...
- 四因素三水平正交试验表_测试用例设计方法(二)——正交实验法
正交实验法严格来说不是为测试用例设计的方法,它广泛用于各种实验实践中.是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了"均 ...
- 其他测试用例设计方法-错误推测法与正交实验法
常用的测试用例设计方法,前面基本都介绍完了,其中等价类划分法.边界值法与场景法是最常用的. 本篇文章介绍剩余两种测试方法--错误推测法与正交实验法. 错误推测法 基于经验和直觉推测程序中所有可能存在的 ...
- 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)
黑盒测试用例设计(三) 正交实验法 正交表:一种特制的表,一般的正交表记为Ln(mk) m代表水平数,k代表因素数,n是需要进行实验的个数.这三个数没有任何数学关系. 仅适用于每个因素的水平数都相同的 ...
- 黑盒测试用例设计方法三(正交实验法、功能图法、用例设计方法综合选择)
测试步骤 一.正交实验法 1.1正交实验法介绍 1.2正交实验法实现步骤 1.3实际案例 二.功能图法 2.1功能图法原理介绍 2.2功能图法实现步骤 2.3实践案例 三.其他用例设计方法 3.1测试 ...
最新文章
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 4 assignment4_1
- PHP学级与年级的转换函数_PHP addslashes()和stripslashes():字符串转义与还原
- 开发者说丨如何从零开始构建一个轻量级应用
- Python-网站页面代码获取
- 八大排序算法思想介绍
- 最新版QQ拼音打字法为什么打出来的字中间有竖线?
- paip.提升安全性----Des加密 java php python的实现总结
- 如何准确的设置CAN总线的波特率,保证通信的稳定性
- 政考网:怎样考取公务员上岸?
- docker配置阿里云镜像加速器
- Java面试基础问题之(一)—— JDK和JRE区别
- Eclipse 英文翻译一点点
- 有道翻译 vs google翻译
- mysql in数量限制_SQL语句中in的个数限制为1000
- 胡昌泽 day3笔记
- 【Linux】linux进程--进程控制:进程创建、进程终止、进程等待、进程程序替换
- Pycharm2019使用方法(六)——鼠标放代码中单击Edit后菜单功能
- Elasticsearch 8.4.1 配置自签名证书和启用Https
- 关于“QTableWidget设置表头筛选”实现及小改——“QTableWidget设置表头筛选”引用自博主“~南柯一梦~”
- Matlab GUI编程技巧(一):如何使gui编的界面一运行就居中
热门文章
- 华为鸿蒙生态班怎么上,好消息!华为宣布打造鸿蒙生态班,为何顶尖学府清华不入其法眼?...
- 5 gtm 工作原理_基于GTM法的水泥稳定碎石力学性能研究
- 前端工程师·的好习惯_质量检查工程师应避免的7个不良习惯
- 怎样查看Office2010的安装位置
- metasploit实战-ms17-010(永恒之蓝)漏洞利用与复现
- 计算机教师教育学生案例,学生成长的动力 教师奋斗的源泉 ———小学信息技术课中的德育案例分析...
- js数组删除只删除一半
- 感谢以下老师对软件支持
- C++ 中缀转后缀并求值
- Cocos2d-3.x Action动作锦集