白盒测试方法习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[试题分类]: [04]白盒测试方法/[0400][综合]白盒测试方法
1. 下面不属于白盒测试能保证的是。

A.模块中所有独立途径至少测试一次
B.测试所以逻辑决策真和假两个方面
C.在所有循环的边界内部和边界上执行循环体
D.不正确或漏掉的功能
答案:D
分数:1
题型:单选题
难度:1
2.因果图方法是根据()之间的因果关系来设计测试用例的。

A.输入与输出
B.设计与实现
C.条件与结果
D.主程序与子程序
答案:A
分数:1
题型:单选题
难度:1
3.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。

A.程序的内部逻辑
B.程序的复杂程度
C.使用说明书
D.程序的功能
答案:A
分数:1
题型:单选题
难度:1
4.软件测试中常用的静态分析方法是()和接口分析。

A.引用分析
B.算法分析
C.可靠性分析
D.效率分析
答案:A
分数:1
题型:单选题
难度:1
5.软件测试中常用的静态分析方法是引用分析和()。

A.引用分析
B.算法分析
C.可靠性分析
D.接口分析
答案:D
分数:1
题型:单选题
难度:1
6.白盒方法中常用的方法是()方法。

A.路径测试
B.等价类
C.因果图
D.归纳测试
答案:A
分数:1
题型:单选题
7.在软件工程中,白箱测试法可用于测试程序的内部结构。

此方法将程序看作是()
A.路径的集合
B.循环的集合
C.目标的集合
D.地址的集合
答案:A
分数:1
题型:单选题
难度:1
8.软件测试白箱测试是对软件的结构进行测试,下述:
Ⅰ.边缘值分析Ⅱ.语句测试
Ⅲ.分值测试Ⅳ.路经测试
()是其应包括的内容。

A.Ⅰ
B.Ⅱ和Ⅲ
C.Ⅲ和Ⅳ
D.Ⅱ.Ⅲ和Ⅳ
答案:D
分数:1
题型:单选题
难度:1
9.在进行单元测试时,常用的方法是()。

A.采用白盒测试,辅之以黑盒测试
B.采用黑盒测试,辅之以白盒测试
C.只适用白盒测试
D.只适用黑盒测试
答案:A
分数:1
题型:单选题
难度:1
10.白盒测试法一般使用于()测试。

A.单元
B.系统
C.集成
D.确认
答案:A
分数:1
题型:单选题
难度:1
[试题分类]: [04]白盒测试方法/[0401]逻辑覆盖法
11.关于条件测试错误的是()
A.可以检查程序中所包含的逻辑条件
B.条件中包含的错误有布尔算子错误
C.条件中包含的错误有布尔变量错误
D.条件中包含的错误有接口错误
答案:D
分数:1
题型:单选题
难度:1
12.关于条件中包含的错误类型说法错误的是()
A.关系算子错误
B.算术表达式错误
C.条件中包含的错误有布尔变量错误
D.条件中包含的错误有接口错误
分数:1
题型:单选题
难度:1
13.语句覆盖.判定覆盖.条件覆盖和路径覆盖都是白盒测试法设计测试用例的覆盖准则,在这些覆盖准则中最弱的准则是()。

A.语句覆盖
B.条件覆盖
C.路径覆盖
D.判定覆盖
答案:A
分数:1
题型:单选题
难度:1
14.语句覆盖.判定覆盖.条件覆盖和路径覆盖都是白盒测试法设计测试用例的覆盖准则,在这些覆盖准则中最强的准则是()。

A.语句覆盖
B.条件覆盖
C.路径覆盖
D.判定覆盖
答案:C
分数:1
题型:单选题
难度:1
15.在下面所列举的逻辑测试覆盖中,测试覆盖程度最强的是()
A.条件覆盖
B.条件组合覆盖
C.语句覆盖
D.条件及判定覆盖
答案:B
分数:1
题型:单选题
难度:1
16.在下面所列举的逻辑测试覆盖中,测试覆盖程度最弱的是()
A.条件覆盖
B.条件组合覆盖
C.语句覆盖
D.条件及判定覆盖
答案:C
分数:1
题型:单选题
难度:1
17.对下面的个人所得税程序中满足语句覆盖测试用例的是()
If(income < 800) taxrate = 0;
else if(income <= 1500) taxrate = 0.05;
else if(income < 2000) taxrate = 0.08;
else taxrate = 0.1;
A.income = (800,1500,2000,2001)
B.income = (800,801,1999,2000)
C.income = (799,1499,2000,2001)
D.income = (799,1500,1999,2000)
答案:D
分数:1
题型:单选题
难度:1
18.对下面的个人所得税程序中满足判定覆盖测试用例的是()
If(income < 800) taxrate = 0;
else if(income < 2000) taxrate = 0.08;
else taxrate = 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)
答案:A
分数:1
题型:单选题
难度:1
19.下列陈述中正确的是()
A.结构测试中不包括循环测试
B.猜测错误也是一种测试方法
C.如果能做到穷举测试,便可发现程序中的全部错误
D.语句覆盖达到100%,则分支(判定)覆盖也应达到100%
答案:D
分数:1
题型:单选题
难度:1
20.在下列逻辑覆盖测试法中,覆盖程度最高的是()。

A.语句覆盖
B.判定覆盖
C.路径覆盖
D.条件组合覆盖
答案:C
分数:1
题型:单选题
难度:1
21. 在下列逻辑覆盖测试法中,覆盖程度最低的是()。

A.判定覆盖
B.条件覆盖
C.语句覆盖
D.路径覆盖
答案:C
分数:1
题型:单选题
难度:1
22.以下四种逻辑覆盖中,发现错误能力最强的是()
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖
答案:B
分数:1
题型:单选题
难度:1
[试题分类]: [04]白盒测试方法/[0402]基本路径法
23.路径测试是整个结构测试的重要组成部分,但在研究路经测试时,通常又是使用程序控制流图来代替()
A.程序框图
B.结构图
C.数据流图
D.程序流程图
答案:A
分数:1
题型:单选题
1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。

5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,
__________________,条件组合覆盖,判断/条件覆盖。

语句覆盖,判定覆盖,条件覆盖,路径覆盖
9、白盒测试又称为______________,可以分为______________和______________两大类。

结构测试,静态测试,动态测试
16、代码复审属于____________,不实际运行程序。

静态测试
1. 下列哪一项不是白盒测试?(C)
A.单元测试
B.集成测试
C.系统测试
D.回归测试
6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。

(B)
A. 语句覆盖
B.判定覆盖
C.条件覆盖
D.路径覆盖
9.关于白盒测试与黑盒测试的最主要区别,正确的是___________。

(A)
A.白盒测试侧重于程序结构,黑盒测试侧重于功能
B.白盒测试可以使用测试工具,黑盒测试不能使用工具
C.白盒测试需要程序参与,黑盒测试不需要
D.黑盒测试比白盒测试应用更广泛
12.在下面所列举中的逻辑测试覆盖中,测试覆盖最强的是__________。

(B)
A.条件覆盖B.条件组合覆盖
C.语句覆盖D.判定覆盖
13.在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是__________。

(C)
A.条件覆盖B.条件组合覆盖
C.语句覆盖D.判定覆盖
30.代码检查法有桌面检查法,走查和__________。

(B)
A.静态测试B.代码审查
C.动态测试D.白盒测试
1.计算环路复杂度方法有哪三种?
答:(1)V(G)=判定节点数+ 1 ;
(2)V(G) = E-N+2 ;
(3)V(G)=区域数
2.白盒测试有几种方法?
答:白盒测试方法分为两大类:静态测试方法和动态测试方法。

静态测试方法:检查软件的表示和描述是否一致,没有冲突或者没有歧义。

动态测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

4.比较白盒测试和黑盒测试?
答:使用白盒测试方法时,测试根据程序的内部逻辑和指定的覆盖标准;
黑盒测试法是通过分析程序的接口功能设计测试用例的。

5.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。

int test(int A,int B)
{
if((A>1) AND (B<10)) then
X=A-B;
if((A=2) OR (B>20)) then
X=A+B;
return x;
}
答:语句覆盖测试用例:A=2,B=0;
判定覆盖测试用例:A=3,B=0;A=2,B=20;
条件覆盖测试用例:A=2,B=0;A=0,B=21;
6. 为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。

void DoWork (int x,int y,int z)
{
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=4、y=5、z=5;x=2、y=5、z=5;
条件覆盖测试用例:x=4、y=6、z=5 ;x=2、y=5、 z=15 ;
8.看代码程序:
void Sort ( int iRecordNum, int iType )
1 {
2 int x=0;
3 int y=0;
4 while ( iRecordNum> 0 )
5 {
6 If ( iType==0 )
7 x=y+2;
8 else
9 If ( iType==1 )
10 x=y+10;
11 else
12 x=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
A>1, B≠0或
A≤1, B=0或
A≤1, B≠0
A=2, B=1或
A=1, B=0或
A=1, B=1
执行S2
条件覆盖
以下四种情况各出现一次
A>1 B=0 A=2,B=0 执行S1
A≤1 B≠0 A=1,B=1 执行S2
条件组合覆盖A>1, B=0 A=2, B=0 执行S1 A>1, B≠0 A=2, B=1 执行S2 A≤1, B=0 A=1, B=0 执行S2 A≤1, B≠0 A=1, B=1 执行S2
3.设一个控制流图如下,请给出环形复杂度和基本测试路径。

(20分)
答案:(1) 根据程序环形复杂度的计算公式,求出程序路径集合中的独立路径数目。

公式1:V(G)=11-9+2,其中10是控制流图G中边的数量,8是控制流图中节点的数目。

因此,控制流图G的环形复杂度是4。

(2)根据上面环形复杂度的计算结果,源程序的基本路径集合中有4条独立路径:
路径1:5->22
路径2:5->7, 8->11, 12->21->5->22
路径3:5->7, 8->16->17->19->21->5->22
路径4:5->7, 8->16->18->19->21->5->22
1、使用基本路径测试方法,为以下程序段设计测试用例。

(1)画出程序的控制流图,编号已经给出。

(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。

(3)导出基本路径集,确定程序的独立路径。

(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

void Do (int X,int A,int B)
{
1 if ( (A>1)&&(B=0) )
2 X = X/A;
3 if ( (A=2)||(X>1) )
4 X = 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:1→2→3→4→5→6→7
路径2:1→4→5→6→7
路径3:1→2→4→6→7。

相关文档
最新文档