白盒测试练习及答案Word格式.doc
- 文档编号:14340466
- 上传时间:2022-10-22
- 格式:DOC
- 页数:8
- 大小:751.75KB
白盒测试练习及答案Word格式.doc
《白盒测试练习及答案Word格式.doc》由会员分享,可在线阅读,更多相关《白盒测试练习及答案Word格式.doc(8页珍藏版)》请在冰豆网上搜索。
④路径覆盖
B~F:
①Ⅰ和Ⅱ组
②Ⅱ和Ⅲ组
③Ⅲ和Ⅳ组
④Ⅰ和Ⅳ组
⑤Ⅰ、Ⅱ、Ⅲ组
⑥Ⅱ、Ⅲ、Ⅳ组
⑦Ⅰ、Ⅲ、Ⅳ组
⑧Ⅰ、Ⅱ、Ⅳ组
解答:
A.④B.⑤C.⑧D.④E.⑤F.⑧
2.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到条件覆盖。
(B)
intfunc(inta,b,c)
{ intk=1;
if((a>
0)||(b<
0)||(a+c>
0))k=k+a;
elsek=k+b;
if(c>
0)k=k+c;
returnk;
}
A.(a,b,c)=(3,6,1)、(-4,-5,7) B.(a,b,c)=(2,5,8)、(-4,-9,-5)
C.(a,b,c)=(6,8,-2)、(1,5,4) D.(a,b,c)=(4,9,-2)、(-4,8,3)
3.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到判定覆盖。
(D)
0)&
&
(b<
(a+c>
A.(a,b,c)=(3,6,1)、(-4,-5,7) B.(a,b,c)=(2,5,8)、(-4,-9,-5)
C.(a,b,c)=(6,8,-2)、(1,5,4) D.(a,b,c)=(4,-9,-2)、(-4,8,3)
4.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到判定条件覆盖。
(B)
A.(a,b,c)=(3,6,1)、(-4,-5,7) B.(a,b,c)=(2,-5,8)、(-4,9,-5)
C.(a,b,c)=(6,8,-2)、(1,5,4) D.(a,b,c)=(4,9,-2)、(-4,8,3)
5、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
intGetMax(intn,intdatalist[])
{
intk=0;
for(intj=1;
j<
n;
j++)
if(datalist[j]>
datalist[k])k=j;
returnk;
}
(1)画出该程序的控制流图,并计算其McCabe环路复杂性。
(2)用基本路径覆盖法给出测试路径。
(3)为各测试路径设计测试用例。
答:
1intk=0;
2intj=1;
3while(j<
n)
4{
5if(datalist[j]>
datalist[k])
6k=j;
7j++;
8}
9returnk;
控制流图如上,McCabe环路复杂性为3。
2.测试路径:
Path1:
2→3→9
Path2:
2→3→5→6→7→8→3→9
Path3:
2→3→5→7→8→3→9
3.测试用例:
取n=1,datalist[0]=1,
预期结果:
k=0
取n=2,datalist[0]=1,datalist[1]=0,
取n=2,datalist[0]=0,datalist[1]=1,
k=1
6、下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:
一是元素类型为Element的数组V,另一个是数组大小n。
算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap():
voidSelectSort(datalist&
list){
//对表list.V[0]到list.V[n-1]进行排序,
n是表当前长度。
for(inti=0;
i<
list.n-1;
i++){
intk=i;
//在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象
for(intj=i+1;
j<
list.n;
j++)
if(list.V[j].getKey()<
list.V[k].getKey())k=j;
//当前具最小关键码的对象
if(k!
=i)Swap(list.V[i],list.V[k]);
//交换
}
}
(1)试计算此程序段的McCabe复杂性;
(2)用基本路径覆盖法给出测试路径;
(3)为各测试路径设计测试用例。
(1)
1inti=0;
2while(i<
list.n-1)
3{intk=i;
4intj=i+1;
5while(j<
list.n)
6{if(list.V[j].getKey()<
list.V[k].getKey())
7k=j;
8j++;
9}
10if(k!
=i)
11Swap(list.V[i],list.V[k]);
12i++;
13}
14
1
214
3
5
6
7
8
9
10
11
12
13
McCabe环路复杂性=5
(2)独立路径有5条:
Path1:
1→2→14
1→2→3→5→10→11→12→13→2→14
1→2→3→5→10→12→13→2→14
Path4:
1→2→3→5→6→7→8→9→5→10→11→12→13→2→14
Path5:
1→2→3→5→6→8→9→5→10→11→12→13→2→14
①③
①②⑤⑧……
①②⑤⑨……
①②④⑥……
①②④⑦……
(3)为各测试路径设计测试用例:
Path1:
取n=1
路径①②⑤⑧……:
取n=2,
预期结果:
路径⑤⑧③不可达
路径①②⑤⑨……:
路径⑤⑨③不可达
路径①②④⑥⑤⑧③:
取n=2,V[0]=2,V[1]=1,预期结果:
k=1,V[0]=1,V[1]=2
路径①②④⑥⑤⑨③:
k=1,路径⑨③不可达
路径①②④⑦⑤⑧③:
取n=2,V[0]=1,V[1]=2,预期结果:
k=0,路径⑧③不可达
路径①②④⑦⑤⑨③:
k=0,V[0]=1,V[1]=2
7、下面是快速排序算法中的一趟划分算法,其中datalist是数据表,它有两个数据成员:
intPartition(datalist&
list,intlow,inthigh){
//在区间[low,high]以第一个对象为基准进行一次划分,k返回基准对象回放位置。
int
k=low;
Elementpivot=list.V[low];
//基准对象
for(inti=low+1;
=high;
i++)//检测整个序列,进行划分
if(list.V[i].getKey()<
pivot.getKey()&
++k!
=i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测试 练习 答案