问题 单项选择题

某C语言子程序如下。

其中x,y是两个已定义的整型变量。表2-4给出了可供选择的4组测试数据组,则实现条件覆盖至少应采用的测试数据组是()。

表2-4 测试数据组表

A.Ⅰ和Ⅱ组

B.Ⅰ、Ⅱ和Ⅲ组

C.Ⅰ、Ⅱ和Ⅳ组

D.Ⅰ、Ⅲ和Ⅳ组

答案

参考答案:D

解析:

[要点解析] 在白盒测试用例设计中,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖及路径覆盖等常见的覆盖测试策略,这些策略的相关描述及发现错误的能力如表2-11所示。

 

条件覆盖测试策略的本质是:构造一组测试用例数据,使被测程序中每一个判定语句的每个逻辑条件的可能取值至少满足1次。本试题程序段的程序流程图如图2-14所示。

对该程序段实施条件覆盖测试,可选择测试数据组I(x=0, y=3),以同时满足判断条件(x=O)and(y>2)中x=O和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)”。

单项选择题 A1型题
问答题 简答题