您的位置:首页 > 其它

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

2010-04-01 19:54 295 查看

判定表法

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

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

需求分析,分析出条件和结果之间的各种组合

将条件和结果分别填入判定表

讲条件和结果进行二进制排列

针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。在合并判定表时,如果条件之中只有一个不同,则可以合并。如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。

每一列生成一个测试用例

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

12345678
条件疲倦?00001111
感兴趣?00110011
糊涂吗?01010101
结果重读11
继续11
跳到下一章11
继续阅读11
使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。而其无效用例不易发现,更不能覆盖条件之间的先后关系。因此,在一定情况下,使用判定表还需要因果图的帮忙。

因果图

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

使用因果图的方法:

分析输入输出并进行标识

分析输入和输入、输入和输出之间的关系

将得到的关系使用因果图的方法表示出来

根据因果图得到判定表

依据判定表生成测试用例

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

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

分析:

选择橙汁和啤酒是同一类型,可以进行归类

选择5角和1元看似是同一类,但是他们所触发的操作是不同的,不能归类

橙汁和啤酒、5角和1元是相异的关系

分析不同的组合并得到最终结果



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

总结:因果图的使用和分析比较复杂,使用因果图可能会消耗很多的时间,因此正确的策略是先考虑其他的测试用例设计方法,最后再使用因果如,可以尽量的减少工作的时间并提高效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: