二十二、 名词解释(5×3=15分)
1.验收测试
是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动。
2.失败测试
纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试。
3.驱动模块
驱动模块就是用来代替主模块,用它来调用子模块
4. 桩模块
集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
5.白盒测试
也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。
二十三、 简答题(3×5=15分)
1. 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。
检查文档的编写是否满足文档编写的目的
内容是否齐全,正确
内容是否完善
标记是否正确
2. 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面:
(1) 测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
(2) 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
(3) 测试是有计划的,需要进行测试设计;调试是不受时间约束的。
(4) 测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。
(5) 测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。
(6) 测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
(7) 大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。
3.软件测试包括单元测试、集成测试、确认测试和系统测试等。单元测试集中于单个模块的功能和结构的检验;集成测试集中于模块组合的功能和软件结构检验;确认测试主要检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等;系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到。
六.综合题(1×20=20分)
用例1:0x7F, 覆盖等价类(1)(4)(6)(8)
用例2:-0Xb, 覆盖等价类(1)(4)(6)(8)
用例3:0X0, 覆盖等价类(1)(4)(6)(8)
用例4:0x, 覆盖等价类(1)(7)
用例5:A7, 覆盖等价类(2)
用例6:-1A, 覆盖等价类(3)
用例7:0X8h, 覆盖等价类(1)(5)
用例8:0x80, 覆盖等价类(1)(4)(10)
用例9:-0XaB, 覆盖等价类(1)(4)(9)
电子科技大学二零零八至二零零八学年第二学期
软件测试技术(B卷)课程考试题(120分钟) 闭卷 考试时间: 2008
说明:本试卷共四大题,试卷满分100分。
注意:请将所有答案填写在最后一页答题卡上。
一、 单项选择题:共20小题,每小题2 分,满分40分。
1.软件测试的目的:( c )
A. 避免软件开发中出现的错误
B. 发现软件开发中出现的错误
C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D. 修改软件中出现的错误
2、软件测试是采用( a )执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
3、导致软件缺陷的最大原因是:( a )
A.软件需求说明书
B.设计方案
C.编码
D.维护
4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d )
A、打开——修复——关闭
B、打开——关闭
C、打开——保留
D、激活——修复——重新打开
5、在下列描述中,关于测试与调试的说法错误的是( d )
A、测试是显示错误的行为;而调试是推理的过程;
B、测试显示开发人员的错误。调试是开发人员为自己辩护;
C、测试能预期和可控。调试需要想象、经验和思考;
D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
6、某次程序调试没有出现预计的结果,下列( b )不可能是导致出错的原因。
A.变量没有初始化 B.编写的语句书写格式不规范
C.循环控制出错 D.代码输入有误
7、软件缺陷修复的代价最高的阶段为( a )
A、发布阶段 B、需求阶段
C、设计阶段 D、编码阶段
8、不属于逻辑覆盖方法的是( d )。
A.组合覆盖 B.判定覆盖
C.条件覆盖 D.接口覆盖
9、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖 B、组合覆盖
C、判定覆盖 D、语句覆盖
10、( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖 B、组合覆盖
C、判定覆盖 D、条件覆盖
11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( b )
A.功能测试
B.单元测试
C.结构测试
D.验收测试
12、单元测试的主要任务不包括( b )。
A.出错处理 B.全局数据结构
C.独立路径 D.模块接口
13、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。
A.12 B.48
C.27 D.18
14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b )。
A.驱动模块 B.桩模块
C.主控模块 D.真实的被调用模块
15、集成测试计划应该在( b )阶段末提交。
A、需求分析 B、概要设计
C、详细设计 D、单元测试完成
16、下列关于程序效率的描述错误的是( c )。
A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关
D.好的程序设计可以提高效率
17、下列( b )是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图 B. 控制流图
C.MM-路径图 D. 模块调用图
18、自底向上增量式集成测试中,下面( c )描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
19、测试后程序中残存的错误数目与该程序中已发现的错误数目成( d )。
A.未知 B.反比
C.相等 D.正比
20、针对是否对无效数据进行测试,可以将等价类测试分为(b )
1) 标准(一般)等价类测试
2) 健壮等价类测试
3) 弱等价类测试
4) 强等价类测试
A.3)4) B.1)2)
C.1)3) D.2)4)