




文档简介
软件测试期末考试 软件测试期末考试 -冯君 贵州大学 -冯君 贵州大学 一、判断正误题 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、导致软件缺陷的原因有很多,AD 是可能的原因,其中最主要的原因包括 ( 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软件验收测试的合格通过准则是:( AD ) A 软件需求分析说明书中定义的所有功能已全部实现, 性能指标全部达到要求。 B 所有测试项没有残余一级、二级和三级错误。 C 立项审批表、需求分析文档、设计文档和编码实现一致。 D 验收测试工件齐全。 2软件测试计划评审会需要哪些人员参加?( ABCD ) A项目经理 BSQA 负责人 C配置负责人 D测试组 3下列关于 alpha 测试的描述中正确的是:( A D ) Aalpha 测试需要用户代表参加 Balpha 测试不需要用户代表参加 Calpha 测试是系统测试的一种 Dalpha 测试是验收测试的一种 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. 集成测试策略主要有哪些?并试描述个以上的具体策略? 答:1、大爆炸集成(P153):属于非增值式集成的一种方法,也称为一次性组 装或整体拼装。 这种集成策略的做法就是把所有通过单元测试的模块一次性集成 到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险。2、三明治 集成(P158):一种混合增量式测试策略,综合了自顶向下和自底向上两种集成 方法的优点, 因此也属于基于功能分解的集成。 这种方法桩和开发工作都比较小, 但增加了定位缺陷的难度。3、自顶向下集成:就是按照系统层次结构图,以主 程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组 装一边进行测试。又可分为深度优先集成和广度优先集成两种方式。4、自底向 上集成:从依赖性最小的底层模块开始,按照层次结构图,逐层向上集成,验证 系统的稳定性。5、高频集成:高频集成测试是指同步于软件开发过程,每隔一 段时间对开发团队的现有代码进行一次集成测试。6、分层集成、分布式集成、 基于路径、功能、进度、风险、事件、使用等的集成等 13 种。 4. 恢复性测试属于软件测试的哪个阶段?并试阐述恢复性测试的概念和进行恢 复性测试分析时主要应考虑的问题。 答:恢复性测试使系统测试阶段的一种方法,也叫容错测试,用来检查系统的容 错能力。通常若计算机系统出现错误,就必须在一定时间内从错误中恢复过来, 修正错误并重新启动系统。在进行恢复性测试时,要考虑的主要问题有:恢复期 间的安全性过程。恢复处理日志方面的能力。当出现供电问题时的恢复能力。恢 复操作后系统性能是否下降。 常用的恢复测试用例的设计方法:规范导出法、错误猜测法、基于故障的测试。 5. 请简述单元测试进入的准则? 答:包括要素和判断准则:要素是详细说明书和单元测试用例,判断准则是经过 审查=获得批准和进入配置库。 试题三: 一、判断题(每题 1 分,12 分,正确的,错误的) 1软件测试的目的是尽可能多的找出软件的缺陷。() 软件测试的目的就是为了发现软件中的缺陷, 从这个意义上面说上面的这个论断 是正确的。不少人会认为软件测试可以保证软件的质量,其实这个观点是错误, 测试只是软件质量控制中的一个角色,其活动并不能达成软件质量保证的效果。 所以不要认为一个公司里面如果有了软件测试人员,产品的质量就会好起来。 2Beta 测试是验收测试的一种。() 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项目经理 BSQA 负责人 C配置负责人 D测试组 上面的 4 种角色都需要参与 3下列关于 alpha 测试的描述中正确的是:() Aalpha 测试需要用户代表参加 Balpha 测试不需要用户代表参加 Calpha 测试是系统测试的一种 Dalpha 测试是验收测试的一种 首先大家需要知道 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 题) 测试、 测试、负载测试、压力测试(强度测试): 测试: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 条边,必须 满足: ? A0,B0,C0,且 A+BC,B+CA,A+CB; ? 如果是等腰的,还要判断 A=B,或 B=C,或 A=C; ? 如果是等边的,则需判断是否 A=B,且 B=C,且 A=C。 根据程序画出程序流程图(作业 2): 程序流程图 控制流图(已经给出) 圈复杂度 独立路径 测试用例 制定有效等价类、无效等价类: 输入条件 有效等价类 无效等价类 是否构成三角形 A0 (1) B0 (2) C0 (3) A+BC (4) A0 (7) B0 (8) C0 (9) A+BC (10) B+CA (5) C+AB (6) B+CA (11) C+AB (12) 是否构成普通三角形 A+BC (13) B+CA (14) C+AB (15) A+BC (16) B+CA (17) C+AB (18) 是否等腰三角形 (A=B) 4 int i; 5 char str; 6 scanf (“%d, %cn”, 7 while (i18 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 str Num 1 Num 2 Score 执行路径 Case 1 5 T 0 0 100 路径 1 Case 2 4 T 1 0 100 路径 2 Case 3 4 A 0 0 100 路径 3 Case 4 4 F 0 1 90 路径 4 六、参考题 (一) 判断: 判定语句:对于连锁型分支结构,若有 n 个判定语句,则有 2n 条路径。 黑盒测试:用黑盒法测试时,测试用例是根据产品的功能设计的。 (二) 选择: 软件测试的目的是(发现软件的错误)。 为了提高测试的效率,应该( 选择发现错误的可能性大的数据作为测试数 据 )。 使用白盒测试方法时,确定测试数据应根据( 程序的内部逻辑)和指定的覆 盖标准。 与设计测试数据无关的文档是( 项目开发计划 )。 软件的工作最好由(不属于该软件开发组的软件设计人员)承担,以提高集成 测试的效果。 测试真正的目的是使我们通过对软件错误的原因和分布进行归纳, 来发现并排除 当前软件产品的缺陷,对在需求和设计过程中存在的问题查缺补漏,从而确保软 件产品的质量。 常见软件测试工程师面试题常见软件测试工程师面试题 1. 你如何在 pocket pc 上 TEST 你的程序. 你考虑了哪些方面. 2. 如果将你的程序的语言扩展到非英语,例如中文, 你如何测试. 3. 给你一个 COCAN, 你如何测试(解释说就是罐装的可口可乐). 4. 当你的程序遇到 BUG 的时候,你选择怎样处理. 5. 你如何 isolation 你程序里的 BUG. 6. 给你一个产品有 10 个 functionality,如果时间紧迫, 只能测其中的 5 个, 你如何选择. 软件测试工程师笔试试题答案软件测试工程师笔试试题答案 我认为那些面试题不同的人会有不同的答案 下面是部分答案 一、判断题(每题 1 分,12 分,正确的,错误的) 1软件测试的目的是尽可能多的找出软件的缺陷。()软件测试的目的就是为 了发现软件中的缺陷,从这个意义上面说上面的这个论断是正确的。不少人会认 为软件测试可以保证软件的质量,其实这个观点是错误,测试只是软件质量控制 中的一个角色,其活动并不能达成软件质量保证的效果。所以不要认为一个公司 里面如果有了软件测试人员,产品的质量就会好起来。 2Beta 测试是验收测试的一种。 () 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项目经理 BSQA 负责人 C配置负责人 D测试组 上面的 4 种角色都需要参与 3下列关于 alpha 测试的描述中正确的是:() Aalpha 测试需要用户代表参加 Balpha 测试不需要用户代表参加 Calpha 测试是系统测试的一种 Dalpha 测试是验收测试的一种首先大家需要知道 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通过画因果图来写 测试用例的步骤为_、_、_、_及把因果图转换为状态图共五个步骤。利 用因果图生成测试用例的基本步骤是: 分析软件规格说明描述中,哪些是原 因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个 原因和结果赋予一个标识符。 分析软件规格说明描述中的语义,找出原因与 结果之间, 原因与原因之间对应的是什么关系? 根据这些关系, 画出因果图。 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能 出现。 为表明这些特殊情况, 在因果图上用一些记号标明约束或限制条件。 把 因果图转换成判定表。 把判定表的每一列拿出来作为依据,设计测试用例。 常见的软件测试面试题常见的软件测试面试题 常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测 试用例设计工作中的应用。 常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测 试用例设计工作中的应用。 1. 等价类划分 常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该 子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试 某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合 理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可 以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的 情况:有效等价类和无效等价类. 2. 边界值分析法 边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的 错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因 此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出 等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚 小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数 据. 3. 错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设 计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错 误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模 块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。 还 有, 输入数据和输出数据为 0 的情况。 输入表格为空格或输入表格只有一行. 这 些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例. 4. 因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但 未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能 会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把 所有输入条件划分成等价类,他们之间的组合情况也相当多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度专业猎头服务合同:人才选拔与薪酬激励全案
- 2025年旅游景区餐饮服务及食品安全管理合同
- 2025年创新型互联网金融产品开发与合作框架合同
- 2025年生物制药企业细胞培养耗材及设备租赁合同
- 2025年高端医疗设备区域代理销售合同及市场保护权益保障书
- 2025年绿色养老社区入住服务及应急医疗救援全面合同
- 2025年食品行业品牌竞争态势与消费者行为研究合同
- 2025高端医疗器械售后服务及用户培训专项合同
- 2025年工程专用车辆定制制造合同
- 2025年专业保安队伍派遣及综合指挥平台建设合同
- 全国中学教师《初中数学》说课教学比赛-主题:《等腰三角形的性质》说课-一等奖课件
- 2024年工会财务知识竞赛试题及答案
- 26个英语字母描红练习(素材)-小学英语
- DL∕T 686-2018 电力网电能损耗计算导则
- 糖尿病医疗广告宣传指南
- 2023年河南省中考数学试卷及答案
- 中外民歌欣赏(高中音乐课件)
- Revit-基础教程课件
- 大学美育(第二版) 课件 第五单元:书法艺术
- 消防工程技术咨询合同
- 从《史记》看司马迁的命运观
评论
0/150
提交评论