【正确答案】
D
【答案解析】[要点解析] 在白盒测试用例设计中,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等常见的覆盖测试策略,这些策略的相关描述及发现错误的能力如表6-10所示。
[*]
条件覆盖测试策略的本质是:构造一组测试用例数据,使被测程序中每一个判定语句的每个逻辑条件的可能取值至少满足次,本试题程序段的程序流程图如图6-12所示。
[*]
对该程序段实施条件覆盖测试,可选择测试数据组Ⅰ(x=0,y=3),以同时满足判断条件(z=0)and(y>2)中x=0和y>2的取值条件:可选择测试数据组Ⅲ(x=-1,y=2),以满足判断条件(x<1)or(y=1)中x<1的取值条件;可选择测试数据组Ⅳ(x=3,y=1),以满足判断条件(x<1)or(y=1)中y=1的取值条件。因此本试题的正确答案是选项D。
对本试题程序段实施语句覆盖至少应采用的测试数据组是Ⅰ和Ⅱ组(即选项A);实现路径覆盖至少应采用的测试数据组是“Ⅰ、Ⅱ和Ⅲ组(即选项B”或“Ⅰ、Ⅱ和Ⅳ组(选项C)”。