河南农业大学 2014-2015 学年第 2 学期
《软件测试》考试试卷(A 卷)
(软件工程)专业用
一、单项选择,每小题 1 分,共 10 分。
1.为了提高测试的效率,正确的做法是( A)。
A 选择发现错误的可能性大的数据作为测试用例。
B 在完成程序的编码之后再指定软件的测试计划。
C 随机选取测试用例。
D 使用测试用例测试是为了奸臣程序是否做了应该做的事。
2.根据输出对输入的依赖关系来设计测试用例的是( B)。
A 边界值分析 B 因果图法 C 等价类 D 错误推测法
3.在边界值分析中,下列数据通常不用来做数据测试用例的
是(C )。
A 正好等于边界的值
B 刚刚大于边界的值
C 等价类中的等价值
D 刚刚小于边界的值
4 软件生存周期过程中,修改错误最大的阶段是( D)
A 需求阶段 B 设计阶段 C 编程阶段 D 发布运行阶段
5 下列可以作为软件测试对象的是(D )
A 需求规格说明书
B 软件设计规格说明
C 源程序
D 以上全部
6.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发
现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,
通常应该( A)
A 较多 B 相似 C 不确定 D 较少
7.不属于逻辑覆盖方法的是( B )
A 组合覆盖 B 接口覆盖 C 判定覆盖 D 条件覆盖
8.使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和
( C)
A 程序的注释
B 用户使用说明书
C 程序的内部逻辑
D 程序的需求说明
9.导致软件缺陷的最大原因是( D )
A 设计方案 B 维护 C 编码 D 软件需求说明书
10.必须要求用户参与的测试阶段是( D )
A 单元测试 B 集成测试 C 确认测试 D 验收测试
二、名词解释题,每小题 5 分,共 20 分。
1.软件测试:在规定的条件下对程序进行操作,以发现程序错误,
衡量软件质量,并对其是否能满足设计要求进行评估的过程。
2.测试用例:是指对一项特定的软件产品进行测试任务的描述,体
现测试方案、方法、技术和策略。
3.黑盒测试:也称为功能测试,它是把程序看成一个不能打开的黑盒子,在
完全不考虑程序的内部结构和内部特征的条件下,通过测试检测每个功能是否都
能按照需求规格说明书正常使用。
4.单元测试:集中对用源代码实现的每一个程序单元进行测试,检
查各个程序模块是否正确地实现了规定的功能。
三、判断题,填“√”或“X”于括号中。每小
题 1 分,共 10 分。
(√) 1. 软件测试时一个过程,包含若干活动,运行软件进行测
试只是活动之一。
(X ) 2. 程序中隐藏错误的概率与其已发现的错误数成正比。
(√)3.自底向上集成需要测试员编写驱动程序。
(X)4.测试时证明软件正确的方法。
(X)5.集成测试计划在需求分析阶段末提交。
(X)6. 测试用例应由测试输入数据和对应的实际结果这两部分组成。
(√)7.代码审查工作属于静态测试。
( X)8.测试人员要坚持原则,缺陷未修复完坚决不予通过。
( X)9. 只要能够达到 100%的逻辑覆盖率,就可以保证程序的正确
性。
(X)10. 软件只要经过严格严谨的内部测试之后,就可以做到没有
缺陷。
四、简答题,每小题 10 分,共 30 分。
1.白盒测试主要有哪几种方法?简单说明每种方法的特点?
①静态白盒测试:不需要执行程序,而通过对比标准和规范,检查程序逻辑,直接定位缺陷。
②对判定的测试:主要是通过考察源代码中复合判定表达式或构成复合判定表达式的各简单
判定条件的所有取值情况,来保证判定表达式的正确性。
③对路径的测试:是最重要的白盒测试方法之一,其思想可用于任何动态模型中。
④对循环的测试:一是对测试过程进行静态检查,二是通过控制循环边界来观察执行结果是
否与预期输出保持一致。
⑤对变量的测试:基于缺陷预防思想,以缺陷静态检查为主的一种测试方法。
2.什么是集成测试?它的主要测试内容是什么?
集成测试:把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
主要包括:
(1)、将各个具有相互调用关系的模块组装起来时,检查穿过模块接口的数据是否会丢
失。
(2)、判断各个子功能组合起来是否能够达到预期要求的父功能。
(3)、检查一个模块的功能是否对其他模块的功能产生不良影响。
(4)、检查全局数据结构是否正确,以及在完成模块功能的过程中是否会被异常修改。
(5)、单个模块的误差累计起来,是否会放大到不可接受的程度
3.什么是软件测试过程模型?常见的测试过程模型包括哪
些?
软件测试过程模型是对软件测试的各种资源进行配置和管
理的策略。
常见模型: V 模型,W 模型,X 模型,H 模型
五、 测试用例设计,每小题 15 分,共 30 分。
1. 设有一个档案管理系统,要求用户输入以年月表示的日期。假设
如期限定在 1999 年 1 月--2029 年 12 月,并规定日期有 6 位数字字
符组成,前 4 位表示年,后 2 位表示月。现用等价类测试方法设计
测试用例,来测试程序的“日期检查功能”。
1)下表尾等价类划分及编号,请将下表中的编号后空缺的部分补充完整。
输入等价类
有效等价类
无效等价类
日期的类型及长度
①
②有非数字的字符
有 6 位数字字符组
成
③少于 6 位数字字
符
④多余 6 位数字字
符
年份范围
⑤
⑥小于 1999
1999 年—2029 年
⑦大于 2029
月份范围
⑧
01-12
⑨等于 00
⑩大于 12
2)设计测试用例,以便覆盖所有的有效等价类。在表中列出了 3 分有效等价类,
编号分别为①、⑤、⑧,请在下表中“测试数据”列下设计对应的测试用例。
测试数据
201711
期望结果
有效输入
覆盖有效等价类
①、⑤、⑧
请在下表中“测试数据”列下为每一个无效等价类设计一个
测试用例。
测试数据
期望结果
覆盖的无效等价类
#01404
10101
无效输入
无效输入
2010111
无效输入
189903
203408
201600
201113
无效输入
无效输入
无效输入
无效输入
②
③
④
⑥
⑦
⑨
⑩
2.以下代码(C 语言),其控制流图如图所
示,请回答后面的问题。
void sort( int RecordNum, int Type )
{ ① int x = 0;
② int y = 0;
③ while (RecordNum >0)
④ {
if( Type = = 0)
x = y + 2;
{
if( Type = = 1 )
x = y + 5;
x = y + 10;
RecordNum = RecordNum -1;
⑤
else
⑥
⑦
else
⑧
}
⑨
⑩ }
}
(1)请用两种方法计算控制流图的圈复杂度 V(G)。
(2) 找出独立路径。
(3)请使用基本路径测试法设计测试用例。