测试方法-正交实验法/场景法

1.正交实验法

正交试验设计法(Orthogonal experimental design), 是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗卡瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。(假如进行测试时有大量数据和大量场景,可以依据类似于穷举法来设计一个正交实验。)

正交试验设计法分为:
◆指标:通常把判断试验结果优劣的标准叫做试验的指标
◆因子(因素Factor):所有影响试验指标的条件
◆因子的状态(水平Level):而影响实验因子的,叫做因子的状态(因子变量的取值)
eg:
比如登录,现在有用户名,密码(这是两个因子) 每个因子有100个取值(因子的状态
是100)

正交实验法设计步骤
1.提取功能说明,构造因子-状态表
在这里插入图片描述
2.加权筛选,生成因素分析表
计算各因子和状态的权值,删去一部分权值较小, 即重要性较小的因子或状态,使最后生成的测试用例集缩减到允许范围。

3.利用正交表构造测试数据集
◆如果各个因子的状态树是不统一-的, 几乎不可能出现均匀的情况,必须首先用逻辑命令来组合各因子的状态,作出布尔图
◆根据布尔图得到相应阶数的正交表
◆依照因果图上根节点到叶子节点的顺序逐步替换正交表上的中间节点,得到最终的正交表

4.利用正交表每行数据构造测试用例
正交表
正交表的表示形式: Ln (t^c)其中: L为正交表的代号,n为行数(试验次数) , t为水平数,c为列数(因素数)

水平数就是状态数,因素数就是有多少因子
例如: L4(2^3), 它表示需做4次实验,最多可观察3个因素,每个因素均为2水平
在这里插入图片描述
一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,
如L8(2^4 4^1)。
(一共观察的有5个因素,有四个因素有两种结果,有一个因素有四种结果)
在这里插入图片描述
根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码1, 2,tj组成,这些数码均各出现n/t次。(即因素的各个结果算是较均匀的出现的)

如何查找正交表

1. Technical Support (support.sas.com)
http://support.sas.com/techsup/technote/ts723_Designs.txt
有很多类型 选取需要的即可
在这里插入图片描述

2.查Dr. GenichiTaguchi设计的正交表,
http://www.york.ac.uk/depts/maths/tables/orthogonal.htm

3.数理统计、试验设计等方面的书及附录中
关注点:因素数和对应的水平数组成的矩阵。

正交实验法例子

要测试支付宝web网站,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器需要考虑:
◆WEB浏览器: IE11、 chrome、 FireFox
◆插件:无、Flash、 支付宝插件
◆应用服务器: IS、 Apache、 Jetty
◆操作系统: Windows2000、Windows NT、Linux

1.提取系统功能说明中的因子
◆WEB浏览器
◆插件
◆应用服务器
◆操作系统

2.分析各因子的状态
◆插件:1=None、2=Flash、 3=支付宝插件
◆WEB浏览器: 1 =IE11、2=chrome、 3= FireFox
◆应用服务器: 1=IIS、 2=Apache、 3=Jetty
◆操作系统: 1=Windows2000、2=Windows NT、3=Linux

3.选择正交表
由于有4个因子,每个因子有三个状态,所以选择正交表水 平数为3,因素数为4。选择L9(3^4)
在http://support.sas.com/techsup/technote/ts723_Designs.txt进行查找 得到
在这里插入图片描述
4.将因子和状态映射到上面的正交表中
在这里插入图片描述
(由于测试的因子等互相之间没什么联系影响,所以选择正交,并且如果上面这个例子用穷举法的话需要3^4=81次测试,太过于冗余,所以用正交表使用9次试验即可)

2.场景法

场景法原理.
◆现在的软件几乎都是 用事件触发来控制流程的。事件触发时的情景形成了场景,而 同一事件不同的触发顺序和处理结果就形成了事件流。
◆这种在软件设计方面的思想可以引入到软件测试中,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行( 如何针对测试场景来设计测试用例

分析思路:
每条路径都反映了基本流和备选流;基本流是最简单的路径; 一个备选流可能自基本流开始,会有特定条件下加入并执行,可能有多种情况,可能重新加入基本流中(比如备选流1和3,就像是登陆的时候触发了邮箱注册,注册完又重新登录)也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4);直黑线代表基本流,是 经过用例的最简单的路径
使用场景
(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…

在这里插入图片描述
场景法基础设计
◆每个经过用例的可能路径,可以确定不同的用例场景。
◆从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:
在这里插入图片描述核心思想

把自己当成最终的用户,使用软件,设计出在使用软件过程中重要的操作,一般包括两类:	
模拟用户完成正常功能、核心业务逻辑的动作,以验证功能的正确性
模拟用户操作中出现的主要错误,以验证程序的异常处理能力

场景法设计步骤
◆根据说明, 描述出程序的基本流及各项备选流
◆根据基本流和各项备选流 生成不同的场景
◆对每一个场景 生成相应的测试用例
◆对生成的所有测试用例 重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值

场景法的使用要求:

要对所测试的软件的业务逻辑、主要功能非常精通,比如测试游戏软件,要会玩游戏。如果连第一关都过不了,也就没办法继续测了。

应用场合
适合场景法的软件界面特点:没有太多填写项,所有的操作都是通过鼠标的点击、双击、拖拽等完成。(类似于:银行柜台操作界面、五子棋游戏,这些都是通过鼠标的点击、拖拽等来完成的。)

例1–微信红包

在这里插入图片描述

例2–淘宝网买东西

◆以淘宝网为例,我们都在淘宝上买过东西,整个购买过程为:
◆用户登录到网站后,进行商品的选择,当选好自己心仪的商品后进行购买,这时把所需商品放进购物车,等进行结帐的时候,用户需要登录自己注册的帐号,登录成功后,进行结帐并生成订单,整个购物过程结束。

确定基本流和备选流:

在这里插入图片描述根据基本流和备选流来确定场景:
在这里插入图片描述

发布了82 篇原创文章 · 获赞 7 · 访问量 4173

猜你喜欢

转载自blog.csdn.net/sunshine612/article/details/105279673