软件测试期末考试
--冯君
贵州大学
一、判断正误题
1. 测试是调试的一个部分 ( ╳ )
2. 软件测试的目的是尽可能多的找出软件的缺陷。( √
)
3. 程序中隐藏错误的概率与其已发现的错误数成正比( √ )
4. Beta 测试是验收测试的一种。 ( √
)
5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( √ )
6. 项目立项前测试人员不需要提交任何工件。( ╳
)
7. 单元测试能发现约 80%的软件缺陷。( √
)
8. 测试的目的是发现软件中的错误。( √
)
9. 代码评审是检查源代码是否达到模块设计的要求。( √
)
10. 自底向上集成需要测试员编写驱动程序。( √
)
二、选择题
1、实施缺陷跟踪的目的是:( ABCD )
A、软件质量无法控制
B、问题无法量化 C、重复问题接连产生
D、解决问题的知识无法保留
E、确保缺陷得到解决
F、使问题形成完整的闭环处理
2、使用软件测试工具的目的:( ABCDF )
A、帮助测试寻找问题 B、协助问题的诊断 C、节省测试时间
D、提高 Bug 的发现率 E、更好的控制缺陷提高软件质量
F、更好的协助开发人员
3、编写测试计划的目的是:( ABC )
A、使测试工作顺利进行
B、使项目参与人员沟通更舒畅
C、使测试工作更加系统化
D、软件工程以及软件过程的需要
E、软件过程规范化的要求
F、控制软件质量
4、选出属于黑盒测试方法的选项( B )
A、测试用例覆盖
B、输入覆盖
C、输出覆盖
D、分支覆盖
E、语句覆盖
F、条件覆盖
5、以测试的形态分测试可以分为:( ABC )
A、建构性测试
B、系统测试
C、专项测试
D、单元测试
E、组件测试
F、集成测试
6、进行软件质量管理的重要性有:(
)
A、维护降低成本
B、法律上的要求 C、市场竞争的需要
D、质量标准化的趋势 E、软件工程的需要 F、CMM 过程的一部分
G、方便与客户进一步沟通为后期的实施打好基础
7、在 GB/T17544 中,软件包质量要求包括三部分,即产品描述要求、
(
A
)、程 序和数据要求。
A.用户文档要求
C.设计要求说明
B.系统功能要求
D.软件配置要求
8、典型的瀑布模型的四个阶段是:(
ABCD
)
A、分析
D、测试
9、(
B、设计
C、编码
E、需求调研 F、实施
)可以作为软件测试结束的标志。
A.使用了特定的测试用例
B.错误强度曲线下降到预定的水平
C.查出了预定数目的错误
D.按照测试计划中所规定的时间进行了测试
10、导致软件缺陷的原因有很多,A—D 是可能的原因,其中最主要的原因包括
(
ABCD
)。
A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改
B.软件设计说明书
C.软件操作人员的水平
D.开发人员不能很好的理解需求说明书和沟通不足
三、名词解释
1. Beta 测试:Beta 测试是从用户角度进行的测试,是由软件的多个用户在一个
或多个用户的实际使用环境下进行的测试。它是在开发者无法控制的软件环境下
进行的软件现场应用。
2. 负载测试:负载测试是一个通过分析软件应用程序和支撑架构,模拟真实环
境的使用,来确定能够接受的性能的过程。
3. 软件测试活动生命周期:是指软件从进入测试到退出测试的过程中,所要经
历的引入程序错误、通过测试发现错误和清除程序错误的几个阶段。
4. 改进的三明治集成:利用较高的并行度弥补三明治集成中不能充分测试中间
层的缺点。但根据中间层选择是否恰当,可能增加驱动模块和桩模块设计的工作
量。
5. 驱动模块相当于所测模块的主程序。它接收测试数据,把这些数据传送给所
测模块,最后再输出实际测试结果。
四、简答题
软件的缺陷等级应如何划分?
致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据
丢失、主要功能完全丧失等。
严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全
丧失,或致命的错误声明。
一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有
很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或
用户界面差,操作时间长等。
微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错
别字、文字排列不整齐等。
阶段评审与同行评审。
同行评审是一种重要而有效的工程方法,在软件产品工程中调用此方法,可通过
法根式审查、结构化走查或者一些其他的学院式的评审方法加以实施。其目的是
及早和高效地去除软件工作中的缺陷,必然结果是增强对软件工作产品和可预防
缺陷的了解。
阶段评审是利用在需求分析阶段所选择并制定的标准、规范以及计划的安排,对
软件工程各阶段的进展、完成质量及出现的问题进行正式评审,确保过程计划并
遵守标准和规范执行,然后形成报告。当发现问题是,要准寻逐级解决的原则,
将处理结果通知相关人员,记录解决过程及结果以作日后改进重要参考资料。
两者都是有关软件质量管理和保证的重要内容,二者相辅相成,缺一不可。
安全性测试属于软件测试的哪个阶段?并试阐述安全测试的概念和用以评判系
统安全性性能的主要指标。
是系统测试的一种类型,
安全性测试就是要验证系统内的保护机制能否抵御入侵者的攻击。安全性测试的
测试人员需要在测试活动中,撒气不同的入侵方式来攻击系统的安全机制,想尽
一切办法来获取系统内的保密信息。
系统安全性性能的指标:有效性:启动严格的安全性性能所花费的时间占启动整
个系统所花费时间的比例。生存性:当错误发生时,系统对紧急操作的支持,对
错误的补救措施以及恢复到正常操作的能力,即系统的抗挫能力。精确性:衡量
系统安全性控制的精度指标,围绕所出现的错误数量、发生频率及其严重性判断。
反应时间:出错时系统响应速度的快慢,一个安全性较强的系统要具备快速的反
应速度。吞吐量:用户和服务请求的峰值和平均值。
单元测试策略主要有哪些?并试描述这些策略?
单元测试策略主要有三种方式:
1.自顶向下的单元测试策略:从顶层调用的单元做成桩模块;对第二层测试,使
用上面已测试的单元做驱动模块;依次类推,直到全部单元测试结束。
2.自底向上的单元测试策略:先对模块调用的最底层模块进行测试,模拟调用该
模块的模块为驱动模块;其次,对上一层模块进行单元测试,用已经被测试过的
模块做桩模块,依次类推,直到全部单元测试结束。
3.孤立测试的单元测试策略:无需考虑每个模块与其他模块之间的关系,分别为
每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。
测试结束的标准是什么?
试题二
一、判断正误题(每小题 1 分,共 10 分)
1. 测试是证明软件正确的方法。(
╳ )
2. 负载测试是验证要检验的系统的能力最高能达到什么程度。(
√ )
3. 测试中应该对有效和无效、期望和不期望的输入都要测试。( √
)
4. 对于连锁型分支结构,若有 n 个判定语句,则有 2n 条路径。(√
)
5. 验收测试是由最终用户来实施的。( √
)
6. GOTO 语句概念简单,使用方便,在某些情况下,保留 GOTO 语句反能使写出
的程序更加简洁。( √
)
7. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( √
)
8. 黑盒测试也称为结构测试。( ╳
)
9. 代码评审员一般由测试员担任。( ╳
)
10. 集成测试计划在需求分析阶段末提交。(
╳ )
二、不定项选择题(每题可能有一个或多个选项应选,每题 2 分,共 20 分。多
选不得分,少选仅得1分。)
1.软件验收测试的合格通过准则是:(
AD )
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?( ABCD
)
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于 alpha 测试的描述中正确的是:( A D
)
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:( BC
)
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:( ABC
)
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
6、典型的瀑布模型的四个阶段是:( ABCD
)
A、分析
D、测试
B、设计
C、编码
E、需求调研 F、实施
7. 下面的哪一项测试步骤中需要进行局部数据结构测试: ( A
)
A、单元测试
B、集成测试
C、确认测试
D、系统测试
8.从是否需要执行被测软件的角度,软件测试技术可划分的类型是:
(AC
)。
A、 静态测试
B、 黑盒测试
C、 动态测试
D、 白盒测试
9. 从测试阶段角度,测试结束的正确顺序是:( B
)
A、 单元测试、集成测试、系统测试、确认测试
B、 单元测试、系统测试、集成测试、确认测试
C、 确认测试、集成测试、系统测试、单元测试
D、 确认测试、系统测试、集成测试、单元测试
10.软件的六大质量特性包括: ( A
)
A. 功能性、可靠性、可用性、效率、可维护、可移植
B. 功能性、可靠性、可用性、效率、稳定性、可移植
C. 功能性、可靠性、可扩展性、效率、稳定性、可移植
D. 功能性、可靠性、兼容性、效率、稳定性、可移植
1. 什么是软件测试
2. 试述软件测试活动的生命周期?
3. 集成测试策略主要有哪些?并试描述3个以上的具体策略?
答:1、大爆炸集成(P153):属于非增值式集成的一种方法,也称为一次性组
装或整体拼装。这种集成策略的做法就是把所有通过单元测试的模块一次性集成
到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险。2、三明治
集成(P158):一种混合增量式测试策略,综合了自顶向下和自底向上两种集成
方法的优点,因此也属于基于功能分解的集成。这种方法桩和开发工作都比较小,
但增加了定位缺陷的难度。3、自顶向下集成:就是按照系统层次结构图,以主
程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组
装一边进行测试。又可分为深度优先集成和广度优先集成两种方式。4、自底向
上集成:从依赖性最小的底层模块开始,按照层次结构图,逐层向上集成,验证
系统的稳定性。5、高频集成:高频集成测试是指同步于软件开发过程,每隔一
段时间对开发团队的现有代码进行一次集成测试。6、分层集成、分布式集成、
基于路径、功能、进度、风险、事件、使用等的集成等 13 种。
4. 恢复性测试属于软件测试的哪个阶段?并试阐述恢复性测试的概念和进行恢
复性测试分析时主要应考虑的问题。
答:恢复性测试使系统测试阶段的一种方法,也叫容错测试,用来检查系统的容
错能力。通常若计算机系统出现错误,就必须在一定时间内从错误中恢复过来,
修正错误并重新启动系统。在进行恢复性测试时,要考虑的主要问题有:恢复期
间的安全性过程。恢复处理日志方面的能力。当出现供电问题时的恢复能力。恢
复操作后系统性能是否下降。
常用的恢复测试用例的设计方法:规范导出法、错误猜测法、基于故障的测试。
5. 请简述单元测试进入的准则?
答:包括要素和判断准则:要素是详细说明书和单元测试用例,判断准则是经过
审查=获得批准和进入配置库。
试题三:
一、判断题(每题 1 分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
软件测试的目的就是为了发现软件中的缺陷,从这个意义上面说上面的这个论断
是正确的。不少人会认为软件测试可以保证软件的质量,其实这个观点是错误,
测试只是软件质量控制中的一个角色,其活动并不能达成软件质量保证的效果。
所以不要认为一个公司里面如果有了软件测试人员,产品的质量就会好起来。
2.Beta 测试是验收测试的一种。(╳)
Beat 测试和验收测试是两种不同的测试。验收测试的目的是为了以发现”未实
现的需求”为目的,以评估”适合使用”为目标,该类测试的不是以发现缺陷为
主要目的。beta 测试是一模拟真实的使用环境从而发现缺陷的一种测试。所以
两者之间的是非包容关系。
3.验收测试是由最终用户来实施的。()
上面说到了验收测试的目的和目标,所以验收测试也可是是软件生产的企业内部
人员来实施。例如产品经理。当软件以项目的形式出现,那么验收测试由最终用
户来实施的情况是比较长见的。但是对于产品形式的软件,生产企业内部的验收
测试会更多。
4.项目立项前测试人员不需要提交任何工件。()
应该说这道题目没有明确的答案,在项目立项前测试人员是不是要把一些准备工
作以工件的形式给记录下来是完全取决于该企业的软件开发过程的要求。同时不
同企业,立项前要达成的一些必要条件也是大相径庭的。应该说这一题目出的不
是很好,如果你是出题人这家企业的测试工程师,那么就应该有一个明确的答案。