白盒测试方法习题及答案Word文档下载推荐.docx
《白盒测试方法习题及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《白盒测试方法习题及答案Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
D.效率分析
5.软件测试中常用的静态分析方法是引用分析和()。
D.接口分析
6.白盒方法中常用的方法是()方法。
A.路径测试
B.等价类
C.因果图
D.归纳测试
18.对下面的个人所得税程序中满足判定覆盖测试用例的是()
If(income<
800)taxrate=0;
elseif(income<
=1500)taxrate=0.05;
2000)taxrate=0.08;
elsetaxrate=0.1;
A.income=(799,1500,1999,2001)
B.income=(799,1501,2000,2000)
C.income=(800,1500,2000,2001)
D.income=(800,1499,2000,2001)
19.下列陈述中正确的是()
A.结构测试中不包括循环测试
B.猜测错误也是一种测试方法
C.如果能做到穷举测试,便可发现程序中的全部错误
D.语句覆盖达到100%,则分支(判定)覆盖也应达到100%
20.在下列逻辑覆盖测试法中,覆盖程度最高的是()。
A.语句覆盖
B.判定覆盖
C.路径覆盖
D.条件组合覆盖
C
21.在下列逻辑覆盖测试法中,覆盖程度最低的是()。
A.判定覆盖
B.条件覆盖
C.语句覆盖
D.路径覆盖
22.以下四种逻辑覆盖中,发现错误能力最强的是( )
A.语句覆盖
B.条件覆盖
C.判定覆盖
B
[04]白盒测试方法/[0402]基本路径法
23.路径测试是整个结构测试的重要组成部分,但在研究路经测试时,通常又是使用程序控制流图来代替()
A.程序框图
B.结构图
C.数据流图
D.程序流程图
1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。
5、根据覆盖目标的不同,逻辑覆盖又可分为:
________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。
语句覆盖,判定覆盖,条件覆盖,路径覆盖
9、白盒测试又称为______________,可以分为______________和______________两大类。
结构测试,静态测试,动态测试
16、代码复审属于____________,不实际运行程序。
静态测试
1.下列哪一项不是白盒测试?
(C)
A.单元测试B.集成测试C.系统测试D.回归测试
6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。
(B)
A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖
9.关于白盒测试与黑盒测试的最主要区别,正确的是___________。
(A)
A.白盒测试侧重于程序结构,黑盒测试侧重于功能
B.白盒测试可以使用测试工具,黑盒测试不能使用工具
C.白盒测试需要程序参与,黑盒测试不需要
D.黑盒测试比白盒测试应用更广泛
12.在下面所列举中的逻辑测试覆盖中,测试覆盖最强的是__________。
A.条件覆盖 B.条件组合覆盖
C.语句覆盖 D.判定覆盖
13.在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是__________。
A.条件覆盖 B.条件组合覆盖
C.语句覆盖 D.判定覆盖
30.代码检查法有桌面检查法,走查和__________。
A.静态测试B.代码审查
C.动态测试
D.白盒测试
1.计算环路复杂度方法有哪三种?
答:
(1)V(G)=判定节点数+1;
(2)V(G)=E-N+2;
(3)V(G)=区域数+1
2.白盒测试有几种方法?
白盒测试方法分为两大类:
静态测试方法和动态测试方法。
静态测试方法:
检查软件的表示和描述是否一致,没有冲突或者没有歧义。
动态测试方法:
语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
4.比较白盒测试和黑盒测试?
使用白盒测试方法时,测试根据程序的内部逻辑和指定的覆盖标准;
黑盒测试法是通过分析程序的接口功能设计测试用例的。
5.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。
inttest(intA,intB)
{
if((A>
1)AND(B<
10))then
X=A-B;
if((A=2)OR(B>
20))then
X=A+B;
returnx;
}
语句覆盖测试用例:
A=2,B=0;
判定覆盖测试用例:
A=3,B=0;
A=2,B=20;
条件覆盖测试用例:
A=0,B=21;
6.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。
voidDoWork(intx,inty,intz)
intk=0,j=0;
if((x>
3)&
&
(z<
10))
{k=x*y-1;
j=sqrt(k);
}//语句块1
if((x==4)||(y>
5))
{j=x*y+10;
}//语句块2
j=j%3;
//语句块3
x=4、y=5、z=5;
:
x=2、y=5、z=5;
条件覆盖测试用例:
x=4、y=6、z=5;
x=2、y=5、z=15;
8.看代码程序:
voidSort(intiRecordNum,intiType)
1{
2intx=0;
3inty=0;
4while(iRecordNum>
0)
5{
6If(iType==0)
7x=y+2;
8else
9If(iType==1)
10x=y+10;
11else
12x=y+20;
13}
14}
要求
(1)给以上代码画出控制流图
(2)控制流图的环复杂度V(G),写出独立路径。
(1)控制流图:
(2)V(G)=4
路径1:
4→14
路径2:
4→6→7→13→4→14
路径3:
4→6→9→10→13→4→14
路径4:
4→6→9→12→13→4→14
1.如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。
(20分)(每空
答案:
覆盖种类
需满足的条件
测试数据
期望结果
判定覆盖
A>
1,B=0
A=2,B=0
执行S1
1,B≠0或
A≤1,B=0或
A≤1,B≠0
A=2,B=1或
A=1,B=0或
A=1,B=1
执行S2
条件覆盖
以下四种情况各出现一次
B=0
A=2,B=0
A≤1
B≠0
A=1,B=1
条件组合
覆盖
1,B≠0
A=2,B=1
A≤1,B=0
A=1,B=0
3.设一个控制流图如下,请给出环形复杂度和基本测试路径。
(20分)
(1)根据程序环形复杂度的计算公式,求出程序路径集合中的独立路径数目。
公式1:
V(G)=11-9+2,其中10是控制流图G中边的数量,8是控制流图中节点的数目。
公式2:
V(G)=3+1,其中3是控制流图G中判断节点的数目。
公式3:
V(G)=4,其中4是控制流图G中区域的数目。
因此,控制流图G的环形复杂度是4。
(2)根据上面环形复杂度的计算结果,源程序的基本路径集合中有4条独立路径:
路径1:
5->
22
路径2:
7,8->
11,12->
21->
路径3:
16->
17->
19->
18->
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图,编号已经给出。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
voidDo(intX,intA,intB)
{
1if((A>
1)&
(B=0))
2X=X/A;
3if((A=2)||(X>
1))
4X=X+1;
5}
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1:
A>
1;
2:
B=0;
3:
X=X/A;
4:
A=2;
5:
X>
1;
6:
X=X+1;
7:
}
1、画出控制流图:
如右图所示
计算环形复杂度:
10(条边)-7(个节点)+2=5
导出独立路径(用语句编号表示)
1→2→3→4→5→6→7
1→4→5→6→7
1→2→4→6→7
路径4:
1→2→4→5→7
路径5:
1→2→3→4→5→7
测试用例
用例号
路径
输入数据
ABX
预期输出
X
TC1
306
3
TC2
013
4
TC3
211
2
TC4
310
TC5
303