软件测试期末复习
- 格式:docx
- 大小:46.63 KB
- 文档页数:28
软件测试期末复习题软件测试是确保软件产品满足规定需求并具有可接受质量的过程。
期末复习时,理解软件测试的基本概念、测试方法、测试类型和测试过程是至关重要的。
以下是一些可能的期末复习题,供同学们参考:1. 软件测试的目的是什么?- 软件测试的目的是验证软件产品的功能和非功能需求是否符合用户和业务的期望,同时识别软件中的缺陷,以提高软件的可靠性和可用性。
2. 列举软件测试的几种类型。
- 单元测试、集成测试、系统测试、验收测试、性能测试、安全测试、回归测试等。
3. 解释什么是黑盒测试和白盒测试。
- 黑盒测试是一种测试方法,测试者不需要了解程序内部的逻辑或代码,只根据需求说明书来测试软件的功能。
- 白盒测试则需要测试者了解程序的内部结构和代码,测试程序的内部逻辑是否正确。
4. 描述软件测试的生命周期。
- 软件测试生命周期通常包括需求分析、测试计划、测试设计、测试执行、缺陷管理、测试报告和测试结束。
5. 解释什么是缺陷生命周期。
- 缺陷生命周期是指从缺陷被发现到被修复并验证的整个过程,包括缺陷的报告、确认、分配、修复、验证和关闭。
6. 列举至少三种常见的软件缺陷类型。
- 功能缺陷、性能缺陷、用户界面(UI)缺陷、安全缺陷等。
7. 描述软件测试计划应包含哪些内容。
- 测试目的、测试范围、测试方法、资源分配、时间安排、风险评估、测试入口和出口准则等。
8. 解释什么是回归测试,为什么它在软件开发中很重要?- 回归测试是为了确保软件在修改后仍然满足原有需求而进行的测试。
它很重要,因为修改可能会引入新的错误,影响到软件的其他部分。
9. 列举至少两种软件测试工具,并简要说明它们的用途。
- 例如,JIRA用于缺陷跟踪和管理,Selenium用于自动化Web应用的测试。
10. 解释什么是敏捷测试,它与传统测试有何不同?- 敏捷测试是一种适应性强、快速响应变化的测试方法,它与传统测试的主要区别在于更强调测试与开发团队的紧密协作,以及测试活动在整个开发周期中的持续进行。
软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。
A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。
A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。
A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。
A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。
A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。
A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。
A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。
软件测试期末复习知识点总结大全第一篇:软件测试期末复习知识点总结大全1.软件测试:是由“验证(verrificatione)”和“有效性确认(validation)”活动构成的整体:“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。
验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。
相当于以软件产品设计规格说明书为标准进行软件测试的活动。
“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。
这主要通过各种软件评审活动来实现,包括让客户参加评审、测试活动。
软件测试过程:(1)测试组织和管理(2)测试计划(3)测试用例实际(4)测试实施(5)测试结果分析(6)测试评审与报告软件测试方法:白盒测试方法、黑盒测试方法、静态测试与动态测试、主动测试与被动测试、形式化测试方法、基于风险的测试、模糊测试方法、ALAC测试和随机测试方法2.单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。
静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。
动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效的测试用例,对于的输入输出关系来分析被测程序的运行情况,来发现缺陷。
静态测试、动态测试的区别:1.静态测试用于预防,动态测试用于矫正;2.多次的静态测试比动态测试的效率高;3,静态测试综合测试程序代码;4.在相当短的时间里,测试的覆盖率能达到100%,而动态测试经常只能达到50%测试左右;5.动态测试比静态测试更花时间;6.静态测试比动态测试更能发现bug;7.静态测试的执行可以在程序编码编译前,动态是中能在编译后才能执行。
软件测试题一、填空题:1.软件测试主要分为单元测试、综合测试、确认测试、系统测试四类测试。
2.软件缺陷产生的原因包括编写说明书、设计、编写代码以及其他原因。
3.软件开发模式包括大棒模式、边写边改模式、流水模式、螺旋模式。
4.黑盒测试用例设计方法包括等价类划分、边界值分析法、因果图法、错误推测法等。
5.测试过程中,测试计划用于描述测试的整体方案,缺陷报告描述依据测试案例找出的问题。
6.传统的等价类划分测试的实现分两步进行,一是划分等价类表,二是设计相应的测试用例。
7.在兼容性测试中,向前兼容是指可以使用软件的以前版本,向后兼容是指可以使用软件的未来版本。
8.通过画因果图来写测试用例的步骤为分析程序规格说明的描述中,哪些是原因,哪些是结果、分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图、在因果图上使用若干个特殊的符号标明特定的约束条件、把因果图转换为状态图和把判定表中每一列表示的情况写成测试用例及共五个步骤。
9.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为动态黑盒测试10.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为动态黑盒测试条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为静态白盒测试11.不需要修复软件缺陷的原因包括没有时间、不能算真正的软件缺陷、风险太大、不值得修复12.对面向过程的系统采用的集成策略有自顶向下集成、自底向上集成两种。
13.白盒测试又称为结构测试或逻辑驱动测试,黑盒测试又称为功能测试或数据驱动测试或基于规格说明书的测试。
14.动态测试的两个基本要素是被测试程序、测试数据(测试用例);二综合题:1、按要求给出下列程序的测试用例(要求写出必要的说明):(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定-条件覆盖(5)条件组合覆盖图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。
1.IEEE定义的软件可靠性:系统在特定环境下,在给定的时间内无故障运行的概率。
2.软件测试时在对软件需求分析,设计规格说明,编码实现和发布运行之前的最终审定。
3.测试是以发现错误为目的而运行的程序或系统的执行过程4.测试的基本策略是在其生命周期的每个阶段中确定测试目标,确认测试对象,建立测试生命周期,制定和实施测试策略,选择测试类型,运用测试方法6个5.软件开发模式流程:瀑布模型快速原型模型螺旋模型 RUP模型 IPD模型敏捷模型6.V模型从左到右,从上到下,描述开发过程和测试行为。
清晰描述了测试阶段和开发过程期间各阶段对应关系V模型不足:需求,设计,编码活动被视为串行。
7.X模型探索性测试,左边描述针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。
8.质量管理:质量策划,质量控制,质量保证和质量改进等互相协调的活动。
9.软件测试方法:静态和动态黑盒和白盒手工测试,自动化测试和混合方式10.基于规格说明的测试:黑盒常用方法:等价类划分边界值分析,配对测试,用例测试,决策表测试11.程序结构覆盖:语句覆盖,判断覆盖,条件覆盖,判断/条件覆盖路径覆盖12.集成测试包含:增量式和非增量13.程序修改后的确认测试,即回归测试14.测试计划文档应包括:目标明确项目的背景和范围和测试对象。
15静态测试内容过程:测试需求分析,测试概要设计,测试详细设计,测试执行与结果分析。
16.静态测试技术主要包括:代码检查,程序结构静态分析方法,程序代码质量度量,评审与检查17.Web压力测试单元测试功能验证系统测试目的是发现软件存在的故障或缺陷并借此对软件的质量进行度量尽早地和及时地进行测试。
测试活动应从软件产品开发初始阶段就开始。
测试用例要由测试数据与预期结果两个部分组成,并包括测试前置条件或后置条件。
测试根据其需求和风险,可由专业测试人员进行或程序开发者自行检测。
需要严格执行测试计划,并排除测试工作随意性。
软件测试总结1.软件测试有哪些原则1)所有的测试都应该追溯到用户需求2)应当把“尽早和不断地测试”作为开发者的座右铭3)程序员应避免检测自己的程序,测试工作应该由独立的专业的软件测试机构来完成4)Pareto原则5)设计测试用例时,应该考虑各种情况6)对测试错误的结果一定要有一个确认的过程7)制定严格的测试计划8)完成测试是不可能的,测试需要终止9)注意回归测试的关联性10)妥善保存一切测试过程文档2.测试用例设计有哪些原则1)用成熟的测试用例设计方法来指导设计2)测试用例的正确性3)测试用例的代表性4)测试结果的可判断性5)测试结果的可再现性6)足够详细,准确和清晰的步骤3.单元测试要解决哪五个方面测试问题1)模块接口测试2)模块局部数据结构测试3)模块中所有独立执行路径测试4)各种错误处理测试5)模块边界条件测试4.软件测试文档有哪些,有什么作用1)软件测试文档2)测试计划:主要对测试项目、所需要进行的测试工作、测试人员所负责测试工作、过程,以及所需时间、资源和风险做出预先计划和安排3)测试计划规格说明:用于每个测试等级,以指定测试集的体系结构和覆盖跟踪4)测试用例说明:描述测试用例5)测试规程规格说明:用于指定一个测试用例集的步骤6)测试日志:记录测试的执行情况7)软件缺陷报告:描述出现测试过程或软件中的异常情况8)测试总结报告:用于报告某个测试项目的完成情况5.等价类划分有哪两种,分别是什么,简述两者的概念1)有效等价类i.对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。
利用它,可以检查程序是否实现了规格说明预先规定的功能和性能2)无效等价类i.对于程序规格说明来说,是否合理、无意义的输入数据构成集合利用它,可以检查程序中功能和性能的实现是否有不符合规格说明要求的地方6.软件验收测试应完成哪些主要测试工作1)配置复审2)合法性检查3)软件文档检查4)软件代码测试5)软件功能和性能测试6)测试结果交付内容7.什么是测试用例?为什么要设计测试用例?1)测试用例是一种情况,软件程序在这种情况下正常运行并达到程序所设计的结果2)作用i.挑选代表性的测试数据,可有效的节省时间、资源提高测试效率ii.避免测试的盲目性iii.提高软件的可维护性iv.良好的测试用例具有重复使用的性能,使得测试过程事半功倍,提高测试效率8.简述增量或集成测试的自顶向下和自底向上两种测试方法的优缺点。
软件测试复习题软件测试是软件开发过程中至关重要的环节,它旨在确保软件产品的质量,发现并修复潜在的缺陷和问题,以满足用户的需求和期望。
以下是一些常见的软件测试复习题,帮助您更好地理解和掌握这一领域的知识。
一、软件测试的基本概念1、什么是软件测试?软件测试是为了发现软件中的错误和缺陷而执行程序的过程。
它不仅仅是检查软件是否能正常运行,还包括评估软件的性能、可靠性、安全性等方面。
2、软件测试的目的是什么?软件测试的主要目的包括:发现软件中的缺陷和错误,确保软件满足用户的需求和期望,提供软件质量的信心,为软件的改进和优化提供依据。
3、软件测试的原则有哪些?软件测试的原则包括:尽早测试、全面测试、重点测试、独立测试、避免测试自己的程序等。
二、软件测试的类型1、按照测试阶段划分,软件测试可以分为哪些类型?按照测试阶段划分,软件测试可以分为单元测试、集成测试、系统测试和验收测试。
单元测试是对软件中的最小可测试单元进行测试,通常由开发人员完成。
集成测试是将多个模块组合在一起进行测试,检查模块之间的接口是否正确。
系统测试是在整个系统上进行的测试,包括功能、性能、兼容性等方面。
验收测试是由用户或客户进行的测试,以确定软件是否满足他们的要求。
2、按照测试方法划分,软件测试可以分为哪些类型?按照测试方法划分,软件测试可以分为黑盒测试和白盒测试。
黑盒测试不考虑软件的内部结构和代码,只关注软件的输入和输出,通过设计各种测试用例来检查软件的功能是否正确。
白盒测试则基于软件的内部结构和代码逻辑,通过对代码的覆盖分析来设计测试用例。
3、性能测试的主要指标有哪些?性能测试的主要指标包括响应时间、吞吐量、并发用户数、资源利用率等。
响应时间是指从用户发出请求到系统返回结果的时间;吞吐量是指系统在单位时间内处理的事务数量;并发用户数是指同时访问系统的用户数量;资源利用率是指系统资源(如CPU、内存、磁盘等)的使用情况。
三、测试用例设计1、测试用例的要素有哪些?测试用例的要素通常包括测试编号、测试项目、测试步骤、预期结果、测试数据等。
1、软件测试定义:使用人工或自动化手段,来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别(IEEE)。
2、软件测试是为了发现错误而执行程序的过程。
软件测试应该尽早及时测试。
3、软件定义=文档+程序+数据(库)4、软件缺陷定义:任何程序、系统、以及文档中的问题,同产品设计书的不一致性,不能满足用户的需求从产品内部看:软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从产品外部看:软件缺陷是系统所需要实现的某种功能的失效或违背。
(1)错误:人为错误(2)缺陷:静态(3)故障:动态(4)失效:由故障所导致5、为什么要进行软件测试?软件测试的目的,第一是确认软件的质量。
第二是提供信息。
第三软件测试不仅是在测试本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
因此,进行软件测试是保证整个软件开发过程是高质量的。
6、测试与调试的区别?软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
7、αβ测试区别?α测试是指软件开发公司组织内部人员模拟各类用户对即将面市的产品进行测试,试图发现错误并修正。
经过α测试调整的软件产品称为β版本,β测试是指软件开发组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见,然后软件公司在对β版本进行改错和完善。
9、常见的软件开发模型:大棒开发法,边写边改法,瀑布模型,快速原型,螺旋式开发10、软件测试计划的分类是否需要执行被测软件角度:静态和动态测试用例设计方法角度:黑盒和白盒测试策略和过程角度:单元测试、集成测试、系统测试、验收测试11、静态测试和动态测试的区别?静态测试方法的主要特征是在测试源程序时,计算机并不真正运行被测试的程序,只对被测程序进行特性分析。
《软件测试》期末复习试题及答案阶段测试一一. 单选题(共16题,65.6分)1. (单选题)(D )不是正确的软件测试目的。
A. 尽最大的可能找出最多的错误B. 设计一个好的测试用例对用户需求的覆盖度达到100%C. 对软件质量进行度量和评估,以提高软件的质量D. 发现开发所采用的软件过程的缺陷,进行软件过程改进2. (单选题)下面说法正确的是(C)。
A. 经过测试没有发现错误,说明程序正确B. 测试的目标是证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试3. (单选题)下列选项中,不属于软件测试工程师职责范围的是(C)。
A. 测试方案设计B. 测试用例设计C. 进行代码调优D. 测试实施4. (单选题)下面属于软件测试模型的是(A)A. W模型B. 瀑布模型C. L模型D. G模型5. (单选题)下面关于软件测试模型的描述中,不正确的是(A)。
①V模型的软件测试策略既包括低层测试,又包括高层测试,高层测试是为了确保源码的正确性,低层测试是为了使整个系统满足用户的需求②V模型存在一定的局限性,它仅仅将测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段③W模型可以说是V模型自然而然的发展,它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试④H模型中,软件测试是一个独立的流程,贯穿产品的整个生命周期,与其他流程并发地进行⑤H模型中,测试准备和测试实施紧密结合,有利于资源调配A. ①⑤B. ②④C. ③④6. (单选题)下列关于W模型的描述中正确的是(A)A. W模型强调测试伴随着整个软件开发周期,测试对象不仅仅是程序,需求、功能和文档同样需要测试B. 所有开发活动完成后,才可执行测试C. W模型将软件的开发视为合同签订、需求、设计、编码等一系列串行活动D. 在W模型中,需求、设计、编码串行进行,也可以并行工作7. (单选题)V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各段的对应关系。
中科大软院软测期末复习提纲知识点一、软件测试基础知识1.软件测试概述-软件测试的定义和目标-软件测试的作用和重要性-软件测试的原则和方法2.软件测试流程-软件测试生命周期-软件测试过程中的活动和任务-不同阶段的测试策略和技术3.软件测试的类型-黑盒测试和白盒测试-功能测试、性能测试、安全测试、用户界面测试等4.软件测试用例设计-测试用例的概念和特性-测试用例设计的方法和技术-边界值分析、等价类划分、路径覆盖等二、软件测试技术1.静态测试技术-静态测试的概念和特点-静态测试方法和工具-代码审核、文档检查、需求审查等2.黑盒测试技术-黑盒测试的概念和特点-黑盒测试方法和技术-等价类划分、边界值分析、决策表等3.白盒测试技术-白盒测试的概念和特点-白盒测试方法和技术-代码覆盖率、路径覆盖、循环复杂度等4.自动化测试技术-自动化测试的概念和优势-自动化测试工具和框架-脚本编写和执行、测试自动化流程等三、软件测试管理1.软件测试计划-软件测试计划的编制和执行-软件测试计划的内容和要素-软件测试计划的评审和修改2.缺陷管理-缺陷管理的概念和重要性-缺陷管理的流程和工具-缺陷跟踪、缺陷分析、缺陷解决等3.测试评估和报告-测试评估的目的和方法-测试阶段评估和总结-测试报告的编写和呈现方式4.软件测试团队协作-软件测试团队的角色和职责-团队协作的原则和模式-沟通和合作技巧的培养四、软件测试工具1.测试管理工具-缺陷管理工具、测试计划工具、测试报告工具等-常用测试管理工具的介绍和比较2.自动化测试工具-自动化测试脚本工具、自动化测试执行工具等-常用自动化测试工具的介绍和比较3.性能测试工具-压力测试工具、负载测试工具等-常用性能测试工具的介绍和比较4.安全测试工具-漏洞扫描工具、代码审计工具等-常用安全测试工具的介绍和比较。
软件测试期末复习第一篇:软件测试期末复习一、单项选择题:共20小题,每小题2 分,满分40分。
1.软件测试按照测试层次可以分为(C)A.黑盒测试、白盒测试//测试方式B.功能性测试和结构性测试//测试目的C.单元测试、集成测试和系统测试D、动态测试和静态测试//测试方式2、软件测试是采用(测试用例)执行软件的活动。
A.测试用例 B.输入数据 C.测试环境 D.输入条件3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(D)1预防软件发生错误2发现程序错误3提供诊断错误信息A.只有1 B.只有2 C.只有3 D.都是4、导致软件缺陷的最大原因是:(A)A.软件需求说明书B.设计方案 C.编码D.维护5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(A)A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具C、测试环境D、测试配置6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(B)A.测试B.调试 C.回归测试D.单元测试软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
7、软件缺陷修复的代价最高的阶段为(A)A、发布阶段B、需求阶段C、设计阶段D、编码阶段8、下列(B)是关于软件缺陷的描述。
A.导致软件包含故障的人的行为//软件错误 B.产品的异常情况C.引起一个功能部件不能完成所要求的功能的一种意外情况D.功能部件执行其规定功能的能软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。
软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。
软件故障是指软件在运行过程中产生的不希望出现或不可接收的内部状态,对软件故障若无适当措施加以及时处理,就会是软件失效。
软件失效是指软件在运行时产生的不希望出现或不可接受的外部行为结果。
9、可作为测试停止的标准是(D)A.当时间用光时B.执行了所有的测试用例,但没有发现故障C.当所有缺陷都已经清除时 D.当达到所要求的覆盖时10、下列描述错误的是(A)A.软件发布后如果发现质量问题,那是软件测试人员的错B.穷尽测试实际上在一般情况下是不可行的C.软件测试自动化不是万能的D.测试能由非开发人员进行,调试必须由开发人员进行。
11、如下图所示的N-S图,至少需要(B)个测试用例完成逻辑覆盖。
A.15 B.16 C.17 D.1812、下列(C)方法设计出的测试用例发现程序错误的能力最强。
A.等价类划分法 B.场景法C.边界值分析法 D.决策表法13、功能性测试是根据(A)来设计测试用例。
A、软件的规格说明B、设计文档C、程序的内部逻辑D、维护手册14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为(C)A.单元测试 B.集成测试 C.回归测试 D.验收测试15、(C)方法是根据输出对输入的依赖关系来设计测试用例的。
A.边界值分析B.等价类C.因果图法D.错误推测法16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于(B)A.动态测试B.静态测试 C.黑盒测试D.白盒测试17、下列(B)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图B.控制流图 C.MM-路径图D.模块调用图18、自底向上增量式集成测试中,下面(C)描述是正确的。
A.测试由桩模块控制B.最上面的模块最先测试C.父单元用测试过的子单元测试D.包含树的深度优先或广度优先遍历过程19、以下关于测试用例特征的描述错误的是(C)A.最有可能抓住错误的; B.一定会有重复的、多余的; C.一组相似测试用例中最有效的;D.既不是太简单,也不是太复杂。
20、(D)是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、基本路径测试B、逻辑覆盖C、决策表D、数据流测试二、判断题:共20小题,每题1分,满分20分)1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。
(T)2.软件质量保证和软件测试是同一层次的概念。
(F)3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。
(F)4.程序员兼任测试员可以提高工作效率。
(F)5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
(T)6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。
(T)7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。
T8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。
(T)9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。
(F)10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。
(F)11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。
(∨)12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。
(∨)13.测试用例的数目越多,测试的效果越好。
(x)14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
(x)15.单元测试属于动态测试。
(∨)16.验收测试是以最终用户为主的测试。
(∨)17.没有发现错误的测试是没有价值的。
(∨)18.可以把不合格的开发人员安排做测试。
(x)19.每一个软件项目都有一个最优的测试量。
(∨)20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。
(∨)三、简答题:共4小题,每题5分,满分20分。
1、简单描述一下软件测试工程师一般会承担的一些具体工作。
1:检视代码,评审开发文档(静态测试方法)2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等)3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。
4:通过测试度量软件的质量。
2、黑盒测试与白盒测试各有哪些优缺点?黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。
还会有未测试的软件漏洞。
白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑盒测试结合白盒测试的覆盖率指标执行,冗余和漏洞问题会被发现并解决。
如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷。
3、画图描述测试层次与传统开发V型瀑布模型的对应4、有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。
请写出该函数采用基本边界值分析法设计的测试用例。
(2000,6,1),(2000,6,2),(2000,6,30),(2000,6,31),(2000,1,15),(2000,2,15)(2000,13,15),(2000,12,15),(1900,6,15),(1901,6,15),(1999,6,15),(2100,6,15)(2000,6,15)测试用例来自等价类的边界;正好等于;刚刚大于;刚刚小于边界的值四、综合题:共1小题,每题20分,满分20分。
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
void Do(int X,int A,int B){ 1 if((A>1)&&(B=0))2 X = X/A;3 if((A=2)||(X>1))4 X = X+1;5 }由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1: A>1; 2: B=0 ; 3: X = X/A ; 4: A=2 ; 5:X>1 ; 6: X = X+1; 7: }第二篇:软件测试期末复习知识点总结1.软件测试:是由“验证(verrificatione)”和“有效性确认(validation)”活动构成的整体:“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。
验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。
相当于以软件产品设计规格说明书为标准进行软件测试的活动。
“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。
这主要通过各种软件评审活动来实现,包括让客户参加评审、测试活动。
软件测试过程:(1)测试组织和管理(2)测试计划(3)测试用例实际(4)测试实施(5)测试结果分析(6)测试评审与报告软件测试方法:白盒测试方法、黑盒测试方法、静态测试与动态测试、主动测试与被动测试、形式化测试方法、基于风险的测试、模糊测试方法、ALAC测试和随机测试方法2.单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。
静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。
动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效的测试用例,对于的输入输出关系来分析被测程序的运行情况,来发现缺陷。
静态测试、动态测试的区别:1.静态测试用于预防,动态测试用于矫正;2.多次的静态测试比动态测试的效率高;3,静态测试综合测试程序代码;4.在相当短的时间里,测试的覆盖率能达到100%,而动态测试经常只能达到50%测试左右;5.动态测试比静态测试更花时间;6.静态测试比动态测试更能发现bug;7.静态测试的执行可以在程序编码编译前,动态是中能在编译后才能执行。
3.功能测试:一般须在完成集成测试后进行,而且是针对应用系统进行测试是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。
集成测试:也叫组装测试或联合测试。