测试用例设计方法2-因果图判定表

来源:互联网 发布:供给侧结构性改革知乎 编辑:程序博客网 时间:2024/04/29 11:09

判定表法

    判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。

    使用判定表的一般思路是:

  1. 需求分析,分析出条件和结果之间的各种组合
  2. 将条件和结果分别填入判定表
  3. 讲条件和结果进行二进制排列
  4. 针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。在合并判定表时,如果条件之中只有一个不同,则可以合并。如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。
  5. 每一列生成一个测试用例

以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合得到不同的结果。

  12345678条件疲倦?00001111 感兴趣?00110011 糊涂吗?01010101结果重读11       继续  1   1  跳到下一章   1   1 继续阅读    11  

使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。而其无效用例不易发现,更不能覆盖条件之间的先后关系。因此,在一定情况下,使用判定表还需要因果图的帮忙。


因果图

    因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。因果图与判定表往往结合使用,使用因果图可以得到判定表。

使用因果图的方法:

  1. 分析输入输出并进行标识
  2. 分析输入和输入、输入和输出之间的关系
  3. 将得到的关系使用因果图的方法表示出来
  4. 根据因果图得到判定表
  5. 依据判定表生成测试用例   

这里分析一个自动售货机的因果图分析方法:

条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。如果有零钱,则出饮料并找5角钱。

分析:

  1. 选择橙汁和啤酒是同一类型,可以进行归类
  2. 选择5角和1元看似是同一类,但是他们所触发的操作是不同的,不能归类
  3. 橙汁和啤酒、5角和1元是相异的关系
  4. 分析不同的组合并得到最终结果

 

得到上面的因果图后,就可以轻松的设计判定表并生成测试用例。

总结:因果图的使用和分析比较复杂,使用因果图可能会消耗很多的时间,因此正确的策略是先考虑其他的测试用例设计方法,最后再使用因果如,可以尽量的减少工作的时间并提高效率。

原创粉丝点击