zoukankan      html  css  js  c++  java
  • 16 用例设计方法-判定表

    判定表

    定义

    是一种分析和表述工具,被测对象针对若干输入作出相应的反应;在遇到复杂业务逻辑时,判定表可以帮助理清业务逻辑

    “输入”,不一定就是具体的输入动作,也可以是可变更的条件

    重要概念:

         条件 条件桩: 需求规格说明书定义的所有输入
           条件项: 条件桩所有输入数据的真假值
        动作 动作桩: 针对条件,被测对象可能采取的所有操作
           动作项: 针对动作桩,被测对象可能的响应值
        规则 : 动作项和条件项组合在一起,形成的所有业务逻辑规则

    判定表应用步骤

    1. 理解需求,确定条件桩,动作桩
      • 列条件桩、动作桩时,把所有可判断的对象都列出来,避免遗漏(无用之后再删减);
    2.  优化设计判定表:根据业务逻辑优化;说的比较模糊,理解不透彻
    3. 填写动作项:以上的例子中,填写的是是各个条件桩组合起来对应的动作桩的动作项,也即是0、1结果
    4. 根据判定表的输出结果,合并判定表/简化判定表(非必须)
      • 简化原则:如果输出相同,在其对应的输入中,有且只有一个条件的取值对动作不产生影响,则可合并(为啥?是不是我写错了?)
    5. 抽取测试用例:

     实例1:

      结合以下例子,理解以上概念:

         

    注释:如果使用等价类分析,无法测试到“可以主被叫”的情况;

    等价类只会对“有效等价类”做组合,不会对“无效等价类”做组合,所以不会出现“未欠费、未停机”的“可以主被叫”的情况。

    实例 2 

    需求:

      订购单的检查:如果金额 > 500, 又未过期,发批准单和提货单

        如果金额 > 500, 但过期了,则不发批准单

        如果金额 < 500,不论是否过期,都发批准单和提货单,在过期的情况下,还需要发出通知单。

      
      解释:如上情况比较简单,所以即使没有判定表也是可以(将条件清晰的罗列出来,逐个条件设计测试用例。)但是在复杂情况,判定表会发挥其作用。

       

     注释:以上 是 2、4, 不是3、4;2、4 符合合并原则,输出相同;3、4的输出不同;

  • 相关阅读:
    给读者、学生、初学者的话(不管你买哪一本计算机书,都适用)
    [回忆]我是怎么落进「写程序」这个大火坑的?
    CF1093E [Intersection of Permutations]
    CF712E [Memort and Casinos]
    CF1093G [Multidimensional Queries]
    FFT与一些冷门问题
    平面图转对偶图&19_03_21校内训练 [Everfeel]
    19_03_26校内训练[魔法卡片]
    洛谷 P4515 [COCI20092010#6] XOR
    NTT模板(无讲解)
  • 原文地址:https://www.cnblogs.com/George19950505/p/12247045.html
Copyright © 2011-2022 走看看