白盒测试练习及答案.docx

上传人:b****4 文档编号:5240065 上传时间:2022-12-14 格式:DOCX 页数:10 大小:86.06KB
下载 相关 举报
白盒测试练习及答案.docx_第1页
第1页 / 共10页
白盒测试练习及答案.docx_第2页
第2页 / 共10页
白盒测试练习及答案.docx_第3页
第3页 / 共10页
白盒测试练习及答案.docx_第4页
第4页 / 共10页
白盒测试练习及答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

白盒测试练习及答案.docx

《白盒测试练习及答案.docx》由会员分享,可在线阅读,更多相关《白盒测试练习及答案.docx(10页珍藏版)》请在冰豆网上搜索。

白盒测试练习及答案.docx

白盒测试练习及答案

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

①②②③二

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1