资源描述:
《白盒测试练习及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中( A )是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x,y是两个变量,可供选择的测试用例组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是( B )或( C );实现条件覆盖至少应采取的测试用例组是( D );实现路径覆盖至少应采取的测试用例组是( E )或( F )。供选择的答案A:①语句覆盖 ②条件覆盖 ③判定覆盖 ④路径覆盖B~F:①Ⅰ和Ⅱ组 ②Ⅱ和Ⅲ组 ③Ⅲ和Ⅳ组 ④Ⅰ和Ⅳ组⑤Ⅰ、Ⅱ、Ⅲ组 ⑥Ⅱ、Ⅲ
2、、Ⅳ组 ⑦Ⅰ、Ⅲ、Ⅳ组⑧Ⅰ、Ⅱ、Ⅳ组解答:A.④B.⑤C.⑧D.④E.⑤F.⑧2.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到条件覆盖。(B)intfunc(inta,b,c){intk=1;if((a>0)
3、
4、(b<0)
5、
6、(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
7、.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到判定覆盖。(D)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)4.阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到
8、判定条件覆盖。(B)intfunc(inta,b,c){intk=1;if((a>0)
9、
10、(b<0)
11、
12、(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(int
13、j=1;jdatalist[k])k=j;returnk;}(1)画出该程序的控制流图,并计算其McCabe环路复杂性。(2)用基本路径覆盖法给出测试路径。(3)为各测试路径设计测试用例。答:1intk=0;2intj=1;3while(jdatalist[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
14、→8→3→9 3.测试用例: Path1:取n=1,datalist[0]=1, 预期结果:k=0 Path2:取n=2,datalist[0]=1,datalist[1]=0, 预期结果:k=0 Path3:取n=2,datalist[0]=0,datalist[1]=1, 预期结果:k=16、下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素
15、V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap():voidSelectSort(datalist&list){//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。for(inti=0;i