第1题:
【问题5】 【C代码3】中x,y是两个已定义的整型变量。对该程序段进行覆盖测试时,必须适当地选取测试用例。如表5-10所示给出了可供选择的4组测试用例。若要实现语句覆盖,则至少应采用的测试用例是(2);若要实现条件覆盖,则至少应采用的测试用例是(3);若要实现路径覆盖,则至少应采用的测试用例是(4)或(5)。 【C代码3】 int a:=0; if (x==O && y>2) a:=1 /*A语句*/ else { if (x<1 || y==1) else a:=2 /*B语句*/ }
【(2)~(5)空缺处供选择的答案】 A.Ⅰ和Ⅱ组 B.Ⅱ和Ⅲ组
C.Ⅲ和Ⅳ组 D.Ⅰ和Ⅳ组
E.Ⅰ、Ⅱ和Ⅲ组 F.Ⅱ、Ⅲ和Ⅳ组G.Ⅰ、Ⅲ和Ⅳ组 H.Ⅰ、Ⅱ和Ⅳ组
第2题:
有一段程序如下,请设计测试用例以满足语句覆盖要求。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }
第3题:
● 给定C 语言程序:
int foo( int x, int y, int d)
{
if( x != 0 ) {
if ( y == 0 ) d = d / x;
else d = d / (x * y );
} else {
if( y == 0 ) d = 0;
else d = d / y;
}
return d ;
}
当用路径覆盖法进行测试时,至少需要设计 (31) 个测试用例。
(31)A. 3 B. 4 C. 5 D. 8
第4题:
针对下面的程序段,对于(MaxNum,Type)的取值,至少需要______个测试用例才能够满足判定覆盖的要求。
Whjle(MaxNum-->0)
{
If(10==Type)x=y * 2;
Else if(100==Type)x=y+20;
}
A) 5
B) 4
C) 3
D) 2
A.
B.
C.
D.
第5题:
采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3), ②(x=1,y=2), ③(x=-1,y=2),④(x=3,y=1)。至少需要测试用例①②才能完成( )覆盖,至少需要测试用例①②③或①②④才能完成( )覆盖。
A.语句 B.条件 C.判定\条件 D.路径 A.语句 B.条件 C.判定\条件 D.路径
第6题:
若采用白盒测试法对下面流程图所示算法进行测试,且要满足语句覆盖,则至少需要()个测试用例。
A.1
B.2
C.3
D.4
若表示输入和输出的测试用例格式为(A,B,X;X),则满足语句覆盖的测试用例是()。
A.(1,3,3;8)
B.(1,3,5;10)
C.(5,2,15;8)
D.(5,2,20;9)
请帮忙给出每个问题的正确答案和分析,谢谢!
第7题:
针对以下C语言程序段,对于(MaxNum,Type)的取值,至少需要(62)个测试用例能够满足判定覆盖的要求。while(MaxNum-->0){ if(10==Type) x=y* 2; else if(100==Type) x=y +10; else x=y-20;}
A.5
B.4
C.3
D.2
第8题:
给定C语言程序:
int foo(int x, int y,int d)
{
if ( x !=0 ) {
if ( y == 0 ) d = d / x;
else d=d/(x*y);
} else {
if ( y == 0 ) d = 0;
else d=d/y;
}
return d;
}
当用路径覆盖法进行测试时,至少需要设计(31)个测试用例。
A.3
B.4
C.5
D.8
第9题:
试题三(共 15分)
阅读以下关于嵌入式软件测试用例设计的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内。
【说明】
某程序段的流程如图 3-1所示,x、y是两个变量,K、J 表示一段程序执行体,表 3-1 所示为本题可供选择的四组测试用例组。
【问题1】(3分)
简答以下问题。
(1)条件覆盖的含义是什么?
(2)路径覆盖的含义是什么?
【问题 2】(2分)
在程序测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。其中,____是最强的覆盖准则。
请把以下 4个选项中正确的选项序号填入上述空白处。
①语句覆盖
②条件覆盖
③判定覆盖(分支覆盖)
④路径覆盖
【问题 3】(10 分)
为了对图 3-1 所示的程序段进行覆盖测试,必须适当地选取测试用例组。实现判定覆盖至少应采用的测试用例组是 (1)和 (2) ,实现条件覆盖至少应采用的测试用例组是 (3) ;实现路径覆盖至少应采用的测试用例组是 (4) 和 (5)。
请把以下 8个选项中正确的选项序号填入上述空白处。
① 试用例组Ⅰ和Ⅱ
②测试用例组Ⅱ和Ⅲ
③测试用例组Ⅲ和Ⅳ
④测试用例组Ⅰ和Ⅳ
⑤测试用例组Ⅰ、Ⅱ和Ⅲ
⑥测试用例组Ⅱ、Ⅲ和Ⅳ
⑦测试用例组Ⅰ、Ⅲ和Ⅳ
⑧测试用例组Ⅰ、Ⅱ和Ⅳ
试题三(共15分)
【问题1】(3分)
(1)条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
(2)路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。
【问题2】(2分)
(1)④(路径覆盖)
【问题3】 (10分)
(1)⑤
(2)⑧
(3)⑦
(4)⑤
(5)⑧
其中,第(1)、(2)题的答案顺序可互换,第(4)、(5)题的答案顺序可互换。
第10题:
● 针对以下 C 语言程序段,对于(MaxNum,Type)的取值,至少需要(62)个测试用例能够满足判定覆盖的要求。
while ( MaxNum-- > 0 )
{
if ( 10 == Type )
x = y * 2;
else
if ( 100 == Type )
x = y + 10;
else
x = y - 20;
}
(62)A.5 B. 4 C. 3 D. 2