51Testing软件测试论坛

标题: 对“合并简化判定表”的质疑 [打印本页]

作者: canzhu    时间: 2010-8-23 10:41
标题: 对“合并简化判定表”的质疑
在测试的教科书中可以看到判定表的应用,在作出判定表后,经常还要合并判定表,以简化之。  举例如下:
订购单的检查。如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。
将这段需求进行判定表分析,可以得到如下判定表。
              a        b        c           d
金额                    >500       >500       <=500       <=500
状态                   未过期       已过期        未过期       已过期
发出批准单                O                        O               O   
发出提货单                O                        O               O
发出通知单                                                              O
我们需要对其进行简化。如果表中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,我们就可以将其合并。比如表中,条件:>500、未过期;<=500、未过期。这两个条件项导致的结果是一样的,并且条件项之间很相似,我们就可以将它们合并。结果如下:
金额                                         >500            <=500
状态                   未过期              已过期         已过期
发出批准单                O                                    O   
发出提货单                O                                    O
发出通知单                                                         O
---------------------------------------------------------------------------------------
我的疑问是: 当我们测试人员将a,c 合并的时候, 恰恰忽略了一种可能, 那就是程序员可能正是用a,b,c,d,四种情况做判断条件而编写程序的,同时他的c情况的编程恰出了错。 而我们合并后用a的数据写出测试用例。 这样不是正好漏掉了测出bug的机会了吗?
望大家指点!



作者: lesterfisher    时间: 2010-8-27 09:34
的确是这样的,但是设计测试用例的时候,不能只采用一种方法或者思路。像这个例子,你已经知道了500是一个分界值。那么肯定还得按照边界值的思想,再次补充几个不同的输入。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2