测试用例(因果图法)

一、应用场合

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

  (控件组合)

二、核心概念

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)如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
posted @ 2019-04-29 21:18  蛇夫座  阅读(1921)  评论(0编辑  收藏  举报