• 因果图方法 一. 方法简介 1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 2.因果图法产生的背景: 等价类划分法和边界值分析方法都是...

    因果图方法

    一.    方法简介

    1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

    2.因果图法产生的背景:

    等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

    如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

    3.因果图介绍

    1) 4种符号分别表示了规格说明中向4种因果关系。

    黑盒测试--因果图法 - 流口水的小猪 - 轨迹

    2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

    3) Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。Ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

    4. 因果图概念

    1)    关系

    ①恒等:若ci是1,则ei也是1;否则ei为0。

    ②非:若ci是1,则ei是0;否则ei是1。

    ③或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。

    ④与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。

    2)    约束

    黑盒测试--因果图法 - 流口水的小猪 - 轨迹

    输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

    A.输入条件的约束有以下4类:

       ① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。

       ② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。

       ③ O约束(唯一);a和b必须有一个,且仅有1个为1。

       ④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。

    B.输出条件约束类型

       输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。

    5. 采用因果图法设计测试用例的步骤:

    1)分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。

    2)分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。

    3)由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。

    4)把因果图转换为判定表。

    5)把判定表的每一列拿出来作为依据,设计测试用例。

    二. 实战演习

    1. 某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

    解答:

    1) 根据题意,原因和结果如下:

           原因:

              1——第一列字符是A;

              2——第一列字符是B;

              3——第二列字符是一数字。

           结果:

              21——修改文件;

              22 ——给出信息L;

              23——给出信息M。

    2) 其对应的因果图如下:

    黑盒测试--因果图法 - 流口水的小猪 - 轨迹

    11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

    3)根据因果图建立判定表。

    黑盒测试--因果图法 - 流口水的小猪 - 轨迹

           表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。

    2.有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

    1) 分析这一段说明,列出原因和结果

    原因:

    1.售货机有零钱找

    2.投入1元硬币

    3.投入5角硬币

    4.押下橙汁按钮

    5.押下啤酒按钮

    结果:

    21.售货机〖零钱找完〗灯亮   

    22.退还1元硬币

    23.退还5角硬币             

    24.送出橙汁饮料

    25.送出啤酒饮料

    2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:

    11. 投入1元硬币且押下饮料按钮

                    12. 押下〖橙汁〗或〖啤酒〗的按钮

                    13. 应当找5角零钱并且售货机有零钱找

                    14. 钱已付清

    黑盒测试--因果图法 - 流口水的小猪 - 轨迹

    3)转换成判定表:

    黑盒测试--因果图法 - 流口水的小猪 - 轨迹

     

    4) 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。

    展开全文
  • 软件测试因果图法

    2017-03-29 22:59:18
    一、 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法、边界值分析法、因果图法、决策表...

    一、 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法、边界值分析法、因果图法、决策表法。在实际运用中要选择合适的方法。

    二、 因果图法:等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。因果图法着重测试规格说明中的输入与输出间的依赖关系。

    1、 因果图的符号的关系

      以下是符号的具体说明:

      原因→结果

      

      

      原因→原因

    结果→结果

     

    2、因果图法测试用例的设计步骤

    (1)确定软件规格(需求)中的原因和结果

    (2)确定原因和结果之间的逻辑关系

    (3)确定因果图中的各个约束(constraints)

    (4)画出因果图并转换为决策表

    (5)根据决策表设计测试用例

     

    三、实例分析

       产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

        (1)确定需求中的原因与结果

     (2)确定原因与结果的逻辑关系

             C1 与 C2 需要一个中间结果Cm1, C3、C4、C5 需要一个中间结果Cm2.

      (3)确定因果图中的约束

             C1 与 C2 是或的关系, C3、C4、C5 是或的关系。

      (4)画出因果图并转化为决策表

    决策表

    将原因C1、C2、C3、C4、C5按二进制由小到大分别取值,并分析中间结果的成立与否,进而得出下面的简化版(即中间结果Cm1、Cm2成立的情况)

     

    简化版

       (5)根据决策表设计测试用例

     

    展开全文
  • 如果要在测试中考虑各种条件的组合,那么测试用例将是无穷无尽的,因此需要用因果图+判定表法来描述多个有关联的条件组合后产生的测试结果。 判定表通常有四个部分:1、条件桩(列出了问题的所有条件,通常认为列出...
    • 等价类划分法和边界值法通常考虑的都是某一个输入条件,而不考虑输入条件的各种组合制约关系。如果要在测试中考虑各种条件的组合,那么测试用例将是无穷无尽的,因此需要用因果图+判定表法来描述多个有关联的条件组合后产生的测试结果。
    • 判定表通常有四个部分:1、条件桩(列出了问题的所有条件,通常认为列出的条件与次序无关紧要);2、动作桩(结果分类);3、条件项(条件的取值);4、动作项(条件组合后所做的操作);
    • 例子:两位数加法。输入框1(条件1:1<=x<=99;条件2:-99<=x<0;等等),输入框2(条件1,条件2…),输出(正确计算,错误提示)。
    • 简单来讲,就是要通过表格的方式,测试各种情况组合下的结果输出,同时进行有效的条件和结果分类。
    展开全文
  • 如果测试时考虑到了各种组合,测试所有组合将是一个天文数字,因此需要考虑采用一种适用与多种条件组合相应产生多种动作的形式来进行测试用例的设计,这就需要因果图(逻辑模型) 因果图思想 一些程序的功能可以用...

    因果图简介

    等价类划分法和边界值法都是着重考虑到了输入条件,但是没有考虑到输入条件的组合与输入条件的相互制约关系。这样有可能忽视了很多错误
    如果测试时考虑到了各种组合,测试所有组合将是一个天文数字,因此需要考虑采用一种适用与多种条件组合相应产生多种动作的形式来进行测试用例的设计,这就需要因果图(逻辑模型)

    因果图思想

    一些程序的功能可以用判定表的形式来表示,根据输入条件的组合情况来规定相应的操作

    因果图设计测试用例的步骤

    1 根据程序规格说明书,分析因和果,画出因果图
    2 将得到的因果图转换为判定表
    3 为判定表的每一列表示的情况设计一个测试用例

    因果图的常用符号

    与计算机中的与或非相识:
    在这里插入图片描述
    图片来源网络!

    对于输入条件的约束有以下四类:

    E约束(Exclusive,异或):ab不能同时为1,可以同时为0;
    I约束(Inclusive,或):abc至少一个为1,不能同时为0;
    O约束(Only,唯一):ab有且只有一个为1;
    R约束(Require,要求):a是1时,b必须是1;

    对输出条件只有一种约束:

    M约束(Mask,强制):若a是1,b必须是0;

    举个栗子

    以下是网上找到很常见的例子
    饮料售货机:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

    分析输入输出
    输入:

    编号 输入
    c1 投入1.5硬币
    c2 投入2硬币
    c3 按下“可乐” 按钮
    c4 按下“雪碧” 按钮
    c5 按下“红茶” 按钮

    输出:

    编号 输出
    EF1 退换0.5
    EF2 送出可乐
    EF3 送出雪碧
    EF4 送出红茶

    分析输入之间的关系

    1)C1与C2为异或关系

    2)C3、C4、C5因投入硬币最多为2元 所以分析为异或关系

    3)C1(C2)与C3(C4、C5)为且的关系

    4)EF2、EF3、EF4为异或关系

    5)EF1与EF2(3、4)没关系

    分析什么原因导致结果

    1)EF1:C2与C3(4、5)导致EF1

    2)EF2(3、4):C1(2)与C3(4、5)导致EF2(3,4)
    因果图
    在这里插入图片描述
    图片来自网络
    写出判定表
    在这里插入图片描述
    图片还是来自网络

    最后根据判定表设计测试用例

    判定表介绍

    什么叫判定表法?
    就是指把所有的输入条件、所有可能采取的动作按表格列出来,每一种条件和动作的组合构成一条规则,也即一条用例。

    规则
    条件桩(列出所有的输入条件,顺序不重要) 条件项(列出各个条件所有可能的取值)
    动作桩(列出问题规定的所有可能采取的动作,顺序不重要) 动作项(列出所有可能采取的动作)

    这里条件桩和动作桩组成表格的行,条件项和动作项组成表格的列,这样组合成的表格即是依据判定表法得出的一张原始用例集合。

    判定表编写步骤
    1 确定规则的个数
    2 列出所有的条件桩和动作桩
    3 填入条件项
    4 填入动作项,得到初始判定表
    5 简化 判定表,合并相似规则 (相同动作)

    下面这个栗子来源百度文库:
    在这里插入图片描述
    简化
    在这里插入图片描述
    很直观的栗子

    注:因果图只是设计判定表的工具,不一定要费时间设计因果图。

    展开全文
  • 黑盒测试方法-因果图

    2020-06-04 23:30:24
    等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系...这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了
  • 2、因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,...


    1、
    4种符号分别表示了规格说明中向4种因果关系。如图1所示。


    图1 因果图关系

    2、
    因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
    3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

    2.2因果图概念


    1、关系(图2-1 因果图关系)
    ①恒等:若ci是1,则ei也是1;否则ei为0。
    ②非:若ci是1,则ei是0;否则ei是1。
    ③或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。
    ④与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。

    2、约束

    输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。如图2所示。



    图2因果图约束

    A.输入条件的约束有以下4类:
    ① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。
    ② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
    ③ O约束(唯一);a和b必须有一个,且仅有1个为1。
    ④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。

    B.输出条件约束类型
    输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。

    2.3因果图法设计测试用例步骤

    1、分析待测得系统规格,找出原因与结果
    分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。
    2、画出因果图
    分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系。根据这些关系,画出因果图。
    3、标记约束或限制条件
    由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况下不可能出现。 为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
    4、把因果图转换为判定表。
    5、用判定表中的每一项生成测试用例。

    3.因果图实例

    3.1实例一

    某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

    1、对说明进行分析,得到原因和结果:

    原因:
    1:第一列字符是A;
    2:第一列字符是B;
    3:第二列字符是一数字。

    结果:
    21:修改文件;
    22:给出信息L;
    23:给出信息M。

    2、其对应的因果图如下:11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束,如图3所示。



    图3实例一的因果图

    3、根据因果图建立判定表。



    表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。

    4、把判定表的每一列拿出来作为依据,设计测试用例
    我们把表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。
    展开全文
  • 一、因果图法的背景 为了解决由以定义域划分带来的局限性,因果图法被提了出来; 二、因果图法 1.因果图法的基本符号 2.对于输入条件的约束有以下四类: E约束(Exclusive,异或):ab不能同时为1,可以同时...
  • 2.因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起.....
  • 要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于...因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情...
  • 因果图能直观地表明输入条件和输出动作之间的因果关系,能帮助测试人员把注意力集中到与程序功能相关的输入组合上,比采用是一种合适于描述对于多种输入条件等价分类法的测试效率更高,但这种方法的操作步骤比较复杂...
  • 【黑盒测试因果图分析。。。待补充
  • 用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动作的测试方法;从程序规格说明书的描述中找出因果关系 因果图法,第一时间让我联想到的是,高中数学的排列组合。 关于这个联想...
  • 因果图:一、应用场合 在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法。 二、因果图核心...
  • 黑盒测试因果图法

    2018-07-01 08:50:06
    因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。生成测试用例(1) 分析软件规格说明... 根据这些关系,因果图。(3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合...
  • 因果图实验报告

    2020-03-19 12:25:28
    实验报告 一:实验内容 用因果图法设计一个网站用户登录界面的测试用例。...通过分析题目列出原因和结果,并出相应的因果图和决策表 三:设计思想 1.分析所有可能的输入和输出 1 用户账号(...
  • 因果图

    2018-02-28 07:27:24
    (一般适合测试组合数量较少的情况)二、关于因果图的基础知识1、因果图因(原因):输入条件果(结果):输出结果因果图:用画图的方式表达输入条件和输出结果之间的关系。2、因果图的图形符号1)基本图形符号 ...
  • 这次软件测试课上我们学习了因果图,根据老师的讲义&网上的资料&自己的想法总结如下 因果图(Cause-Effect Graphing) Cause-Effect Graphing (CEG) is basically aBlack-box testing techniquethat is ...
  • 我在这一周的软件测试课程中学习到了有关黑盒测试中的因果图法的相关知识。在此我将做一些归纳与总结,并给出一个使用因果图法的自动贩卖机的测试用例设计。 概述: 在黑盒测试中,有着等价类划分法、边界值分析...
  • 1 掌握等价类划分的原则   2 掌握弱一般等价类、强一般等价类、弱健壮等价类、强健壮等价类   3 掌握等价类划分法测试的方法和步骤
1 2 3 4 5 ... 20
收藏数 2,584
精华内容 1,033