条件测试

条件测试,条件测试指的是设计若干测试用例执行不同条件的结果;条件覆盖指的是执行测试套件能够覆盖到原子条件的百分比,即被执行的原子条件和总的原子条件的比值,100%的条件覆盖要求测试覆盖到每一个原子条件语句分别取值为真和假的情况。需要注意的是条件覆盖并不比判定覆盖更强。
条件测试
继续以图所示的控制流图为例,分析如何达到100%条件覆盖要求。首先,源程序有两个判定。假定第1个判定(a > 0 && b > 0)取真用T1表示,取假用F1表示;第2个判定(a > 1 || c > 1)取真用T2表示,取假用F2表示。即黑体的T和F分别表示判定的真假。对于判定中的原子条件,用正常的T和F来表示,对应关系如下表所示。
条件测试

根据表中原子条件和表示符号之间的对应关系,以及源代码中的具体语句,可以得到原子条件的所有组合及满足条件的具体取值,如下表所示(其中不符合逻辑的以删除线表示)。
条件测试

如果测试对象需要满足100%的条件覆盖,那么根据条件覆盖的定义需要将判定中的每个原子取值分别至少取真和取假一次。下表所示为满足100%条件覆盖的两个测试用例。
条件测试

尽管上面选择的两个测试用例既满足了100%的条件覆盖,也满足了100%的判定覆盖,但是我们并不能说条件覆盖能够保证100%的判定覆盖。下表所示为满足100%的条件覆盖的另外两个测试用例。
条件测试

测试用例3和4满足了100%条件覆盖的定义(即每个原子取值至少取真和取假一次),但是满足的判定是T1T2和F1T2,并不能满足100%判定覆盖的要求(因为判定中并没有覆盖F2)。所以条件覆盖并不一定比判定覆盖更强,因此在实际的测试过程中测试人员需要对此引起注意;同样条件覆盖也可能无法发现测试对象中的逻辑错误。

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!