因果图法+判定表+正交试验法自我学习(转)

转自:http://www.51testing.com/html/19/422619-249780.html

 

  1. 因果图法

考虑到输入组合的情况

有3个部分:

  1. 因=输入条件
  2. 中间结点=输出值必须的前提条件
  3. 果=输出条件

通过有4种符号:

  1. 恒等,即因=1,果=1;因=0,果=0。即果跟随因的变化而变
  2. 非,即因=1,果=0;因=0,果=1。即因和果是对立的,永远不会统一
  3. 或,即有N个因中有1个因=1(至少有2个因),即果=1。即只要有一个因达到规定的需求,果就能出现
  4. 与,即有N个因中(至少有2个因),每因都必须=1,果才会出现。即只有全部的因都符合条件了,果才会出现

与程序语言做比较:

  1. 恒等等于=
  2. 非等于!=
  3. 或等于||
  4. 与等于&&

4种约束条件:

  1. E(互斥),相当于“非”
  2. I(包含),相当于“或”
  3. O(惟一),表示a和b当中必须有一个成立,且只有一个成立
  4. R(要求),相当于“恒等”
  5. M(屏蔽),表示当a=1时,b=0;而a=0时,b的值不确定

通用因果图画法:

 

  1. 判定表驱动法

由4个部分组成:

  1. 条件桩:列出问题的所有条件,次序无所谓
  2. 动作桩:列出问题规定可能采取的操作,顺序无约束
  3. 条件项:列出针对该问题所列条件的取值,在所有可能情况下的真假值
  4. 动作项:列出在条件项的各种取值情况下应该采取的动作
  5. 规则:任何一个条件组合的特定取值及其相应要执行的操作
     

因果图与判定表的关系:因果图法是找出因和果,通过因果图转换为判定表

 

  1. 正交试验法

正交试验设计方法是从大量的试验数据中挑选适量的、有代表性的点,即使用已经造好的表格“—”正交表来安排试验并进行数据分析

        例:为提高某化工产品的转化率,选择了三个有效因素进行条件试验,A=反应温度,B=反应时间,C=用碱量,且

        A:80~90度

        B:90~150分钟

        C:5%~7%

目的:弄清因子A,B,C哪个对转化率,是主要的,次要的,从而确定最适合的条件,即在试验范围内选取三个水平:

        A:A1=80度,A2=85度,A3=90度

        B:B1=90分钟,B2=120分钟,B3=150分钟

        C:C1=5%,C2=6%,C3=7%

        当然选择因子是可以定量的,可以根据因子间的各水平距离而确定

 

第1种—全面试验法

 

 

优点:对各因子与指标间的关系剖析的比较清楚,但试验次数太多 

第2种—简单对比法

  1. 首先固定B、C于B1、C1,使A变化:

B1C1——A1

          ——A2

          ——A3(好结果)

若结果A3最好,则固定A于A3,C还是C1,使B变化

依次下去对比

        优点:试验次数少,但选战代表性差 

故:我们就兼顾这2种方法的优点。

即选取每一行的各水平组合构成一个试验条件

如上一图,A有3个平面,B与C也有3个平面,共9个,只需选择9个因子点,即只需要9个用例即可

 

 

 

PS:另外作为学习正交试验设计法,找到了2个地址,可以进一步充实自己的理论知识

1. http://www.doc88.com/p-492273209026.html (正交试验设计法的基本思想)

2. http://www.docin.com/p-43488508.html(常用正交表,顺便解释下表名的意识,如L16(4^5):L为正交表的代号、16为试验的次数即行数、4为水平数(状态)、5为列数)

3. http://www.docin.com/p-35688652.html(正交表的数学理论)

4. http://www.docin.com/p-286960867.html(正交表的构建)

 

 

正交实验设计方法:
  主要步骤是:
  (1) 对软件 需求 规格说明中的功能要求进行划分(层层分解与展开),分解成具体的、相对独立的基本功能。
  (2) 根据基本功能的 质量 需求,找出影响其功能实现的操作对象和外部因素,每个因素的取值可以看作水平,多个取值就存在多个水平。
  (3) 确定待测试软件中所有因素及其权值,这是 测试用例设计 的关键,确保全面、准确。
  权值是依据各因素的影响范围、发生的频率和质量的需求来确定的。(加权平均数:

比如,几个数:2、4、6,它们的权数分别为1、3、5.
那么它们的加权平均数=(2*1+4*3+6*5)/(1+3+5),即各个数分别乘上其权数,然后除上各个权数之和。
权数就是各个数在数据系统内,所占的重要性。


  (4) 加权筛选,生成因素分析表。
  (5) 利用正交表构造测试数据集,正交表的每一行,就是一条测试用例。考虑交互作用不可忽略的处理因素和不可混杂的原则,有交互作用的组合优先安排。

 

利用正交实验设计测试用例的步骤:
1.提取功能说明,构造因子--状态表
把影响实验指标的条件称为因子.而影响实验因子的条件叫因子的状态.利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子,而把各个因子的取值当作状态.对软件需求规格说明中的功能要求进行划分,把整体的概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的基本的功能要求.这样就可以把被测试软件中所有的因子都确定下来,并为确定个因子的权值提供参考的依据.确定因子与状态是设计测试用例的关键.因此要求尽可能全面的正确的确定取值,以确保测试用例的设计作到完整与有效。
2.加权筛选,生成因素分析表
对因子与状态的选择可按其重要程度分别加权.可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。
3.利用正交表构造测试数据集
正交表的推导依据Galois理论(这里省略,需要时可查数理统计方面的教材)。
利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。
 
用正交试验设计法所需的行数是多少?
试验次数(行数)= 求和【各个列数*(水平-1)】+1   , 比如要考察五个3水平因子及一个2水平因子,则起码的试验次数为5*(3-1)+1*(2-1)+1 = 12  (可以选择L18(2*3^7)的表)
正交表具有2条性质:(1)每一列中各数字出现的次数都一样多 (2)任何两列所构成的各有序数对出现的次数都一样多
 
 
正交表:
  各列中出现的最大数字相同的正交表称为相同水平正交表。如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、被测项目中一共有四个被测对象(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、因素数(变量)、水平数(变量值)相符
  水平数(变量的取值)相同、因素数(变量)刚好符合某一正交表,则直接套用正交表,得到用例。
  例子:
  对某人进行查询,假设查询某个人时有三个查询条件:
  根据“姓名”进行查询
  根据“身份证号码”查询
  根据“手机号码”查询
  考虑查询条件要么不填写,要么填写,此时可用正交表进行设计
  ① 因素数和水平数
  有三个因素:姓名、身份证号、手机号码。每个因素有两个水平:
  姓名:填、不填
  身份证号:填、不填
  手机号码:填、不填
  ② 选择正交表
  表中的因素数>=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),如下图:
 
 
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,它比原来也少多了。
 
 
https://wenku.baidu.com/view/c6cc7d5fb52acfc789ebc96e.html

转载于:https://www.cnblogs.com/Allen-ling/p/5972398.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值