白盒测试方法习题及答案
[试题分类]: [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
>
题型:单选题
难度: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.条件中包含的错误有接口错误
答案: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 = ;
else if(income < 2000) taxrate = ;
else taxrate = ;
= (800,1500,2000,2001)
= (800,801,1999,2000)
= (799,1499,2000,2001)
= (799,1500,1999,2000)
答案:D
分数:1
题型:单选题
¥
难度:1
18.对下面的个人所得税程序中满足判定覆盖测试用例的是()If(income < 800) taxrate = 0;
else if(income <= 1500) taxrate = ;
else if(income < 2000) taxrate = ;
else taxrate = ;
= (799,1500,1999,2001)
= (799,1501,2000,2000)
= (800,1500,2000,2001)
、
= (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
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)=区域数+ 1
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)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=x*y-1;
j=sqrt(k);
} 代码程序:
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=0A=2, B=0执行S1
A>1, B0或
A1, B=0或
A1, B0
A=2, B=1或
~
A=1, B=0或
A=1, B=1
执行S2条件覆盖
以下四种情况各出现一次
·
A>1
B=0A=2,B=0执行S1
A1B0A=1,B=1执行S2
…
条件组合
覆盖
A>1, B=0A=2, B=0执行S1
A>1, B0A=2, B=1执行S2
)
A1, B=0
A=1, B=0执行S2
A1, B0A=1, B=1执行S2
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: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
路径4:1→2→4→5→7
路径5:1→2→3→4→5→7
如何进行白盒测试
摘要:单元测试是软件测试的基础,本文详细的论述了单元测试的两个步骤人工静态检查法与动态执行跟踪法,所需执行的工作项目及相关的策略和方法。通过对这两个步骤的描述作者将多年的单元测试经验及测试理论注入于全文。 关键词:单元测试、人工检查、白盒测试、测试用例、跟踪调试 1 概述 单元测试是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现每个程序模块内部可能存在的差错。 单元测试也是程序员的一项基本职责,程序员必须对自己所编写的代码保持认真负责的态度,这是也程序员的基本职业素质之一。同时单元测试能力也是程序员的一项基本能力,能力的高低直接影响到程序员的工作效率与软件的质量。 在编码的过程中作单元测试,其花费是最小的,而回报却特别优厚的。在编码的过程中考虑测试问题,得到的将是更优质的代码,因为在这时您对代码应该做些什么了解得最清楚。如果不这样做,而是一直等到某个模块崩溃了,到那时您可能已经忘记了代码是怎样工作的。即使是在强大的工作压力下,您也还必须重新把它弄清楚,这又要花费许多时间。进一步说,这样做出的更正往往不会那么彻底,可能更脆弱,因为您唤回的理解可能不那么完全。 通常合格的代码应该具备以下性质:正确性、清晰性、规范性、一致性、高效性等(根据优先级别排序)。 1. 正确性是指代码逻辑必须正确,能够实现预期的功能。 2. 清晰性是指代码必须简明、易懂,注释准确没有歧义。 3. 规范性是指代码必须符合企业或部门所定义的共同规范包括命名规则,代码风格等等。 4. 一致性是指代码必须在命名上(如:相同功能的变量尽量采用相同的标示符)、风格上都保持统一。 5. 高效性是指代码不但要满足以上性质,而且需要尽可能降低代码的执行时间。 2 单元测试步骤 在代码编写完成后的单元测试工作主要分为两个步骤人工静态检查和动态执行跟踪。 人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。 第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重点与难点。 3 人工检查 通常在人工检查阶段必须执行以下项目的活动: 第一、检查算法的逻辑正确性;确定所编写的代码算法、数据结构定义(如:队列、堆栈等)是否实现了模块或方法所要求的功能。 第二、模块接口的正确性检查;确定形式参数个数、数据类型、顺序是否正确;确定返回值类型及返回值的正确性。 第三、输入参数有没有作正确性检查;如果没有作正确性检查,确定该参数是否的确无需做参数正确性检查,否则请添加上参数的正确性检查。经验表明,缺少参数正确性检查的代码是造成软件系统不稳定的主要原因之一。 第四、调用其他方法接口的正确性;检查实参类型正确与否、传入的参数值正确与否、
VB循环结构测试题及答案
循环结构测试题(四) 一:选择题 1:以下()是正确的for….next结构。 (A)for x=1 to step 10 (B) for x=3 to –3 step -3….. ….. next x next x (C ) for x=1 to 10 (D) for x=3 to step 3 re: …. …… Next x next y If I=10 then goto re 2:下列循环语句能正常结束循环的是() (A)I=5 (B) I=1 do do I=I+1 I=I+2 Loop until I<0 loop until I=10 (C) I=10 (D) I=6 do do
I=I-1 I=I-2 Loop until I<0 loop until I=1 3:下面程序段的运行结果为( ) for I=3 to 1 step –1 print spc(5-I); for j=1 to 2*I-1 print “*”; next j print next I 4下列程序在文本框输入“ABCD ”四个字符时,窗体上显示的是( ) private sub text1_change( ) print ; end sub (A) ABCD (B) ( C ) AABABCABCD * * * * (B) * * * * * * * * (C) * * * * * * * * (D) * * * * * * * * A B C (D) A AB ABC
5哪个程序段不能分别正确显示1!,2!,3!,4!的( ) 二:填空题 1:要使下列For 语句循环执行20次,循环变量的初值应当是: for k=( ① ) to –5 step –2 2:下面程序段显示( ② )个“*” 。 For I=1 to 5 For j=2 to I Print “*”; Next j Next I 3: 下列第40句共执行了( ③ )次,第41句共执行(④ )次。 30 for j=1 to 12 step 3 40 for k=6 to 2 step –2 41 print j,k 42 next k (A ) for I=1 to 4 n=1 for j=1 to I (B ) for I=1 to 4 for j=1 to I n=1 (C) N=1 for j=1 to 4 (D) N=1 J=1 Do while j<=4
白盒测试方法习题及答案
[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法 1.下面不属于白盒测试能保证的是。 A. 模块中所有独立途径至少测试一次 B. 测试所以逻辑决策真和假两个方面 C. 在所有循环的边界内部和边界上执行循环体 D. 不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1 A. 输入与输岀 B. 设计与实现 C. 条件与结果 D. 主程序与子程序 答案:A 分数:1 题型:单选题 难度:1 A. 程序的内部逻辑 B. 程序的复杂程度 C. 使用说明书 D. 程序的功能 答案:A 分数:1 题型:单选题 难度:1 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 效率分析 答案:A 4.软件测试中常用的静态分析方法是( )和接口分析。 2.因果图方法是根据( )之间的因果关系来设计测试用例的。 3.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
分数:1 题型:单选题 难度:1 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 接口分析 答案:D 分数:1 题型:单选题 难度:1 A. 路径测试 B. 等价类 C. 因果图 D. 归纳测试 答案:A 分数:1 题型:单选题 难度:1 7.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是( A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 分数:1 题型:单选题 难度:1 8.软件测试白箱测试是对软件的结构进行测试,下述: m.分值测试 ( )是其应包括的内容。 A. I 5.软件测试中常用的静态分析方法是引用分析和( )。 6.白盒方法中常用的方法是( )方法。 I .边缘值分析 n.语句测试 IV .路经测试
白盒测试用例设计方法
1白盒测试用例设计方法 1.1白盒测试简介 白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,一般多发生在单元测试阶段。白盒测试方法主要包括逻辑覆盖法,基本路径法,程序插装等。 这里重点介绍一下常用的基本路径法,对于逻辑覆盖简单介绍一下覆盖准则。 1.2基本路径法 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出独立路径集合,从而设计测试用例,设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。 在介绍基本路径测试方法(又称独立路径测试)之前,先介绍流图符号: 图1 如图1所示,每一个圆,称为流图的节点,代表一个或多个语句,流程图中的处理方框序列和菱形决策框可映射为一个节点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句,例如,图2中两个处理方框交汇处是一个节点,边和节点限定的范围称为区域。 图2
任何过程设计表示法都可被翻译成流图,下面显示了一段流程图以及相应的流图。 注意,程序设计中遇到复合条件时(逻辑or, and, nor 等),生成的流图变得更为复杂,如(c)流图所示。此时必须为语句IF a OR b 中的每一个a 和b 创建一个独立的节点。
(c)流图 独立路径是指程序中至少引进一个新的处理语句集合,采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用到的边。例如图(b)中所示流图的一个独立路径集合为: 路径1:1-11 路径2:1-2-3-4-5-10-1-11 路径3:1-2-3-6-8-9-10-1-11 路径4:1-2-3-6-7-9-10-1-11 上面定义的路径1,2,3 和4 包含了(b)流图的一个基本集,如果能将测试设计为强迫运行这些路径,那么程序中的每一条语句将至少被执行一次,每一个条件执行时都将分别取true 和false(分支覆盖)。应该注意到基本集并不唯一,实际上,给定的过程设计可派生出任意数量的不同基本集。如何才能知道需要寻找多少条路径呢?可以通过如下三种方法之一来计算独立路径的上界: 1. V=E-N+2,E 是流图中边的数量,N 是流图节点数量。 2. V=P+1,P 是流图中判定节点的数量 3. V=R,R 是流图中区域的数量 例如,(b)流图可以采用上述任意一种算法来计算独立路径的数量 1. V=11 条边-9 个节点+2=4 2. V=3 个判定节点+1=4 3. 流图有4 个区域,所以V=4 由此为了覆盖所有程序语句,必须设计至少4 个测试用例使程序运行于这4 条路径。 在采用基本路径测试方法中,获取测试用例可参考以下方式:
(完整版)黑盒测试和白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。 六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。 "白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。 如何挑选白盒测试工具 白盒测试目前主要用在具有高可靠性要求的软件领域,例如:军工软件、航天航空软件、工业控制软件等等。白盒测试工具在选购时应当主要是对开发语言的支持、代码覆盖的深度、嵌入式软件的测试、测试的可视化等。 对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。但是对于不同的开发语言,测试工具实现的方式和内容差别是较大的。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C ++、Java、Visual J++等。
白盒测试方法习题及答案
[试题分类]:[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 题型:单选题 难度:1 7. 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是() A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 分数:1 题型:单选题 难度:1 8. 软件测试白箱测试是对软件的结构进行测试,下述: I.边缘值分析n.语句测试 皿.分值测试IV .路经测试 )是其应包括的内容。 A. I B. n和皿 C.皿和V D. n .皿和V 答案: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
白盒测试和黑盒测试实验报告
软件质量保证与测试 实验指导 计算机工程学院
测试环境配置 1.setting Junit (1) start Eclipse Select windows-preferences-java-build path –class path variables (2) click new, the figure of new variable entry is shown. (3) name JUNIT_LIB
select file-选择JUnit 插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中 2.JUNIT的组成框架 其中,junit.framework 和junit.runner是两个核心包。 junit.framework 负责整个测试对象的框架 junit.runner 负责测试驱动 Junit的框架又可分为: A、被测试的对象。 B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。
C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。 D、测试结果的描述与记录。(TestResult) 。 E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure) F、JUnit Framework中的出错异常(AssertionFailedError)。 JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。 3.JUnit中常用的接口和类 Test接口——运行测试和收集测试结果 Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。 它的public int countTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是public void run(TestResult ),TestResult是实例接受测试结果,run方法执行本次测试。 TestCase抽象类——定义测试中固定方法 TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)其构造函数TestCase(string name)根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。 TestCase类中包含的setUp()、tearDown()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。 开发人员编写测试用例时,只需继承TestCase,来完成run方法即可,然后JUnit获得测试用例,执行它的run方法,把测试结果记录在TestResult之中。 Assert静态类——一系列断言方法的集合 Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将