白盒测试练习及答案.docx
- 文档编号:5240065
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:10
- 大小:86.06KB
白盒测试练习及答案.docx
《白盒测试练习及答案.docx》由会员分享,可在线阅读,更多相关《白盒测试练习及答案.docx(10页珍藏版)》请在冰豆网上搜索。
白盒测试练习及答案
1、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中(A)
是最强的覆盖准则。
为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。
若x,y是两个变量,可供选择的测试用例组共有I、□、川、W四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是(B)或(C);实现条件覆盖至少应采取的测试
用例组是(D
E)或(
F)。
T
B
;实现路径覆盖至少应采取的测试用例组是(
(x=0)and(y>2)
F
(7=11
藍
y
側试用例爼]
0
3
测朗卿II
1
2
測试用例组IU
-1
2
测试用例廻珂
3
:
A
②
条件覆盖
③判定覆盖
④路径覆盖
B〜F:
②
n和川组
③川和w组
④
I和w组
⑥n、
川、w组⑦
I、
川、w组
解答:
A.④B.
⑤
C.
⑧D.
④E.⑤
F.
⑧
供选择的答案
2•阅读下面这段程序,使用逻辑覆盖法进行测试,入值可以达到条件覆盖。
(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)
C.(a,b,c)=(6,8,-2)、(1,5,4)
请问哪一组关于(
B.(a,b,c)=(2,5,8)、D.(a,b,c)=(4,9,-2)、
a,b,c)的输
(-4,-9,-5)
(-4,8,3)
3.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输
入值可以达到判定覆盖。
(D)
intfunc(inta,b,c)
k=k+a;
B.(a,b,c)=(2,5,8)、(-4,-9,-5)
D.(a,b,c)=(4,-9,-2)、(-4,8,3)
{intk=1;
if((a>0)&&(b<0)&&(a+c>0))elsek=k+b;
if(c>0)k=k+c;
returnk;
}
A.(a,b,c)=(3,6,1)、(-4,-5,7)
C.(a,b,c)=(6,8,-2)、(1,5,4)
4.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(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)
5、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
intGetMax(intn,intdatalist[])
{
intk=0;
for(intj=1;j if(datalist[j]>datalist[k])k=j;returnk; } (1)画出该程序的控制流图,并计算其McCabe环路复杂性。 (2)用基本路径覆盖法给出测试路径。 (3)为各测试路径设计测试用例。 答: 1intk=0; 2intj=1; 3while(j 4{ 5if(datalist[j]>datalist[k]) 6k=j; 7j++; 8} returnk; 控制流图如上,McCabe环路复杂性为3 2.测试路径: Path1: 2~3t9 Path2: 2乍3t5t6t7t8t3t9 Path3: 2t3t5t7t8t3t9 3.测试用例: Pathl: 取n=1,datalist[O]=1,预期结果: k=0 Path2: 取n=2,datalist[0]=1,datalist[1]=0, 预期结果: k=0 Path3: 取n=2,datalist[0]=0,datalist[1]=1, 预期结果: k=1 6、下面是选择排序的程序,其中datalist是数据表,它有两个数据成员: 一是元素类型为 Element的数组V,另一个是数组大小n。 算法中用到两个操作,一是取某数组元素V[i]的关 键码操作getKey(),一是交换两数组元素内容的操作Swap(): list.V[0]到list.V[n-1]进行排序,n是表当前长度。 -1;i++){ //在list.V[i].key至Ulist.V[n-1].key中找具有最小关键码的对 象 () (1)试计算此程序段的McCabe复杂性; (2)用基本路径覆盖法给出测试路径; (3)为各测试路径设计测试用例。 解答: (1) inti=0; while(i {intk=i; intj=i+1; while(j {if(list.V[j].getKey() j++; } if(k! =i) Swap(list.V[i],list.V[k]); i++; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 13 McCabe环路复杂性=5 j-j+L;*——►3-L+I; ⑵独立路径有5条: Pathl: 1—2—14 Path2: 1—2—3—5—10—11—12—13—2—14 Path3: 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, 预期结果: 路径⑤⑨③不可达路径①②④⑥⑤⑧③: 预期结果: k= =1,V[0]= =1,V[1]=2 预期结果: k= =1, 路径⑨③不可达 预期结果: k= =0, 路径⑧③不可达 预期结果: k= =0,V[0]= =1,V[1]=2 取n=2,V[0]=2,V[1]=1, 路径①②④⑥⑤⑨③: 取n=2,V[0]=2,V[1]=1, 路径①②④⑦⑤⑧③: 取n=2,V[0]=1,V[1]=2, 路径①②④⑦⑤⑨③: 取n=2,V[0]=1,V[1]=2, 7、下面是快速排序算法中的一趟划分算法,其中datalist是数据表,它有两个数据成员: - 是元素类型为Element的数组V,另一个是数组大小n。 算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap(): alist&list,intlow,inthigh){ [low,high]以第一个对象为基准进行一次划分,k返回基准对象回放位置。 k=low;Elementpivot=list.V[low]; (1)试画出它的程序流程图; (2)试利用路径覆盖方法为它设计足够的测试用例(循环次数限定为0次,1次和2次)。 解答: (1)流程图如下。 (2)测试用例设计 8、下面是一段插入排序的程序,将R[k+1]插入到R[1…k]的适当位置。 R[0]=R[k+1]; j=k; while(R[j]>R[0]) { R[j+1]=R[j]; j--; } R[j+1]=R[0]; 用路径覆盖方法为它设计足够的测试用例(while循环次数为0、1、2次)。 答: 画出该程序的流程图: 测试用例设计: 循环次数 输入数据 覆盖路径 k R[1] R[2] R[0] 路径二 0 1 1 2 ①③「 1 1 2 1 ①②③二 2 2 2 3 1 ①②②③二
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测试 练习 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)