软件测试题库.docx
《软件测试题库.docx》由会员分享,可在线阅读,更多相关《软件测试题库.docx(37页珍藏版)》请在冰点文库上搜索。
软件测试题库
软件测试期末考试
一、单选题(2分/题,共30分)
二、多选题(1分/题,共10分)
三、名字解释题(3分/题,共9个)
试题一(
一、判断正误题
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.用户文档要求 B.系统功能要求
C.设计要求说明 D.软件配置要求
8、典型的瀑布模型的四个阶段是:
( ABCD )
A、分析 B、设计 C、编码
D、测试 E、需求调研 F、实施
9、( )可以作为软件测试结束的标志。
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测试的描述中正确的是:
(AD )
A.alpha测试需要用户代表参加
B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种
D.alpha测试是验收测试的一种
4.测试设计员的职责有:
( BC )
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:
( ABC )
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
6、典型的瀑布模型的四个阶段是:
( ABCD )
A、分析 B、设计 C、编码
D、测试 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.项目立项前测试人员不需要提交任何工件。
()
应该说这道题目没有明确的答案,在项目立项前测试人员是不是要把一些准备工作以工件的形式给记录下来是完全取决于该企业的软件开发过程的要求。
同时不同企业,立项前要达成的一些必要条件也是大相径庭的。
应该说这一题目出的不是很好,如果你是出题人这家企业的测试工程师,那么就应该有一个明确的答案。
5.单元测试能发现约80%的软件缺陷。
()
同样这一题目也没有标准答案。
因为该数据的来源和其统计的方法,样本都没有一个工业标准。
这样出来的数据同样不具有权威性。
这里我可以说一个简单的例子,在用ASP,php这类脚本语言开发网页的时候是根本没有复杂的单元测试。
那么这样的数字应用在网站开发上面是否有意义,还是值得商榷的。
所以这道题目出的不好,没有明确的答案
6.代码评审是检查源代码是否达到模块设计的要求。
()
代码审查是一种静态技术,从这个意义上说代码复查是需要和其他的一些动态测试技术配合才能检查代码是否符合设计的要求
7.自底向上集成需要测试员编写驱动程序。
()
这道题目大家看下top-down和down-top的集成测试示意图就能得出明确的答案。
这里需要了解的是什么是驱动测试程序,什么是桩程序。
如果集成组件数量众多,多关系层次,那么不论是什么类型的集成测试。
驱动程序和桩程序都是需要开发的。
8.负载测试是验证要检验的系统的能力最高能达到什么程度。
()
关于负载测试和压力测试在论坛中的帖子中有详细的解释,大家可以去看一下就能得出正确的答案
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
()
同样,这一题没有正确的答案。
缺陷是否修复是需要听取测试人员的意见,但测试人员的意见非决定性。
所以还是要看一个企业赋予测试人员有多大的权力。
10.代码评审员一般由测试员担任。
()
如果测试员有这个水平,那么当然是可以参加的。
不过大多数的企业不会让普通的测试人员参与代码的评审。
11.我们可以人为的使得软件不存在配置问题。
()
首先大家先搞清楚什么是配置管理什么是软件配置,从这道题目中看不出出题人想问的是关键工程中的配置管理还是单纯的软件配置。
但是可以肯定的是不论是何种情况,答案均是否定的。
12.集成测试计划在需求分析阶段末提交。
()
集成测试计划在开发人员完成软件集成计划之后就可以开始进行了。
所以在需求分析阶段之后提交是不现实的事情,应该在软件的设计阶段后,编码前。
二、不定项选择题(每题2分,10分)
1.软件验收测试的合格通过准则是:
()
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
回答这道题,你必须是这家企业的员工。
前面说到了验收测试的目的和目标,一个是需求必须实现,二是证明软件是适合使用的。
这样能满足这两个通用标准就可以了。
当然有些软件企业会对验收测试标准做一些调整。
2.软件测试计划评审会需要哪些人员参加?
()
A.项目经理
B.SQA负责人
C.配置负责人
D.测试组
上面的4种角色都需要参与
3.下列关于alpha测试的描述中正确的是:
()
A.alpha测试需要用户代表参加
B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种
D.alpha测试是验收测试的一种
首先大家需要知道alpha测试是系统级别的测试,该测试是在一个受控的环境中进行的。
用户需要直接参与进来。
所以答案应该是AD
4.测试设计员的职责有:
()
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
合理的答案的是BC,同时要看软件企业对该类人员的职责是如何定义。
5.软件实施活动的进入准则是:
()
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
先要了解一下什么是基线。
这个是软件配置管理中一个重要的概念。
工作产品必须纳入到一定的基线里面。
所以选择ABC是必定的,至于是否选择D要看这家企业自身的标准了
填空题(每空1分,24分)
1.软件验收测试包括___、___、____三种类型。
软件验收测试包括正式验收测试、alpha测试、beta测试三种测试。
2.系统测试的策略有功能测试、、、、易用性测试、、、、、、、、
、、等15种方法。
系统测试的策略有很多种的,我知道的有性能测试、负载测试、强度测试、易用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可用性测试。
。
。
3.设计系统测试计划需要参考的项目文档有、和迭代计划。
设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。
4.对面向过程的系统采用的集成策略有___、___两种。
5.通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。
利用因果图生成测试用例的基本步骤是:
§分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
§分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?
根据这些关系,画出因果图。
§由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。
§把因果图转换成判定表。
§把判定表的每一列拿出来作为依据,设计测试用例。
重点复习
软件测试技术*重点复习(带测试案例分析题)
一、判断题(10分)
Ø负载测试(P189):
负载测试是一个通过分析软件应用程序和支撑架构,模拟真实环境的使用,来确定能够接受的性能的过程。
负载测试的目标是:
确定在各种工作负载下系统的性能,主要是测试当负载逐渐增加时,系统组成部分的相应输出项(如通过量、响应时间、CPU负载、内在的使用等)来决定系统的性能。
Ø判定语句:
Ø路径:
Ø验收测试(P200):
验收测试是将程序与其最初的需求及最终用户当前的需要进行比较的过程。
验收测试是软件产品质量的最后一关。
测试主要从用户角度着手。
参与者主要是用户和少量的程序开发人员。
Ø黑盒测试:
(亦功能测试、行为测试、数据驱动测试、基于规格说明的测试)
是一种从用户观点出发的测试。
这种方法把程序当作一个黑盒,忽略其内部结构特性。
测试者只知道输入与输出之间的关系或程序功能,依靠程序功能需求说明书,确定测试用例和推断测试结果的正确性。
测试用例的设计基于产品的功能、目的是检查程序各个功能是否实现,并检查其中的功能错误。
黑盒测试所要发现的外部行为错误:
1)功能不正确或不完整;
2)接口错误;
3)接口所使用的数据结构错误;
4)行为或性能错误;
5)初始化和终止错误;
Ø代码评审员:
Ø集成测试:
集成测试(是对已测试过的模块进行组装)就是对集成到一起的软件组件和硬件组件进行的测试,用于评估这些组件之间能否进行正确的交互。
目的主要是:
检验与软件设计相关的程序结构问题、检查各种组件之间的接口。
集成测试的完成方法:
黑盒测试。
Øβ测试:
Beta测试是从用户角度进行的测试,是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
它是在开发者无法控制的软件环境下进行的软件现场应用。
两种不同的途径:
公共β测试和私有β测试。
二、不定项选择题(20分)
Ø验收测试通过的准则:
Ø跟踪缺陷的定义:
Ø软件测试工具的使用(目的是什么):
A、帮助测试寻找问题
B、协助问题的诊断
C、节省测试时间
Ø软件测试评审会的组成人员:
Ø测试计划的目的:
A.使测试工作顺利进行
B.使项目参与人员沟通更舒畅
C.使测试工作更加系统化
Øα测试是什么:
Alpha测试是由选定的用户在可控的环境下进行的产品早期性测试。
在此测试中,确定并记录要研究的功能和业务任务,但没有可以遵循的特定测试用例。
测试内容由各测试员决定。
这种验收测试方法不像正式验收测试那样组织有序,而且更为主观。
大多数情况下,非正式验收测试是由最终用户组织执行的。
Ø黑盒测试具体有哪些方法:
1)边界值分析法
2)等价类划分法
3)因果图法
4)决策表法
5)功能图分析法
6)错误推测法
7)判定表驱动分析法
8)正交试验设计法
9)状态转换测试
10)分支测试
Ø测试设计人员的职责:
1)确定并描述相应的测试技术。
2)确定相应的测试支持工具
3)定义并维护测试自动化架构。
4)详述和验证需要的测试环境配置。
5)验证与评估测试途径
Ø测试按形态怎么分类:
A.建构性测试
B.系统测试
C.专项测试
Ø瀑布模型的阶段:
A.分析
B.设计
C.编码
D.测试
Ø软件质量包括的内容:
1)软件产品的质量,即满足使用要求的程度。
2)软件开发过程的质量,即能否满足开发所带来的成本、时间和风险等要求。
3)软件在其商业环境中所表现的质量。
Ø什么叫局部数据结构测试:
局部数据结构测试:
设计测试用例检查数据类型说明、初始化、默认值等方面的问题,还要查清全程数据对模块的影响。
Ø软件测试结束的标志是什么:
Ø测试的阶段有哪些:
1)需求规格说明、设计、编码阶段为引入程序错误阶段;
2)测试阶段为发现错误阶段;
3)缺陷分类、缺陷分离、缺陷排除阶段为清除程序错误阶段;
Ø导致软件缺陷的原因:
1)技术问题
2)算法错误。
3)语法错误。
4)计算和精度问题。
5)系统结构不合理,造成系统性能问题。
6)接口参数不匹配出现问题。
Ø六大质量特性有哪些:
1)功能性
2)可靠性
3)易用性
4)效率性
5)可维护性
6)可移植性
三、名词解释(25分/5题)
Øα测试、β测试、负载测试、压