软件测试期末考试
--冯君 贵州大学
一、判断正误题
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/T174中,软件包质量要求包括三部分,即产品描述要求、( 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 测试的描述中正确的是:( 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、分析 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分) Ø 负载测试(P1):
负载测试是一个通过分析软件应用程序和支撑架构,模拟真实环境的使用,来确定能够接受的性能的过程。
负载测试的目标是:确定在各种工作负载下系统的性能,主要是测试当负载逐渐增加时,系统组成部分的相应输出项(如通过量、响应时间、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题)
Ø α测试、β测试、负载测试、压力测试(强度测试):
α测试:Alpha测试是由选定的用户进行的产品早期性测试,这个测试一般在可控的环境下进行。
β测试(P29):Beta测试是从用户角度进行的测试,是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。它是在开发者无法控制的软件环境下进行的软件现场应用。 强度测试:
也称压力测试、负载测试。强度测试是要破坏程序,检测非正常的情况系统的负载能力。
强度测试模拟实际情况下的软硬件环境和用户使用过程的系统负荷,长时间或超负荷地运行测试软件来测试系统,以检验系统能力的最高限度,从而了解系统的可靠性、稳定性等。 Ø 逻辑覆盖、路径覆盖:
逻辑覆盖:是以程序内部的逻辑结构为基础的设计测试用例的技术。它属于白盒测试。
路径覆盖:路径覆盖是在组件中被测试执行到的路径的百分比。要求设计若干测试用例,执行被测试程序时,能够覆盖程序中所有的可能路径。 Ø 软件测试活动生命周期:
软件测试活动生命周期:是指软件从进入测试到退出测试的过程中,所要经历的引入程序错误、通过测试发现错误和清除程序错误的几个阶段。 Ø 桩模块、驱动模块:
桩模块(P105):用于代替所测模块调用的子模块。桩模块可以进行少量的数据操作,不需要实现子模块的所有功能,但要根据需要来实现或代替子模块的一部分功能。
驱动模块(P105):相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实际测试结果。
Ø 大爆炸集成、三明治集成、改进的三明治集成、高频集成:
大爆炸集成(P153):属于非增值式集成的一种方法,也称为一次性组装或整体拼装。这种集成策略的做法就是把所有通过单元测试的模块一次性集成到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险。
三明治集成(P158):一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点,因此也属于基于功能分解的集成。这种方法桩和开发工作都比较小,但增加了定位缺陷的难度。
改进的三明治集成(P160):利用较高的并行度弥补三明治集成中不能充分测试中间层的缺点。但根据中间层选择是否恰当,可能增加驱动模块和桩模块设计的工作量。
高频集成(P165):高频集成测试是指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。该集成测试方法频繁地将新代码加入到一个已经稳定的基线中,以免集成故障难以发现,同时控制可能出现的基线偏差。 四、 简答题(30分/6题) Ø 软件测试和软件测试结束的标准:
(可能考法:什么是软件测试,软件测试分为哪几个阶段)
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试过程按各测试阶段的先后顺序可分为单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试5个阶段
软件测试退出标准为:完成测试需求中列出的所有功能及测试过程中发现缺陷的回归测试。 Ø 软件缺陷等级:
1) 致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。
2) 严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。
3) 一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。
4) 微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等。 Ø 阶段评审和同行评审:
同行评审是一种重要而有效的工程方法,在软件产品工程中调用此方法,可通过法根式审查、结构化走查或者一些其他的学院式的评审方法加以实施。其目的是及早和高效地去除软件工作中的缺陷,必然结果是增强对软件工作产品和可预防缺陷的了解。
阶段评审是利用在需求分析阶段所选择并制定的标准、规范以及计划的安排,对软件工程各阶段的进展、完成质量及出现的问题进行正式评审,确保过程计划并遵守标准和规范执行,然后形成报告。当发现问题是,要准寻逐级解决的原则,将处理结果通知相关人员,记录解决过程及结果以作日后改进重要参考资料。 两者都是有关软件质量管理和保证的重要内容,二者相辅相成,缺一不可。
Ø ※单元测试策略(特别注意退出的原则)和集成测试的策略(P106): 单元测试策略主要有三种方式: 1) 自顶向下的单元测试策略: 2) 自底向上的单元测试策略: 3) 孤立测试的单元测试策略: 单元测试退出的标准:
1) 单元测试用例设计已经通过评审 2) 核心代码100% 经过Code Review 3) 单元测试功能覆盖率达到100% 4) 单元测试代码行覆盖率不低于80%
5) 所有发现缺陷至少60%都纳入缺陷追踪系统且各级缺陷修复率达到标准 6) 不存在A、B类缺陷 7) C、D、E类缺陷允许存在
8) 按照单元测试用例完成了所有规定单元的测试 9) 软件单元功能与设计一致 集成测试的策略: 1) 大爆炸集成 2) 自顶向下集成 3) 自底向上集成 4) 三明治集成 5) 高频集成 6) 分层集成
7) 分布式集成
8) 基于路径、功能、进度、风险、事件、使用等的集成 等等
Ø 恢复性测试和安全性测试: 恢复性测试
也叫容错测试,用来检查系统的容错能力。通常若计算机系统出现错误,就必须在一定时间内从错误中恢复过来,修正错误并重新启动系统。
恢复测试是通过各种手段,让软件强制性地出错,使其不能正常工作,从而检验系统的恢复能力。
在进行恢复性测试时,要考虑的主要问题有: 1) 恢复期间的安全性过程。 2) 恢复处理日志方面的能力。 3) 当出现供电问题时的恢复能力。 4) 恢复操作后系统性能是否下降。
常用的恢复测试用例的设计方法:规范导出法、错误猜测法、基于故障的测试。
安全性测试就是要验证系统内的保护机制能否抵御入侵者的攻击。
安全性测试的测试人员需要在测试活动中,撒气不同的入侵方式来攻击系统的安全机制,想尽一切办法来获取系统内的保密信息。 通常需要模拟的活动有:
1) 获取系统密码
2) 破坏保护客户信息的软件
3) 独占整个系统资源,使别人无法使用
4) 使得系统瘫痪,企图在恢复系统阶段获得利益等 Ø 判断系统安全性性能的指标:
1) 有效性:启动严格的安全性性能所花费的时间占启动整个系统所花费时间的比例。
2) 生存性:当错误发生时,系统对紧急操作的支持,对错误的补救措施以及恢复到正常操作的能力,即系统的抗挫能力。
3) 精确性:衡量系统安全性控制的精度指标,围绕所出现的错误数量、发生频率及其严重性判断。
4) 反应时间:出错时系统响应速度的快慢,一个安全性较强的系统要具备快速的反应速度。
5) 吞吐量:用户和服务请求的峰值和平均值。 五、 设计案例(15分/2题)
Ø 怎样制定有效等价类、无效等价类(作业1): 测试场景:
一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的 ? 设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足:
? A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B; ? 如果是等腰的,还要判断A=B,或B=C,或A=C; ? 如果是等边的,则需判断是否A=B,且B=C,且A=C。 Ø 根据程序画出程序流程图(作业2): 程序流程图 ↓
控制流图(已经给出) ↓ 圈复杂度 ↓ 路径 ↓ 测试用例
Ø 制定有效等价类、无效等价类: 输入条件 有效等价类
是否构成三角形
A>0 (1) B>0 (2) C>0 (3) A+B>C (4) 无效等价类
A≤0 (7) B≤0 (8) C≤0 (9) A+B≤C (10)
B+C>A (5) B+C≤A (11) C+A>B (6) C+A≤B (12)
是否构成普通三角形 A+B>C (13)A+B≤C (16)
B+C>A (14)B+C≤A (17) C+A>B (15)是否等腰三角形
(A=B)&(A+B>C) (19)(B=C)&(B+C>A) (20)(C=A)&(C+A>B) (21)是否等边三角形
(A=B)&(B=C)&(C=A) (25)A≠B (26)
Ø 路径测试法应用举例: 程序: 1 main () 2 {
3 int num1=0, num2=0, score=100; 4 int i; 5 char str;
6 scanf (“%d, %c\\n”, &i, &str); 7 while (i<5)
C+A≤B (18)
A≠B (22) B≠C (23) C≠A (24)
B≠C (27) C≠A (28)
8 {
9 if (str=’T’) 10 num1++;
11 else if (str=’F’) 12 {
13 score=score-10; 14 num2 ++; 15 } 16 i++; 17 }
18 printf (“num1=%d, num2=%d, score=%d\\n”, num1, num2, score); 19 }
(一) 根据程序画出控制流图:
控制流图G (二) 根据控制流图计算圈复杂度:
根据程序环形复杂度的计算公式,求出程序路径集合中的路径数目。
公式1:V(G)=10-8+2,其中10是控制流图G中边的数量,8是控制流图中节点的数目。
公式2:V(G)=3+1,其中3是控制流图G中判断节点的数目。 公式3:V(G)=4,其中4是控制流图G中区域的数目。
因此,控制流图G的环形复杂度是4。就是说至少需要4条路径组成基本路径集合,并由此得到能够覆盖所有程序语句的测试用例。 (三) 确定基本路径集合(即路径集合):
一条路径是至少包含有一条在其它路径中从未有过的边的路径。 根据上面环形复杂度的计算结果,源程序的基本路径集合中有4条路径: path1:7->18
path2:7->9->10->16->7->18 path3:7->9->11->15->16->7->18 path4:7->9->11->13->14->15->16->7->18
(四) 为每一条路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次:
测试用例 输入
i
Case 1 Case 2 Case 3 Case 4 六、参考题
5 4 4 4
str ‘T’ ‘T’ ‘A’ ‘F’
期望输出 Num 1 0 1 0 0
Num 2 0 0 0 1
Score 100 100 100 90
路径 1 路径 2 路径 3 路径 4 执行路径
(一) 判断:
判定语句:对于连锁型分支结构,若有n个判定语句,则有2n条路径。 黑盒测试:用黑盒法测试时,测试用例是根据产品的功能设计的。 (二) 选择:
Ø 软件测试的目的是(发现软件的错误)。
Ø 为了提高测试的效率,应该( 选择发现错误的可能性大的数据作为测试数据 )。
Ø 使用白盒测试方法时,确定测试数据应根据( 程序的内部逻辑)和指定的覆盖标准。
Ø 与设计测试数据无关的文档是( 项目开发计划 )。
Ø 软件的工作最好由(不属于该软件开发组的软件设计人员)承担,以提高集成测试的效果。
测试真正的目的是使我们通过对软件错误的原因和分布进行归纳,来发现并排除当前软件产品的缺陷,对在需求和设计过程中存在的问题查缺补漏,从而确保软件产品的质量。
常见软件测试工程师面试题
1. 你如何在pocket pc 上TEST 你的程序. 你考虑了哪些方面. 2. 如果将你的程序的语言扩展到非英语,例如中文, 你如何测试. 3. 给你一个COCAN, 你如何测试(解释说就是罐装的可口可乐). 4. 当你的程序遇到BUG的时候,你选择怎样处理. 5. 你如何isolation 你程序里的BUG.
6. 给你一个产品有10个functionality,如果时间紧迫, 只能测其中的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
转贴请注明 : http://www.pghome.net 志远工作室 4.测试设计员的职责有:() A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本
D.评估测试活动 合理的答案的是BC,同时要看软件企业对该类人员的职责是如何定义。
5.软件实施活动的进入准则是:() A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化
D.项目阶段成果已经被基线化先要了解一下什么是基线。这个是软件配置管理中一个重要的概念。工作产品必须纳入到一定的基线里面。所以选择ABC是必定的,至于是否选择D要看这家企业自身的标准了
填空题(每空1分,24 分)
1.软件验收测试包括___、___、____三种类型。软件验收测试包括正式验收测试、alpha测试、beta测试三种测试。
2.系统测试的策略有功能测试、、、、易用性测试、、、、、、、、 、、等15 种方法。 系统测试的策略有很多种的,我知道的有性能测试、负载测试、强度测试、易用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可用性测试。。。
3.设计系统测试计划需要参考的项目文档有、和迭代计划。设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。
4.对面向过程的系统采用的集成策略有___、___两种。 5.通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。利用因果图生成测试用例的基本步骤是: § 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 § 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。 § 由于语法或环境,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或条件。 § 把因果图转换成判定表。 § 把判定表的每一列拿出来作为依据,设计测试用例。
常见的软件测试面试题
常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
1. 等价类划分
常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.
2. 边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的
错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.
3. 错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.
错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.
4. 因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.
5. 正交表分析法
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
6. 场景分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。
您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
详细的描述一个测试活动完整的过程。
1. 项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后SQA进入项目,开始进行统计和跟踪
2. 开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述。
3. 测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。
4. 测试用例完成后,测试和开发需要进行评审。
5. 测试人员搭建环境
6. 开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现BUG后提交给BugZilla。
7. 开发提交第二个版本,包括Bug Fix以及增加了部分功能,测试人员进行测试。
8. 重复上面的工作,一般是3-4个版本后BUG数量减少,达到出货的要求。
9. 如果有客户反馈的问题,需要测试人员协助重现以及回归测试。
以往是否曾经从事过性能测试工作?请尽可能的详细描述您以往的性能测试工作的完整过程。
曾经做过一套网管系统的性能测试,主要测试该软件在同时管理大量终端的情况下,在响应时间,CPU/磁盘/内存等参数是否满足要求。
也曾经做过软交换系统的呼叫性能测试,主要是测试软交换系统在有大量呼
叫的情况下,响应时间,呼叫成功率,CPU/磁盘/内存等参数是否满足设计要求。
您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
测试网管系统中,使用的Mimic来模拟终端,能够大量的节省成本。
测试软交换系统的时候,使用的Prolab来模拟终端并发送呼叫软交换,他完成了同时数百人才能完成的摘机拨号工作,主要工作原理是产生一些符合要求的IP包并发送给软交换系统,同时对软交换系统的回应进行处理,决定下一步动作。
您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
主要是保障在大量用户的情况下,服务能正常使用。
在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
1. 在传统的BugZilla中,BUG描述应该包括以下的信息
2. 和BUG产生对应的软件版本
3. 开发的接口人员
4. BUG的优先级
5. BUG的严重程度
6. BUG可能属于的模块,如果不能确认,可以用开发人员来判断
7. BUG标题,需要清晰的描述现象
8. BUG描述,需要尽量给出重新Bug的步骤
9. BUG附件中能给出相关的日志和截图。
高质量的BUG记录就是指很容易理解的BUG记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。
对软件测试工程师面试题目的回答
01.为什么要在一个团队中开展软件测试工作? 保证软件质量的最后一道关口。
02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
测试计划->测试设计(测试用例,测试数据)->测试执行(单元测试,集成测试,系统测试,回归测试)
03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 易用性测试-界面的友好性,操作方便性等。
功能测试-系统中功能性需求的满足 安全性测试-系统是否存在安全隐患和漏洞 性能测试-系统在大并发下的响应速度和健壮性
04.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码
单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。 集成测试:模块或模块直接的集成接口测试,单个模块测试 系统测试:一个完整功能的完全测试。
05.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
提前安排出测试工具选择,测试类型选择,人员需求,保证和项目开发协调一致,保证测试工作顺利进行。
06.您认为做好测试计划工作的关键是什么? 了解项目或系统的业务需求
和项目经理协调好,了解项目的进度计划安排情况
07.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
边界值/等价类/业务流程图分析和状态转换分析/业务逻辑分析 08.您认为做好测试用例设计工作的关键是什么?
对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计 09.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。 评审计划->预审->评审;
评审内容主要是测试用例对软件需求的覆盖程度,对于相关边界是否考虑,是否针对复杂流程准备多套测试数据,是否有专门针对非功能性需求的测试。
10.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
制订计划->选择测试功能->选择测试工具->录制脚本->运行测试->分析结果 11.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
微软WAS,LoadRunner
12.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 关键是测试脚本的录制,测试时候测试环境的干净。
13.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
缺陷名词/描述/缺陷等级/严重程度/发现模块/发现步骤和过程/是否可以重现 14.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。 CQ,也可以使用BugFree等免费工具。
15.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?
将先进的经验或思想固化到过程中,通过过程改进和能力提高来改进软件质量。
软件测试:微软测试工程师面试题
1. 你如何在pocket pc 上TEST 你的程序. 你考虑了哪些方面. 2. 如果将你的程序的语言扩展到非英语,例如中文, 你如何测试.
3. 给你一个COCAN, 你如何测试(解释说就是罐装的可口可乐). 4. 当你的程序遇到BUG的时候,你选择怎样处理. 5. 你如何isolation 你程序里的BUG.
6. 给你一个产品有10个functionality,如果时间紧迫, 只能测其中的5个, 你如何选择. 其它相关:
如果别人问我这些题目,我想我会大致这样回答,各位从事软件测试的同志们帮我看看回答的怎么样。
01. 为什么要在一个团队中开展软件测试工作?
答:软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。
02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作? 答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。
软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。
03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
答:需求人员连同系统分析人员&测试人员开会讨论需求。系统分析人员写出需求分析说明,并连同系统分析人员&测试人员&需求人员开会讨论可行性。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出Bug统计表。
04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
答:从事过write test plan,creation of test case,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长与写测试用例和进行功能测试。
05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
答:有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。
功能测试只对软件的功能是否满足用户需求来做测试。性能测试需要和压力和负载测试联合起来。
06. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。 白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。 单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。 集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。 系统测试:在所有都考虑的情况下,对系统进行测试。 验收测试:第三方进行的确认软件满足需求的测试。
● 在计算机系统中,存取速度最快的是___(1)___。
(1)A.CPU内部寄存器 B.计算机的高速缓存Cache
C.计算机的主存 D.大容量磁盘
● 模块的耦合度描述了___(2)___。
(2)A.模块内各种元素结合的程度 B.模块内多个功能之间的接口 C.模块之间公共数据的数量 D.模块之间相互关联的程度
● 若某计算机系统是由500个元器件构成的串联系统,且每个元器件的失效率均为,在不考虑其它因素对可靠性的影响时,该计算机系统的平均故障间隔
时间为___(3)___小时。
(3)A. B. C. D. ● 内聚是一种指标,表示一个模块___(4)___。
(4)A.代码优化的程度 B.代码功能的集中程度 C.完成任务时及时程度 D.为了与其他模块连接所要完
成的工作量
● 为了解决进程间的同步和互斥问题,通常来用一种称为___(5)___机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那
么使系统不发生死锁的资源R的最少数目是___(6)___。
(5)A.调度 B.信号量 C.分派 D.通讯 (6)A.20 B.18 C.16 D.15
● 在UNIX操作系统中,把输入/输出设备看作是___(7)___。 (7)A.普通文件 B.目录文件 C.索引文件 D.特殊文件 ● 某磁盘盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,假定分配以扇区为单位。若使用位示图管理磁盘空间,则位示图需要占
用___(8)___字节空间。
(8)A.16000 B.1000 C.2000 D.1600 ●___(9)___描述数据的局部逻辑视图,是数据库用户的数据视图,它是与
某一应用有关的数据逻辑表示。
(9)A.模式 B.逻辑模式 C.外模式 D.内模式 ● 某数据库中有员工关系E、产品关系P、仓库关系W和库存关系I,其中: 员工关系E(employeelD,name,department)中的属性为:员工编号,姓
名,部门;
产品关系P(productID,name,model,size,color)中的属性为:产品编号,
产品名称,型号,尺寸,颜色;
仓库关系W(warehouselD,name,address,employeeID)中的属性为:仓
库编号,仓库名称,地址,员工编号;
库存关系I(warehouseID,productID,quantity)中的属性为仓库编号,产品
编号和产品数量。
a.若要求仓库关系的负责人引用员工关系的员工编号,员工关系E的员工编号、仓库关系W的仓库编号和产品关系P的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是___(10)___。
b.可得到每种产品伪名称和该产品的总库存量的查询语句为;
SELELCT name,SUM(quantity)
FROM P,I WHERE___(11)___
(10)A.实体完整性、参照完整性、用户定义完整性 B.参照完整性、实体完整性、用户定义完整性 C.用户定义完整性、实体完整性、参照完整性 D.实体完整性、用户定义完整性、参照完整性
(11)A.P.productID=I.productlD;
B.P.productID=I.product ID ORDER BY name; C.P.productID=I.product ID GROUP BY name; D.P.productID=I.product ID GROUP BY name,quantity。
● 与多模光纤相比较,单模光纤具有___(12)___等特点。 (12)A. 较高的传输率、较长的传输距离、较高的成本 B. 较低的传输率、较短的传输距离、较高的成本 C. 较高的传输率、较短的传输距离、较低的成本 D. 较低的传输率、较长的传输距离、较低的成本
● “
记的属性值是___(13)___。
(13)A.title B.style C.italic D.science ● 某校园网用户无法访问外部站点210.102.58.74,管理人员在windows 操
作系统下可以使用___(14)___判断故障发生在校园网内还是校园网外。
(14)A. ping 210.102.58.74 B. tracert 210.102.58.74 C. netstat 210.102.58.74 D. arp 210.102.58.74
● SNMP 所采用的传输层协议是___(15)___。
(15)A. UDP B. ICMP C. TCP D. IP
● 渐增式开发方法有利于___(16)___。
(16)A.获取软件需求 B.快速开发软件 C.大型团队开发 D.商业
软件开发
● 高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的
是___(17)___。
(17)A.语句 B.语义 C.语用 D.语法 ● ___(18)___是面向对象程序设计语言不同于其它语言的主要特点,是否建立了丰富的___(19)___是衡量一个面向对象程序设计语言成熟与否的重要标志
之一。
(18)A. 继承性 B. 消息传递 C. 多态性 D. 静态联
编
(19)A. 函数库 B. 类库 C. 类型库 D. 方法库 ● 某市标准化行政主管部门制定并发布的工业产品的安全、卫生要求的标
准,在其行政区域内是___(20)___。
(20)A.强制性标准 B.推荐性标准 C.自愿性标准 D.指导性
标准
● 王某购买了一个“海之久”牌活动硬盘,而且该活动硬盘还包含有一项实用
新型专利,那么,王某享有___21___。
(21)A.“海之久”商标专用权 B.该盘的所有权 C.该盘的实用新型专利权 D.前三项权利之全部 ● 甲企业委托软件公司程序员王某开发管理软件,并与王某签订了书面协
议,但协议中未对软件著作权归属做出明确的约定,其软件著作权属于
___(22)___。
(22)A.甲企业 B.软件公司 C.程序员王某 D.软件
公司和甲企业
● 依据著作权法,计算机软件著作权保护的对象是指___(23)___。 (23)A. 计算机硬件 B. 计算机软件 C. 计算机硬件和软件 D. 计
算机文档
● 相对于DES算法而言,RSA算法的___(24)___,因此,RSA___(25)___。 (24)A.加密密钥和解密密钥是不相同的 B.加密密钥和解密密钥是相
同的
C.加密速度比DES要高 D.解密速度比DES要高
(25)A.更适用于对文件加密 B.保密性不如DES C.可用于对不同长度的消息生成消息摘要 D.可以用于数字签名 ● 在C++语言中,已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3:类P和类Q是类O的派生类,其继
承方式如下所示:
class P : protected O {…}; class Q : public O {…};
关于方法F1的描述中正确的是___(26)___;关于方法F2韵描述中正确的
是___(27)___;关于方法F3的描述中正确的是___(28)___。
(26)A.方法F1无法被访问 B.只有在类O内才能访
问方法F1
C.只有在类P内才能访问方法F1 D.只有在类Q内才能
访问方法F1
(27)A.类O、P和Q的对象都可以访问方法F2 B.类P和Q的对象
都可以访问方法F2
C.类0和Q的对象都可以访问方法F2 D.只有在类P内才能
访问方法F2
(28)A.类0、P和Q的对象都可以访问方法F3 B.类0、P和Q的对
象都不可以访问方法F3
C.类0和Q的对象都可以访问方法F3 D.类P和Q的对象
都可以访问方法F3。
● 正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软
件质量保证活动,下面关于FTR指导原则中不正确的是___(29)___。
(29)A.评审产品,而不是评审生产者的能力 B.要有严格的评审计划,并遵守日程安排 C.对评审中出现的问题要充分讨论,以求彻底解决 D.参与者人数,并要求评审会之前做好准备
● 在绘制数据流图时,要遵循的一个原则是父图与子图的平衡,所谓平衡是
指___(30)___。
(30)A.父图和子图都不得改变数据流的性质 B.子图不改变父图数据流的—致性
C.父图的输入/输出数据流与子图的输入/输出数据流一致 D.子图的输出数据流完全由父图的输入数据流确定
● 某系统的顶层DFD图如下,其中,加工1细化后的DFD图是___(31)___。 ● 下图中的程序由A、B、C、D、E 5个模块组成,下表中描述了这些模块之间的接口,每一个接口有一个编号。此外,模块A、D和E都要引用一个专用
数据区。那么A和E之间耦合关系是___(32)___。
(32)A.公共耦合 B.数据耦合 C.内容耦合 D.
无耦合
● 在C++语言中,若类C中定义了一个方法int f(int a,int b),那么方法
___(33)___不能与该方法同时存在于类C中。
(33)A.int f(int x,int y) B.int f(float a,int b) C.float f(int x,float y) D.int f(int x,float y) ● 在面向对象软件开发过程中,采用设计模式___(34)___。 (34)A.允许在非面向对象程序设计语言中使用面向对象的概念
B.以复用成功的设计和体系结构
C.以减少设计过程创建的类的个数 D.以保证程序的运行速度达到最优值
● 两个小组地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错
误总数是___(35)___个。
(35)A.25 B.30 C.50 D.60
● 对于软件的β测试,下列描述正确的是___(36)___。
(36)A.β测试就是在软件公司内部展开的测试,由公司专业的测试人员执
行的测试
B.β测试就是在软件公司内部展开的测试,由公司的非专业测试人员
执行的测试
C.β测试就是在软件公司外部展开的测试,由专业的测试人员执行的
测试
D.β测试就是在软件公司外部展开的测试,可以由非专业的测试人员
执行的测试
●___(37)___可以作为软件测试结束的标志。
(37)A.使用了特定的测试用例 B.错误强度曲线下降到预定
的水平
C.查出了预定数目的错误 D.按照测试计划中所规定的
时间进行了测试
● 下面①--④是关于软件评测师工作原则的描述,正确的判断是
___(38)___。
①对于开发人员提交的程序必须进行完全的测试,以确保程序的质量 ②必须合理安排测试任务,做好周密的测试计划,平均分配软件各个模块
的测试时间
③在测试之前需要与开发人员进行详细的交流,明确开发人员的程序设计思路,并以此为依据开展软件测试工作,最大程度地发现程序中与其设计思路不
一致的错误
④要对自己发现的问题负责,确保每一个问题都能被开发人员理解和修
改。
(38)A.①、② B.②、③ C.①、③ D.无 ● 在软件生命周期的不同阶段,需要实施不同类型的测试工作,单元测试是对程序设计进行验证,其中___(39)___不是单元测试的主要内容。在进行单元测试过程中,通常测试工程师都需要借助___(40)___来代替所测模块调用的子模块:在单元测试的基础上,需要将所有模块按照概要设计和详细设计说明书的
要求进行组装,模块组装成系统的方式有两种,分别是___(41)___。 (39)A.模块接口测试 B.有效性测试 C.路径测试 D.边
界测试
(40)A.桩模块 B.驱动模块 C.桩模块和驱动模块 D.
存根模块和驱动模块
(41)A.一次性组装和增殖性组装 B.自顶向下组装和启底向上
组装
C.单个模块组装和混合模块组装 D.接口组装和功能组装 ● 黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括___(42)___等。现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入的是2元币,在送出饮料的同时退还1元币。下表是用因果图法设计的部分测试用例,l表示执行该动作,0表示不执行该动作,___(43)___的各位数据,从左到右分别填入空格表中的(1)—(8)是正确的。 (42)A.等价类划分法、因果图法、边界值分析法、错误推测法、判定表驱
动法
B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法 C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法 D.等价类划分法、因果图法、边界值分析法、静态质量度量法、场景
法
(43)A.01001100 B.01101100 C.01001010 D.
11001100
● 多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也
是满足___(44)___级别的:针对布尔表达式
A&&(B||C) 执行逻辑覆盖测试,测试用例至少需要___(45)___种组合才能满足
多条件覆盖的要求。
(44)A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖 B.判定覆盖、条件覆盖;条件判定组合覆盖、修正条件判定覆盖 C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖
D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖 (45)A.6 B.4 C.8 D.12 ● 典型的软件测试过程模型有___(46)___等,在这些模型中,___(47)___强调了测试计划等工作的先行和对系统需求和系统设计的测试,___(48)___对
软件测试流程予以了说明。
(46)A.V模型、W模型、H模型、渐进模型 B.V模型、W模型、H模型、螺旋模型 C.X模型、W模型、H模型、前置测试模型 D.X模型、W模型、H模型、增量模型
(47)A.V模型 B.W模型 C.渐进模型 D.螺
旋模型
(48)A.V模型 B.W模型 C.H模型 D.增
量模型
● 下述关于错误处理流程管理的原则,___(49)___的说法是不正确的。 (49)A.为了保证正确地定位错误,需要有丰富测试经验的测试人员验证发
现的错误是否是真正的错误,并且验证错误是否可以再现。
B.每次对错误的处理都要保留处理信息,包括处理人姓名、处理时间、
处理方法、处理意见以及错误状态
C.错误修复后必须由报告错误的测试人员确认错误已经修复,才能关
闭错误
D.对于无法再现的错误,应该由项目经理,测试经理和设计经理共同
讨论决定拒绝或者延期。
● GB/T16260—2003《软件工程产品质量》规定的软件产品使用质量特性
包括___(50)___。
(50)A.适应性、生产率、可靠性、满意度 B.有效性、生产率、安全性、满意度 C.有效性、可靠性、适应性、满意度 D.适应性、适用性、效率、满意度
● 软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性___(51)___是指在软件发生故障或者违反指定接口的情况下,
软件产品维持规定的性能级别的能力。
(51)A.成熟性 B.易恢复性 C.容错性 D.
可靠性依从性
● GB/T105—2002《软件工程 产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价,其中有关“规定
评价”部分包含的内容有___(52)___。
(52)A.选择度量、建立度量评定等级、确立评估准则: B.指定质量模型、选择度量、建立度量评定等级 C.选择度量、建立度量评定等级、制定评价计划 D.确定产品类型、选择度量、建立度量评定等级
● GB/T105-2002《软件工程 产品评价》提供了软件产品评价的过程,其中GB/T105—2002《软件工程 产品评价》第五部分评价者用的过程供
___(53)___。
(53)A.计划获取或复用某个已有的软件产品的组织予以使用
B.对软件产品执行评估的评价者使用
C.计划开发新产品或增强现有的产品,以及打算利用他们自己的技术
人员进行产品评价的组织使用 D.编制评价模块的文档提供指南
● 用边界值分析法,假定1 ()A.X=1,X=100 B.X=0,X=1,X=100,X=101 C.X=2, X=99 D.X=O,X=101 ● 导致软件缺陷的原因有很多,①—④是可能的原因,其中最主要的原因包 括___(55)___。 ①软件需求说明书编写的不全面,不完整,不准确,而且经常更改 ②软件设计说明书 ③软件操作人员的水平 ④开发人员不能很好的理解需求说明书和沟通不足 (55)A.①、②、③ B.①、③ C.②、③ D.①、 ④ ● 关于软件质量的描述,正确的是___(56)___。 (56)A.软件质量是指软件满足规定用户需求的能力 B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护 性、可移植性 C.软件质量保证过程就是软件测试过程 D.以上描述都不对 ● 对于业务流清晰的系统可以利用___(57)___贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用___(58)___选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合 情况,则一开始就可以选用___(59)___和判定表驱动法。 (57)A.等价类划分 B.因果图法 C.正交试验法 D. 场景法 (58)A.等价类划分 B.因果图法 C.正交试验法 D. 场景法 (59)A.等价类划分 B.因果图法 C.正交试验法 D. 场景法 ● 逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是___(60)___。 语句段: if (A && (B||C)) x=l; else x=O; 用例表: (60)A.①TRUE ②FALSE ③TRUE B.①TRUE ②FALSE ③FALSE C.①FALSE ②FALSE ③TRUE D.①TRUE ②TRUE ③FALSE ● ___(61)___方法根据输出对输入的依赖关系设计测试用例。 (61)A.路径测试 B.等价类 C.因果图 D.边界 值 ● 针对下面程序段,边界值问题可以定位在___(62)___。 1:Rem Create a 10 element integer array 2:Rem lnitialize each element to -1 3:Dim data(10) As Integer 4:Dim i As Integer 5:For i=1 TO 10 6:data(i)=-1 7:Next i 8:End (62) A. data(1) B. data(0) C. data(9) D. data(10) ● 以下控制流图的圈复杂度V(g)和基本圈复杂度EV(g)是___(63)___ (63)A.V(g)=5 EV(g)=1 B.V(g)=6 EV(g)=6 C.V(g)=5 EV(g)=5 D.V(g)=6 EV(g)=1 ● 在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理 解,正确的是___()___ ()A.指响应时间 B.指报文从客户端发出到客户端接收到服务器响应的间隔时间 C.指报文在网络上的传输时间 D.指从报文开始进入网络到它开始离开网络之间的时间 ● 为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管 理,一般来说,软件测试配置管理中最基本的活动包括___(65)___ (65)A.配置项标识、配置项控制、配置状态报告、配置审计 B.配置基线确立、配置项控制、配置报告、配置审计 C.配置项标识、配置项变更、配置审计、配置跟踪 D.配置项标识、配置项控制、配置状态报告、配置跟踪 ● Originally introduced by Netscape Communications,___(66)___ are a general mechanism which HTTP Server side applications, such as CGI (67) , can use to both store and retrieve information on the HTTP ___(68)___ side of the connection. Basically, Cookies can be used to compensate for the ___(69)___ nature of HTTP. The addition of a simple, persistent, client-side state significantly extends the capabilities of WWW-based ___(70)___ . (66)A. Browsers B. Cookies C. Connections D. Scripts (67)A. graphics B. processes C. scripts D. texts (68)A. Client B. Editor C. Creator D. Server (69)A. fixed B. flexible C. stable D. stateless (70)A. programs B. applications C. frameworks D. constrains ● WebSQL is a SQL-like ___(71)___ language for extracting information from the web. Its capabilities for performing navigation of web ___(72)___ make it a useful tool for automating several web-related tasks that require the systematic processing of either all the links in a ___(73)___ , all the pages that can be reached from a given URL through ___(74)___ that match a pattern, or a combination of both. WebSQL also provides transparent access to index servers that can be queried via the Common ___(75)___ Interface. (71)A. query B. transaction C. communication D. programming (72)A. browsers B. servers C. hypertexts D. clients (73)A. hypertext B. page C. protocol D. operation (74)A. paths B. chips C. tools D. directories (75)A. Router B. Device C. Computer D. Gateway 试题一 (15分) 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 [说明] 基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句 至少执行一次。以下代码由C什语言书写,请按要求回答问题。 void ReadPara( CString temp) { if ( temp == \">=\") m_oper.SetCurSel(0); else { if (temp == \">\") m_oper.SetCurSel(1); else { if ( temp == \"==\") m_oper.SetCurSel(2); else { if( temp == \"<=\") m_oper.SetCurSel(3); else { if ( temp == \"<\") m_oper.SetCurSel(4); else m_oper.SetCurSel(5); } } } } return; 问题1] (6分) 请画出以上代码的控制流图。 [问题2] (3分) 请计算上述控制流图的环路复杂度V(G)。 [问题3] (6分) 请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖 要求。 试题二 (20分) 阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。 [说明] 针对某公司办公自动化(OA)系统的负载压力测试,采用专业的负载压力测试工具来执行测试。系统采用Browse/Server架构,服务器是一台PC Server(4 路2.7GHz处理器,4GB内存),安装的平台软件包括Microsoft Internet Information Server 5.0,ASP.NET,SQLServer2000。使用2台笔记本电脑安 装测试工具模拟客户端执行“登录”业务操作。 测试目标分别为以下两个: 第一,测试系统分别在2M、4M网络带宽下,能够支持用户登录的最大并 发用户数; 第二,测试服务器的吞吐量(即:每秒可以处理的交易数),主要包括服务器CPU平均使用率达到85%时系统能够支持的最大吞吐量和服务器CPU平均使 用率达到100%时系统能够支持的最大吞吐量。 本次测试的性能需求是:指标“响应时间”合理范围为0~5秒。 测试结果如下: 案例 1 网络环境:2M带宽 客户端性能测试结果; 注:图中登录响应时间的纵坐标单位是0.1秒 服务器资源使用结果: 注:图中登录响应时间的纵坐标单位是0.1秒 服务器资源使用结果 [问题1] (3分) 简述软件系统交易执行响应时间(“RT”,ResponseTime)的概念。 [问题2] (3分) 分析案例 1 的测试结果数据;指出满足系统的性能指标需求时,系统能够 承受的并发用户登录的最大数量,并说明理由。 [问题3] (4分) 分析案例 1 的测试结果数据,说明服务器CPU资源使用率是否合理,以 及带宽是否是系统瓶颈,并陈述理由。 [问题4] (4分) 分析案例 2 的测试结果数据,说明服务器CPU资源使用率是否合理,以 及增加带宽是否是提高系统性能的有效方法,并陈述理由。 [问题5] (6分) 论述CPU使用率成为系统性能瓶颈时,如何制定解决方案?论述网络带宽 成为系统性能瓶颈时,如何制定解决方案? 试题三 (15分) 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 [说明] 软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。下面是对某IC卡加油机应用系统的基本流和备选流的 描述。 基本流A; 2 验证加油卡 加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡 3 验证黑名单 加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞卡 备选流: B 加油卡无效 在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC 卡,加油机退 卡,并退出基本流 C 卡账户属于黑名单 在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂 失,加油机吞 卡退出基本流 D 加油卡账面现金不足 E 加油机油量不足 [问题1] (5分) 使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字 母A表示,备选流用题干中描述的相应字母表示。 [问题2] (4分) 场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试 用例。 如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额、加油机油量),然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成功加油” 基本流。请按上述规定为其它应用场景设计用例矩阵。 测试用例表 场景 账号 预期结果 [问题3] (3分) 假如每升油4元人民币,用户的账户金额为1000元,加油机内油量足够,那么在A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输入数 据(即油量,单位;升)。 [问题4] (3分) 假设本系统开发人员在开发过程中通过测试发现了20个错误,的测试组通过上述测试用例发现了100个软件错误,系统在上线后,用户反馈了30个 错误,请计算缺陷探测率(DDP)。 试题四 (15分) 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 [说明] 易用性和用户文档是影响软件质量的重要指标,也是直接决定一个软件能否 取得市场成功的关键因素。 [问题1] (5分) 用户对软件系统的第一认识来自于安装,因此易用性的一个重要体现就是安 装的易用性。简述安装测试应当从哪几个方面来考虑问题2] (6分) 软件用户界面起着引导用户操作的重要作用,简述整体界面测试和界面中的 元素测试分别应当设计哪些测试点问题3] (4分) 软件帮助是协助用户使用软件的关键途径,因此也是软件测试过程中的一个 重要内容,简述在进行软件帮助测试时的测试要点。 试题五 (10分) 阅读以下说明,回答问题1和问题2,将解答填入答题纸的对应栏内。 [说明] 软件测试是与软件开发密切相关的一系列有计划的活动,在软件测试过程模 型“V模型”的指导下,开发过程中应该安排一系列不同类型的测试活动。 软件测试过程是由一系列的关键活动组成的,同时软件测试质量的保证手段 是必不可少的。 [问题1] (2分) 针对开发过程中的不同阶段,应该包含那些类型的软件测试。 [问题2] (8分) 简述软件测试过程的关键活动,以及保证软件测试质量的手段。 上午试题答案 下午试题答案 [问题2] V(G)=6 [问题3] 6 除>=、>、==、<=、<之外的字符组合 试题二 [问题1] 响应时间是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指 标,标志了用户执行一项操作大致需要多长时间。 [问题2] 系统能够承受的并发用户登录的最大数量为50 题中指出\"通常情况下,交易操作合理的响应时间为5秒以内\"。此案例中,登录响应时间随虚拟并发用户数增加而增长。在50个虚拟并发用户的负载下,登录响应时间达到5秒(注意图形中响应时间指标的比例为10)。当负载超过50个虚拟并发用户,响应时间超过5秒。所以此案例中最合理的并发用户数为 50。 [问题3] 服务器CPU资源使用率是合理的。 2M带宽是系统处理业务的瓶颈。 理由是对比\"4M带宽登录\"案例,4M带宽下,系统每秒处理完成的登录个数固定在13.5个左右,登录响应时间随虚拟用户数增加而增长。在60个虚拟用户的压力下,登录响应时间在4.2秒左右(注意图形中响应时间指标的比例为10)。在80个虚拟用户的压力下,登录响应时间在5.8秒左右,所以在合理登录响应时间(5秒)内预计同时登录用户数是70左右。服务器CPU使用率成为系统处理的瓶颈。说明随着带宽的提高,系统的处理能力进一步提高,同时高吞吐量造 成了系统资源的紧张,带来了新的系统性能瓶颈。 [问题4] 服务器CPU资源使用率不合理,其平均值超过85%。 4M带宽的网络测试环境与2M带宽的网络测试环境相比,带来了新的系统瓶颈(CPU资源使用率平均值超过85%),所以增加带宽不是提高系统性能的有效方法。在此基础上,继续提高带宽,系统的处理能力将进一步提高,高的处 理能力会使服务器的资源瓶颈进一步加重,带来更加严重的后果。 [问题5] 当CPU资源使用成为系统瓶颈时的解决方案可以概括为: 1. 增加CPU的个数; 2. 提高CPU的主频; 3. 将web服务器与数据库服务器分开部署; 4. 调整软件的设计与开发; 当带宽成为系统瓶颈时的解决方案可以概括为: 1. 增加带宽; 2. 压缩传输数据。 试题三 [问题1] 场景1:A 场景2:A、B 场景3:A、C 场景4:A、D 场景5:A、E [问题2] 测试用例ID号 场景 帐号 是否黑名单卡 输入油量 帐面金额 加油机油黑 预期结果 C02. 场景2:卡无效 1 n/a n/a n/a n/a 退卡 C03. 场景3:黑名单卡 V V n/a n/a n/a 吞卡 C04. 场景4:金额不足 V I V I V 提示错误,重新输入加油量 C05. 场景5:油量不足 V I V V I 提示错误,重新输入加油量 [问题3] 1. 0升 2. 250升 3. 251升 [问题4] DDP=Bugstester(Bugstester+ Bugscustomer)=(20+100)(20+100+30) =80%(0.8) 其中,Bugstester为测试者发现的错误数; Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。 试题四 [问题1] 评估安装手册 安装的自动化测试 安装选项和设置的测试 安装过程的中断测试 安装顺序测试 多环境安装测试 安装正确性测试 修复安装与卸载测试 [问题2] 界面整体测试:规范性测试、合理性测试、一致性测试和界面定制性测试 界面元素测试:窗口测试、菜单测试、图标测试、鼠标测试和文字测试。 [问题3] 文本的准确性 与程序的接口 帮助索引的检查 超链接的正确性 链接的意义 风格应简洁 试题五 [问题1] 单元测试 集成测试 确认测试(系统测试) 验收测试 [问题2] 知识点包括: 软件测试过程的关键活动: 测试需求分析 制定测试计划 测试设计 测试执行 测试分析与总结 质量保证手段: 制定质量保证计划、质量体系建立 测试活动审核、测试文档评审 测试过程数据的收集、度量与分析 1、下面的哪一项测试步骤中需要进行局部数据结构测试: ( A ) A、单元测试 B、集成测试 C、确认测试 D、系统测试 2、从是否需要执行被测软件的角度,软件测试技术可划分的类型是:( AC )。 A、静态测试 B、黑盒测试 C、动态测试 D、白盒测试 3、从测试阶段角度,测试结束的正确顺序是:( B ) A、单元测试、集成测试、系统测试、确认测试 B、单元测试、系统测试、集成测试、确认测试 C、确认测试、集成测试、系统测试、单元测试 D、确认测试、系统测试、集成测试、单元测试 4、软件的六大质量特性包括: ( A ) A、功能性、可靠性、可用性、效率、可维护、可移植 B、功能性、可靠性、可用性、效率、稳定性、可移植 C、功能性、可靠性、可扩展性、效率、稳定性、可移植 D、功能性、可靠性、兼容性、效率、稳定性、可移植 5、在GB/T174中,软件包质量要求包括三部分,即产品描述要求、( A )、程 序和数据要求。 A、用户文档要求 B、系统功能要求 C、设计要求说明 D、软件配置要求 6、( )可以作为软件测试结束的标志。 A、使用了特定的测试用例 B、错误强度曲线下降到预定的水平 C、查出了预定数目的错误 D、按照测试计划中所规定的时间进行了测试 7、导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。 A、软件需求说明书编写的不全面,不完整,不准确,而且经常更改 B、软件设计说明书 C、软件操作人员的水平 D、开发人员不能很好的理解需求说明书和沟通不足 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务