请为下面的程序设计符合判定覆盖的测试用例。 int main(

题目

请为下面的程序设计符合判定覆盖的测试用例。 int main() { int a,b,c,x,y,z,t; scanf(“d%,d%,d%”,&a,&b,&c,&t); if a>5 && t<1 x=10 else x=1; if b>10 y=20 else y=2; if c>15 z=30 else z=3; printf(“d%,d%,d%/n”,x,y,z) }

参考答案和解析
正确答案: a>5,t=0
a<=5,t=0
b>10
b<=10
c>15
c<=15
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请根据如下程序流程图设计该程序段的判定覆盖测试用例,其中输入为A,B,X,输出为X。


参考答案:

第2题:

阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。

[说明]

逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主要方法之。以下代码由C浯言书写,请按要求回答问题。

void cal (int n)

{

int g, s, b, q;

if( (n>1000) && (n<2000) )

{

g=n % 10;

s=n % 100 / 10;

b=n / 100 % 10;

q= n / 1000;

if( (q+g) =={ s + b ) )

{

printf("%-5d",n);

}

}

printf("\n");

return;

}

请找出程序中所有的逻辑判断语句。

请分析并给出分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。

假设n的取值范围是0<n<3000,请用逻辑覆盖法为n的取值设计测试用例,使用例集满足基本路径覆盖标准。

请帮忙给出每个问题的正确答案和分析,谢谢!


问题 1 答案解析:逻辑判断语句: 1.n>1000 2.n2000 3.(q + g)=(s + b)
逻辑判断语句: 1.n>1000 2.n2000 3.(q + g)=(s + b)

问题 2 答案解析:按照DC和CC的定义分析逻辑条件。
按照DC和CC的定义分析逻辑条件。

问题 3 答案解析:可按以下步骤完成: 1.画控制流图。 2.计算V(G)=3。 3.找出线性独立路径。 4.按路径执行过程中的逻辑条件设计相应数据。
可按以下步骤完成: 1.画控制流图。 2.计算V(G)=3。 3.找出线性独立路径。 4.按路径执行过程中的逻辑条件设计相应数据。

第3题:

多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也是满足___(44)___级别的:针对布尔表达式

A&&(B||C) 执行逻辑覆盖测试,测试用例至少需要___(45)___种组合才能满足多条件覆盖的要求。

(44)A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖

B.判定覆盖、条件覆盖;条件判定组合覆盖、修正条件判定覆盖

C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖

D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖

(45)A.6 B.4 C.8 D.12


正确答案:A,C

第4题:

按要求给出下列程序的测试用例(要求写出必要的说明) (1)语句覆盖 (2)判定覆盖 (3)条件覆盖 (4)判定-条件覆盖


正确答案:
1、语句覆盖满足语句覆盖的情况是:执行路径:ace选择用例:[(2,0,4),(2,0,3)]2、判定覆盖覆盖情况:共有两个判定,应执行路径:ace∧abd或:acd∧abe选择用例[(2,0,4),(2,0,3)]ace[(1,1,1),(1,1,1)]abd3、条件覆盖应满足以下覆盖情况:判定一:A>1,A≤1,B=0,B≠0判定二:A=2,A≠2,X>1,X≤1选择用例:[(2,0,4),(2,0,3)][(1,1,1),(1,1,1)]4、判定/条件覆盖应满足以下覆盖情况:条件:A>1,A≤1,B=0,B≠0A=2,A≠2,X>1,X≤1应执行路径ace∧abd或acd∧abe选择用例:[(2,0,4),(2,0,3)](ace)[(1,1,1),(1,1,1)](abd)

第5题:

假设A、B为布尔变量,对于逻辑表达式(A &&B ||C),需要(47)测试用例才能完成判定覆盖(DC)。A

假设A、B为布尔变量,对于逻辑表达式(A &&B ||C),需要(47)测试用例才能完成判定覆盖(DC)。

A.2

B.3

C.4

D.5


正确答案:A
解析:判定覆盖(DC)?设计足够多的测试用例,使得程序中的每一个判定至少获得一次‘真’值和‘假’值,或者使得程序中的每一个取‘真’分支或取‘假’分支至少经历一次,因此又称分支覆盖如:A&&(B||C),A||(B||C)A=T,B=T,C=TA=F,B=F,C=F?可以满足语句覆盖?缺点:主要对整个表达式最终取值进行度量,忽略了表达式内部取值

第6题:

关于白盒法覆盖程度的论述中正确的是(6)。

A.语句覆盖:选择测试用例使程序中每条语句至多被执行一次

B.判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值

C.条件覆盖:选择测试用例使每个条件都满足

D.条件组合覆盖:将所有的判定条件都组合起来执行


正确答案:B
解析:白盒测试是结构测试,所以被测对象基本上是源程序,以程序内部逻辑为基础设计测试用例。使用白盒技术,要尽可能覆盖最多的路径,当程序内部存在判定时,就要考虑逻辑覆盖。1.语句覆盖:就是要设计足够多的测试用例(也就是输入的数据),使被测程序中每个语句至少执行一次。在这里,重点在于每个语句即每个语句都要被执行过。设计时要记住这一点。2.判定覆盖:指设计足够的测试用例,使得程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖又称为“分支覆盖”。3.条件覆盖:是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。4.条件组合覆盖:是指设计足够的测试用例,使得每个判定表达式中条件的各种或能的值的组合都至少出现一次。这就是前面两个覆盖的组合。

第7题:

请仔细阅读以下程序并完成要求。 If((a>2&&b<3)&&(c>4|| d<5)) { Flag=1; } Else { Flag=0; ) 请

请仔细阅读以下程序并完成要求。

If((a>2&&b<3)&&(c>4|| d<5))

{

Flag=1;

}

Else

{

Flag=0;

)

请分别按照语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖测试用例。


正确答案:语句覆盖是基本的覆盖只要能让flag=1和flag=0都被执行一次就达到了语句覆盖的标准。用例1和用例2一起即满足了语句覆盖标准的要求。 判定覆盖就是让程序的判定分别为真和假一次因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。 条件覆盖需要让所有判定条件取一次真和一次假.因此测试用例3和用例4一起让所有条件都取到了真和假满足条件判定覆盖要求。
语句覆盖是基本的覆盖,只要能让flag=1和flag=0都被执行一次就达到了语句覆盖的标准。用例1和用例2一起即满足了语句覆盖标准的要求。 判定覆盖就是让程序的判定分别为真和假一次,因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。 条件覆盖需要让所有判定条件取一次真和一次假.因此测试用例3和用例4一起让所有条件都取到了真和假,满足条件判定覆盖要求。

第8题:

( )是选择足够的测试用例,使得程序中每个判定的条件获得各种可能的结果。

A语句覆盖

B判定覆盖

C条件覆盖

D条件组合覆盖


正确答案:C

第9题:

有人认为控制流图的节点覆盖准则和边覆盖准则生成的测试用例完全相同,因此两个测 试准则是重复的。请判定以上描述是否正确,并给出相应的解释。


正确答案:
不正确,比如下图根据节点覆盖准则和边覆盖准则生成的测试用例就不相同节点覆盖:T={0,1,2},测试路径为[0,1,2]边覆盖:T={(0,1),(0,2),(1,2)},测试路径为[0,1,2][0,2]

第10题:

按要求给出下列程序的测试用例(要求写出必要的说明):

(1) 语句覆盖

(2) 判定覆盖

(3) 条件覆盖

(4) 判定-条件覆盖

(5) 条件组合覆盖


正确答案:
图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:A=2,B=0,x=42.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:A=2,B=0,x=4A=1,B=1,x=13.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:A=2,B=0,x=4A=1,B=1,x=14.判定/条件覆盖A=2,B=0,x=4A=1,B=1,x=15.可能的条件组合:(1)A>1,B=0(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1(6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1相应的输入数据:A=2,B=0,x=4满足(1)和(5)A=2,B=1,x=1满足(2)和(6)A=1,B=0,x=2满足(3)和(7)A=1,B=1,x=1满足(4)和(8)

更多相关问题