zoukankan      html  css  js  c++  java
  • 测试用例(因果图法)

    一、应用场合

    在一个界面中,有多个输入条件,输入之间存在组合关系,不同的输入组合会产生不同的输出结果的组合,为了弄清输入和输出的关系,使用因果图

      (控件组合)

    二、核心概念

    1、 因——原因,输入动作。

    2、 果——结果,输出结果。

      使用画图的方法找出输入(因)和输出(果)的关系

      因果图法需要考虑:

    • 所有输入条件的相互制约关系以及组合关系
    • 输出结果对输入条件间的依赖关系。也就是什么样的输入组合会产生怎样的输出结果。即“因果关系”

    三、图形符号

    1、基本符号——

    表示输入和输出之间的关系(重点:恒、与)

      

    • 恒等*

        

      • 含义:
        •  若原因出现,则结果出现;若原因不出现,则结果也不出现。
        •     若a = 1,则b = 1.
        •     若a = 0,则b = 0. 

       

      • 含义:
        •  若原因出现,则结果不出现;若原因不出现,则结果出现。
        •     若a = 1,则b = 0.
        •     若a = 0,则b = 1. 

       

      • 含义:
        •  若几个原先因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
        •     若a = 1,或b = 1,或c = 1 ,则d = 1
        •     若a = b = c = 0,则d = 0 
    • *

      

      • 含义:
        •  若几个原先因都出现,则结果才出现;若几个原因只要有一个不出现,则结果不出现。
        •     若a = b = c = 1,则d =1
        •     若a = 0,或b = 0,或c = 0 ,则d = 0 
     2、约束(限制)符号——

    约束的永远都是同一类型:要不然同时限制几个输入之间的关系,要不然同是限制几个输出之间的关系。

     

    • 互斥(E)*

      

      • 含义:
        • 表示a、b、c三个原因不会同时成立;最多有一个可能成立。
        • a、b、c不能同时为 1,即a/b/c中至多只有1
    • 包含(I)

     

      • 含义:
        • 表示a、b、c三个原因中至少有一个必须成立
        • a、b、c至少有有一个1,即a,b,c中不能同时为0
    • 唯一(O)*

      • 含义:
        • 表示a、b、c三个原因中必须有一个成立,且仅有一个成立(唯一和互斥非常接近,就差一个默认值)      

    说明:互斥和唯一的区别:一般有默认选项—唯一,           没有默认选项—互斥

    • 要求(R)*

      • 含义:
        • 表示a 出现时,则b 必须出现
        • 若a = 1 ,则b 必须= 1,即不可能a = 1 且 b = 0 
    • 屏蔽(M)

      • 含义:
        • 若a = 1 ,则b 必须= 0,若a = 0 时则 b 的值不一定

     重点要求:

      互斥、唯一、要求

      屏蔽一般在输出中常用。

    四、分析程序步骤

       1、找出“因”(输入动作),例如:

        编号:(1)投币1元,(2)投币5元,

           (3)充值1元,(4)充值5元

      2、找出“果”(输出结果)

      编号:a.成功,退卡!

         b.提示成功!

         c.找零

         d.错误提示,然后退卡!

          说明:前两步是初步分析需求的过程

      3、在步骤1 的基础上,找到输入的限制关系和组合关系

        (1)限制关系:(哪些输入不能组合在一起)    

          ①输入(1)(2)不能组合

          ②输入(3)(4)不能组合

        (2)能组合(决定测试用例的数量)

          ①输入(1)(3)

          ②输入(1)(4)

          ③输入(2)(3)

          ④输入(2)(4)

          ⑤输入(1)单独

          ⑥输入(2)单独

          ⑦输入(3)单独

          ⑧输入(4)单独

      说明:先把输入的限制关系画出因果图

      4、在步骤2基础上,找出哪些输出不能组合,哪些可以组合

      (1)不能组合

        ①输出AD不能组合

        ②输出BD不能组合

      (2)能组合

        ①输出AB必须组合

        ②输出ABC可能组合

        ③输出CD可能组合

        ④输出D单独

     步骤3、4深入分析需求的过程

    画出输出的限制关系

      5、根据步骤3(2)和4(2),找出什么样的输入组合会产生什么样的输出组合

        情况1:

        输入(1)(3)组合

        会产生:    输出AB组合

    ================

        情况2:

        输入(1)(4)

        会产生:   输出CD组合

    =================

        情况3:

        输入(2)(3)

        会产生:   输出ABC组合

    =================

        情况4:

        输入(2)(4)

        会产生:输出AB组合

    ===================

        情况5:

        输入(1)单独

        会产生:输出CD组合

    ==============

        情况6:

        输入(2)单独

        会产生:输出CD组合

    ================

        情况7:

        输入(3)单独

        会产生:   输出D

    ================

        情况8:

        输入(4)单独

        会产生:输出D

      6、根据因果图,写出判定表

      7、根据判定表,写用例

        判定表的一列转换成一条用例

    五、因果图应用限制

    考虑控件的组合,但是每个控件的取值条件不宜过多,一般为2-3项,如:按钮、

    单选按钮、复选框、取值只有2-3项的下拉列表

    六、判定法小结

      条件桩:问题的所有条件

      动作桩:问题的所有输出

      条件项:针对条件桩的取值

      动作项:条件项的各种取值情况下的输出结果

    •    适合使用判定表设计测试用例的条件:
      • (1)规格说明很容易转换成判定表
      • (2)条件的排列顺序不影响执行哪些操作。
      • (3)规则的排列顺序不影响执行哪些操作。
      • (4)当一个规则的条件已经满足,并确定要执行操作后,不必检验别的规则。
      • (5)如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
  • 相关阅读:
    centos yum 安装php7.2
    Linux CentOS完全卸载PHP
    Linux: cp 复制文件、文件夹到文件夹
    CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站
    cin循环输入控制问题
    有序数组中的二分查找
    二叉查找树中元素的删除操作
    如何生成能在没有安装opencv库及vs2010环境的电脑上运行的exe文件
    冒泡排序算法,选择排序算法,插入排序算法
    使用迭代法穷举1到N位最大的数
  • 原文地址:https://www.cnblogs.com/eric88/p/10781132.html
Copyright © 2011-2022 走看看