标题: 修正条件判定覆盖疑问 [打印本页] 作者: 凡竹 时间: 2009-7-28 11:06 标题: 修正条件判定覆盖疑问 网上找到的一个例子:
if A and (B or C) then... else...
这条语句,A and (B or C)是一个判定,A,B,C均为条件,使用MC/DC方法找出分别对应此3个条件的测试集中有4组元素为:{TTF,TFF,TFT,FFT}.
[attach]54473[/attach]
方法如下:
测试元素均从表1中选取,保持A和B的值不变测试元素TFF和TFT可以改变C条件的值和整个表达式的结果(F变成了T);
而保持A和C的值不变测试元素TTF和TFT(TFF)可以改变B条件的值和整个表达式的执行结果(T变成了F);
而当保持B和C的值不变测试元素TFT和FFT可以改变A条件的值和整个表达式的执行结果(T变成了F).
这个测试集完全满足MC/DC的要求即当锁定其它的条件保持不变,而改变判定中一项条件的值,必然引起整个表达式执行的变化.