A-A+

设有一段程序如下: if((a==b) and ((c==d) or (e==f))) do

2022-08-05 23:03:34 问答库 阅读 173 次

问题详情

设有一段程序如下:
if((a==b) and ((c==d) or (e==f))) do S1
else if((p==q) or (s==t))do S2
else do S3
满足判定/条件覆盖的要求下,最少的测试用例数目是______。
A) 6
B) 8
C) 3
D) 4
请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:判定/条件覆盖,就是设计足够的测试用例,使得判定语句中每个条件的所有可能取值至少评价一次,同时每个判定语句本身所有可能分支也至少评价一次。
本程序一共有两个判定语句,三条路径。
若以1代表某一个条件为真,0代表为假,则对于(a==b)、(c=d)、(e==f)、(p==q)、(s==t)这5个条件,取不同的真值组合,即可设计出相应的测试用例,达到判定/条件覆盖的要求。在这里,先取(a==b)、(c==d)、(e==f)为101,(p==q)、(s==t)为任意值,然后取全部5个条件为010 11和010 00,即能达到判定/条件覆盖的要求。

考点:程序