他任何职称。
? 如果规定了输入数据必须遵循的规则,可以划分出一个有效的等价类(符合规则)和若干个无效
的等价类(从不同的角度违反规则)。
3、边界值选定的原则是什么?
边界值分析法是一种补充等价类划分法的黑盒测试方法,它不是选择等价类中的任意元素,而是选择等价类边界的测试用例。
用边界值分析法设计测试用例时应当遵守几条原则: ? 如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试
用例。如以a和b作为输入条件,测试用例应当包括a和b,以及略大于a和略小于b的值; ? 若规定了值的个数,应分别以最大、最小个数和稍小于最小和稍大于最大个数作为测试用
例; ? 针对每个输出条件,也使用上面的两条原则; ? 如果程序规格说明书中提到的输入或输出范围是有序的集合,如顺序文件、表格等,应注
意选取有序集的第一个和最后一个元素作为测试用例; ? 分析规格说明,找出其他的可能边界条件。
4、因果图包括几个部分,分别是什么?
因果图法是一种黑盒测试方法,它从自然语言书写的程序规格说明书中寻找因果关系,即输入条件与输出和程序状态的改变,通过因果图产生判定表。
? 恒等:若原因出现则结果出现,若原因不出现则结果不出现; ? 非(~):若原因出现则结果不出现,若原因不出现则结果反而出现; ? 或(∨):若几个原因中有一个出现则结果出现,若几个原因都不出现则结果不出现; ? 与(∧):若几个原因都出现结果才出现,若其中一个原因不出现则结果不出现。
原因与原因之间,结果与结果之间可能存在的约束关系:从输入考虑,有4种约束:
? E约束(互斥):表示a和b两个原因不会同时成立,最多有一个可以成立; ? I约束(包含):表示a和b两个原因至少有一个必须成立; ? O约束(唯一):表示a和b两个条件必须有且仅有一个成立; ? R约束(要求):表示a出现时,b也必须出现。
从输出考虑,有1种约束:
? M约束(强制):表示a是1时,b必须为0。
5、如何用场景法进行黑盒测试,如何选定场景?
应用场景法进行黑盒测试的步骤如下:
? 根据规格说明,描述出程序的基本流和各个备选流; ? 根据基本流和各个备选流生成不同的场景; ? 对每一个场景生成相应的测试用例;
? 对生成的所有测试用例进行复审,去掉多余的测试用例,对每一个测试用例确定测试数据。 ?
用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有的基本流和备选流。
? 基本流:采用黑直线表示,是经过用例的最简单路径,表示无任何差错,程序从开始执行到结束; ? 备选流:采用不同颜色表示,一个备选流可以从基本流开始,在某个特定条件下执行,然后重新加入基
本流中,也可以起源于另一个备选流,或终止用例,不再加入到基本流中。
-5-
-6-
第三章 期末考试复习题
一、单项选择题:
1、用黑盒技术设计测试用例的方法之一为( a )
A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试 2、以程序的内部结构为基础的测试用例技术属于( d )。 A)灰盒测试 B)数据测试 C)黑盒测试 D)白盒测试 3、在进行单元测试时,常用的方法是(c ) A)采用白盒测试,辅之以黑盒测试 B)采用黑盒测试,辅之以白盒测试 C)只使用白盒测试 D)只使用黑盒测试 4、在边界值分析中,下列数据通常不用来做数据测试的是(b )。 A)正好等于边界的值 B)等价类中的等价值 C)刚刚大于边界的值 D)刚刚小于边界的值
5、通常可分为白盒测试和黑盒测试。白盒测试是根据程序的( c )来设计测试用例, 黑盒测试是根据软件的规格说明来设计测试用例。 A)功能 B)性能 C)内部逻辑 D)内部数据
6、如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件 覆盖率,至少需要设计多少个测试用例( b )。 A)1 B)2 C)3 D)4
7、如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 ( A ) (A)判定覆盖 (B)条件覆盖
(C) 判定/条件覆盖 (D)组合覆盖
8、使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和( B ) (A)程序的注释 (B)程序的内部逻辑 (C) 用户使用说明书 (D)程序的需求说明 9、条件覆盖的目的是( A )
(A)使每个判定的所有可能的条件取值组合至少执行一次
(B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。 (D)使程序中的每个可执行语句至少执行一次。
10、一个程序中所含有的路径数与____有着直接的关系。( A )
(A) 程序的复杂程度 (B) 程序语句行数 (C)程序模块数 (D)程序指令执行时间 11、不属于逻辑覆盖方法的是( d )。
A.组合覆盖 B.判定覆盖 C.条件覆盖 D.接口覆盖 12、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖 B、组合覆盖 C、判定覆盖 D、语句覆盖 13、( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖 B、组合覆盖 C、判定覆盖 D、条件覆盖
-7-
14、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。
A.12 B.48 C.27 D.18
15.覆盖准则最强的是( D )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)路径覆盖 16.发现错误能力最弱的是( A )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)路径覆盖
17.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。 A)条件覆盖 B)判定覆盖 C)条件组合覆盖 D)路径覆盖
18.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。 A)等价类划分 B)边界值分析 C)错误推测 D)因果图
19.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A)程序内部逻辑 B)程序的复杂度 C)使用说明书 D)程序的功能
二、判断题:
(01)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 对 (02)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。 错 (03)软件测试员可以对产品说明书进行白盒测试。 错
(04)软件测试员无法对产品说明书进行白盒测试。 对 (05)白盒测试的“条件覆盖”标准强于“判定覆盖”。 错
三、简答:
1、什么是白盒测试,包括哪些技术?
白盒测试,有时也称为玻璃盒测试、结构化测试、逻辑驱动测试等,它关注软件产品的内部细节和逻辑结构,即把被测的程序看成是一个透明的盒子。白盒测试利用构件层设计的一部分而描述的控制结构来生成测试用例,需要对系统内部结构和工作原理有一个清楚的了解。白盒测试的准备时间较长,如果要完成覆
-8-

