06正交实验法及场景法

06正交实验法及场景法

1正交表的由来

拉丁方阵(英语: Latin square) 是一种n*n的方阵,在这种n*n方阵里,恰有n种不同的元素,每一种不同的元素在同一行或同一列里只出现一次

n阶拉丁方

  • 3阶拉丁方

    A B C 		A B C
    
    B C A	和  C A B
    
    C A B		B C A
    

用数字替代拉丁字母

1 2 3 		1 2 3 	(1,1)(2,2)(3,3)
2 3 1 	和 	3 1 2 	(2,3)(3,1)(1,2)
3 1 2 		2 3 1 	(3,2)(1,3)(2,1)

2案例:字符属性设置程序

06-1

  • 在一个窗体中有多个控件(字体、字符样式 、颜色、字号),每个控件有多个取值
    • 字体:仿宋、楷体、华文彩云n
    • 字符样式:粗体、斜体、下划线
    • 颜色:红色、绿色、蓝色
    • 字号 K:20号、30号、40号
    • 在测试时,要考虑这些控件的组合情况,组 合量非常大(34=81种组合情况)

3正交设计的基本概念

在一项试验中,把影响试验结果的量称为试验 因素(因子),简称因素。因素可以理解为试 验过程中的自变量,试验结果可以看成因素的 函数。在试验过程中,每一个因素可以处于不 同的状态或状况,把因素所处的状态或状况, 称为因素的水平,简称水平。

4正交表的概念和性质***

正交表:一种特制的表,一般的正交表记为 L n (mk)

  • m是水平数,k是因素数,n是需要进行实验的 行数***
    • 行数:正交表中的行的个数,即试验的次数 ,也是通过正交实验法设计的测试用例的个数***
    • 因素数:正交表中列的个数,即要测试的功能 点***
    • 水平数:任何单个因素能够取得的值的最大个 数,即要测试功能点的输入值***

5正交测试法

正交排列法能够使最小的测试过程集合获得最 大的测试覆盖率。当可能的输入数据或者输入 数据的组合数量很大时,由于不可能为每个输 入组合都创建测试用例,可以采用这种方法

6正交法实例

个人信息查询系统中的一个窗口,我们可以看 到要测试的控件有3个:姓名、身份证号码、 手机号码,也就是要考虑的因素有三个;而每 个因素里的状态有两个:填与不填。

06-2

  • 行数(Runs):正交表中的行的个数,即试验的 次数,也是我们通过正交实验法设计的测试用 例的个数。
  • 因素数(因子Factors) :正交表中列的个数, 即我们要测试的功能点
  • 水平数(状态Levels):任何单个因素能够取得 的值的最大个数。正交表中的包含的值为从0 到数“水平数-1”或从1到“水平数” 。即要 测试功能点的输入条件。
分析

选择正交表时分析一下:

  • 表中的因素数>=3;
  • 表中至少有3个因素数的水平数>=2;
  • 行数取最少的一个。

从正交表公式中开始查找,结果为

L4(23)

变量映射

06-3

测试用例如下:

  1. 填写姓名、填写身份证号、填写手机号
  2. 填写姓名、不填身份证号、不填手机号
  3. 不填姓名、填写身份证号、不填手机号
  4. 不填姓名、不填身份证号、填写手机号

增补测试用例

  1. 不填姓名、不填身份证号、不填手机号

从测试用例可以看出:如果按每个因素两个水平数来考虑 的话,需要8个测试用例,而通过正交实验法进行的测试 用例只有5个,大大减少了测试用例数。用最小的测试用 例集合去获取最大的测试覆盖率。

7场景法***

场景法:通过运用场景来对系统的功能点或业 务流程的描述,从而提高测试效果的一种方法***

  • 现在的软件几乎都是用事件触发来控制流程的 ,事件触发时的情景便形成了场景,而同一事 件不同的触发顺序和处理结果就形成事件流。 这种在软件设计方面的思想也可以引入到软件 测试中,可以比较生动地描绘出事件触发时的 情景,有利于测试设计者设计测试用例,同时 使测试用例更容易理解和执行。
  • 场景法一般包括基本流备选流。从一个流程 开始,图中经过用例的每条路径都可以用基本 流和备选流来表示。直黑线表示基本流,是经 过用例的最简单的路径

06-4

8基本流和备选流***

按照上图中每个经过用例的路径,可以确定以下 不同的用例场景:

  • 场景1 基本流
  • 场景2 基本流备选流1
  • 场景3 基本流备选流1备选流2
  • 场景4 基本流备选流3
  • 场景5 基本流备选流3备选流1
  • 场景6 基本流备选流3备选流1备选流2
  • 场景7 基本流备选流4
  • 场景8 基本流备选流3备选流4

注:为方便起见,场景5、6 和8只考虑了备选 流3循环执行一次的情况。

9场景法测试步骤***

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

10场景法实例讲解

银行ATM机提款操作的例子。下在是银行 ATM机操作业务的流程示意图。

06-5

分析

根据上面的流程示意图,我们以银行的客户提 款为例结合用例设计的方法,设计出如下场景

  • 注意;T 代表true(真),F代表False(假), N/A代表 Not Applicable(不适合)

06-6

ATM机器提款场景法用例数据

06-7

11综合策略

  1. 首先进行等价类划分,包括输入条件和输出条件的等 价划分,将无限测试变成有限测试,这是减少工作量和提 高测试效率最有效的方法。
  2. 在任何情况下都必须使用边界值分析方法,经验表明 ,用这种方法设计出的测试用例发现程序错误的能力最强
  3. 可以用错误推测法追加一些测试用例,这需要依靠测 试工程师的智慧和经验
  4. 如果程序的功能说明中含有输入条件的组合情况,则 一开始就可选用因果图法和判定表驱动法。
  5. 对于业务流清晰的系统,可以利用场景法贯穿整个测 试案例过程,在案例中综合使用各种测试方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值