答案:A D
知识点
定义 | 特点 | |
语句覆盖 | 被测试程序中的每条语句至少测试一次 | 对执行逻辑覆盖很低,一般认为是很弱的逻辑覆盖 |
判定覆盖 | 被测试程序每个判定表达式至少落得一次“真”值和“假值” | 判定覆盖比语句覆盖更强一些。判定可以是一个条件或多个条件的组合 |
条件覆盖 | 每一个判定语句中每个逻辑条件的各种可能的值至少满足一次 | 条件覆盖和判断覆盖没有包含关系 |
判断/条件覆盖 | 判定中每个条件的所有可能取值至少出现一次,并使每个判定本身的判定结果(真/假)也至少出现一次 | 同时满足判定覆盖和条件覆盖 |
条件组合覆盖 | 每个判定中的各种更可能值的组合都至少出现一次 | 同时满足判定覆盖,条件覆盖,判定/条件覆盖 |
路径覆盖 | 覆盖被测试程序中所有可能的路径 | 无 |
根据题意编码如下
#include<stdio.h>
int main()
{
int x,y;
puts("请输入x的值:");
scanf("%d",&x);
puts("请输入y的值");
scanf("%d",&y);
if(x==0 && y>2)
{
printf("语句A\n");
}
else
{
if(x<1 || y==1)
{
puts("Y");
}
else
{
printf("语句B");
}
}
}
解析:语句1和语句2把两个判断分支语句执行了,因此是语句覆盖
语句1,语句2,语句3把所有路径都覆盖了