《软件工程与软件测试技术》习题讲解.ppt_第1页
《软件工程与软件测试技术》习题讲解.ppt_第2页
《软件工程与软件测试技术》习题讲解.ppt_第3页
《软件工程与软件测试技术》习题讲解.ppt_第4页
《软件工程与软件测试技术》习题讲解.ppt_第5页
已阅读5页,还剩203页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程与软件测试技术习题讲解,韩智,第一章软件工程和软件测试概述,名词解释:软件、软件危机、软件工程、软件生命周期软件:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有,实际上,几乎所有软件都不同程度地存在这些问题。软件工程:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;研究中提到的途径。软件生命周期:软件生命周期是从软件的产生到报废的生命周期,生命周期中有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级、废弃等阶段。,3,第一章软件工程和软件测试概述,请说明软件工程方法学都包含哪些要素?简要说明目前使用最广泛的两种软件工程方法学答:软件工程方法学包含3个要素:方法、工具和过程。其中方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。,4,第一章软件工程和软件测试概述,目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。与传统方法相反,面向对象方法把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。,5,第一章软件工程和软件测试概述,软件生命周期都包括哪些阶段,简述每个阶段的任务。答:软件生命周期包括问题的定义,可行性分析,需求分析,概要设计,详细设计,编码,测试,维护8个阶段。问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”可行性研究阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”需求分析阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。概要设计阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”,6,第一章软件工程和软件测试概述,详细设计阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。编码阶段关键任务是写出正确的容易理解、容易维护的程序模块。测试阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。,7,第一章软件工程和软件测试概述,简述瀑布模型的特点、优点、缺点、适用场合答:瀑布模型是按照软件生命周期的阶段进行的,每个阶段都必须完成规定的文档,并在阶段结束前都要对所完成的文档进行评审;各个阶段间具有顺序性和依赖性。瀑布模型的优点:可强迫开发人员采用规范的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。,8,第一章软件工程和软件测试概述,瀑布模型的缺点:1)在项目开始的时候,用户常常难以清楚地给出所有需求;用户与开发人员对需求理解存在差异。2)很少软件项目按照顺序模型进行,不能很好地支持迭代。3)只有到了整个项目的后半段时间,客户才能看到软件的模样。一个没有及时发现的错误,可能导致灾难。瀑布模型适用场合:1)当有一个稳定的产品定义和很容易被理解的技术解决方案时,可以采用纯瀑布模型。2)当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,可以采用瀑布模型。3)在质量需求高于成本需求和进度需求的时候,可以采用瀑布模型。,9,第一章软件工程和软件测试概述,5.简述快速原型模型的特点、优点、缺点、适用场合答:所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。快速原型模型主要优点:(1)原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。(2)开发人员通过建立原型系统已经学到了许多东西,因此在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。,10,第一章软件工程和软件测试概述,缺点:1)用户有时误解了原型的角色,例如他们可能误解原型应该和真实系统一样可靠。2)缺少项目标准,进化原型方法有点像编码修正。3)缺少控制,由于用户可能不断提出新要求,因而原型迭代的周期很难控制。4)额外的花费:研究结果表明构造一个原型可能需要10%额外花费。5)原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。适用场合:1)适用于用户驱动的系统,即需求模糊或随时间变化的系统;2)已有产品或产品的原型,只需客户化的工程项目;3)简单而熟悉的行业或领域;4)有快速原型开发工具;5)进行产品移植或升级,11,第一章软件工程和软件测试概述,6.简述增量模型的特点、优点、缺点、适用场合答:增量模型以增量的形式分阶段发布产品。第一个增量往往是核心的产品。也就是,实现了基本的需求,但很多补充的特征,使用和/或评估的结果是下一个增量的开发计划。该计划包括对核心产品的修改,使其能够更好的满足客户的需要,并发布一些新增的特征和功能。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。增量过程模型,本质上是迭代的,强调每一个增量均发布一个可操作产品增量模型的优点:融合了线性顺序模型的基本成分和原型实现的迭代特征;能较快地产生可操作的系统;在每一步递增中,均发布一个新的增量,把用户/开发者的经验结合到不断求精的产品中;每个增量的开发没有必要使用相同的过程;可改善测试效果和降低软件开发总成本。,12,第一章软件工程和软件测试概述,增量模型的缺点:1)增量应该相对较小,每个增量应该包含一定的系统功能。所以,很难把用户的需求映射到适当规模的增量上。2)大多数系统需要一组在系统许多部分都会用到的基本服务。但由于增量实现前,需求不能被详细定义,所以,明确所有增量都会用到的基本服务就比较困难。3)若软件系统的组装和拆卸性不强,或开发人员全局把握能力不高,或客户不同意分阶段提交产品等,均不合适。适用场合:1)客户接受分阶段交付。2)对应用领域不熟悉,难以一步到位。3)用户可参与到整个软件开发过程中。4)有较好的类库和构件库。,13,第一章软件工程和软件测试概述,7.简述螺旋模型的特点、优点、缺点、适用场合答:螺旋将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,把软件开发过程组成为一个逐步细化的定义周期(螺旋周期)序列,每经历一个周期,系统就得到进一步的细化和完善;本质上,具有上述特征的螺旋是一直运转的,直到软件退役。有时这个过程处于睡眠状态,但任何时候出现了改变,过程都会从合适的入口点开始;紧密围绕开发中的风险问题,用风险分析推动软件设计向深一层扩展、求精;强调持续地判断、确定和修改用户任务目标,并按成本、效益来分析候选的软件产品性质对任务目标的贡献;可结合采用多种软件开发方法,但究竟结合哪一种方法仍由风险分析来决定。,14,第一章软件工程和软件测试概述,优点:1)对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;2)减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;3)在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。缺点:1)比较复杂,需要相当的风险评估技术,且成功依赖于这种技术。2)需要软件开发人员具有丰富的风险评估经验和这方面的专门知识适用场合:适应于内部的大规模软件开发,15,第一章软件工程和软件测试概述,8.以下属于软件维护阶段文档的是A软件需求说明B操作手册C软件问题报告D测试分析报告,16,第一章软件工程和软件测试概述,9.可行性研究要进行一次_需求分析详细的B.全面的C.简化的、压缩的D.彻底的,17,第一章软件工程和软件测试概述,10关于原型化开发方法的叙述中,不正确的是_。A.原型化方法适应于需求不明确的软件开发B.在开发过程中,可以废弃不用早期构造的软件原型C.原型化方法可以直接开发出最终产品D.原型化方法利于确认各项系统服务的可用性,18,第一章软件工程和软件测试概述,11以下各项中,_属于需求说明书的评测内容。系统定义的目标是否与用户的要求一致设计的约束条件或限制条件是否符合实际是否考虑过软件需求的其他方案软件的行为与它必须处理的信息、必须完成的功能是否一致A、B、C、D、,19,第一章软件工程和软件测试概述,12.可行性研究的方面包括_经济可行性B.技术可行性C.法律可行性D.抉择E.软件的规模,20,第一章软件工程和软件测试概述,13.软件开发模型有原型模型、_、_、_。A瀑布模型B增量模型CW模型D螺旋模型,21,第二章软件测试基础-习题,1、名词解释:软件测试,软件质量保证,单元测试,集成测试,系统测试,确认测试,验收测试,黑盒测试,白盒测试,灰盒测试,开发方测试(alpha测试),用户测试(Beta测试),第三方测试。软件测试:软件质量保证的关键元素,代表了规约、设计和编码的最终检查。从标准论角度,软件测试是“验证(Verification)”和“确认(Validation)”活动构成的整体。验证是通过提供客观证据检验规定的要求是否得到满足,也就是说对输入与输出进行比较。确认是在验证好的基础上,预期的应用要求是否得到满足,也就是说,在确认时应考虑应用的条件范围要远远大于输入时确定的范围。,22,第二章软件测试基础-习题,软件质量保证(SoftwareQualityAssurance,SQA)是为了提供信用,证明项目将会达到有关质量标准,而在质量体系中进行有计划、有组织的活动。单元测试又称模块测试,是针对软件设计的最小单位程序模块,进行正确性检验的测试工作。集成测试又称组装测试、联合测试、子系统测试或部件测试,是在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统进行的测试活动。系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。验收测试是系统开发生命周期中的一个阶段,它是一项判断产品是否能够满足合同或用户既定需求的测试,23,第二章软件测试基础-习题,开发方测试通常也叫“验证测试”或“Alpha测试”,是在软件开发环境下,由开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求。用户测试又称“Beta测试”,是在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。第三方测试是介于软件开发方和用户方之间的测试组织的测试,也称为独立测试,是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试。,24,第二章软件测试基础-习题,白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。黑盒测试也称功能测试或数据驱动测试。它主要是检测每个功能是否能正常使用。在测试过程中,将程序看做一个不能打开的黑盒子,在完全不考虑程序内部结构的情况下,主要检查程序的功能是否按照软件需求规格说明书的规定正常使用,程序能否正确的接收所输入的数据,并产生正确的输出信息。灰盒测试,是介于白盒测试与黑盒测试之间的测试,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。,25,第二章软件测试基础-习题,2.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。A程序的内部逻辑B程序的复杂结构C使用说明书D程序的功能,26,第二章软件测试基础-习题,3.软件测试的目的是()。A证明程序中没有错误B.发现程序中的错误C.测量程序的动态特性D.检查程序中的语法错误,27,第二章软件测试基础-习题,4软件测试的对象包括()。目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序,28,第二章软件测试基础-习题,5下述说法错误的是()。A.单元测试又称为模块测试,是针对软件测试的最小单位程序模块进行正确性检验的测试工作;B.集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试;C.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统;D.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求。,29,第二章软件测试基础-习题,6验收测试的定义是()。A.由用户按照用户手册对软件进行测试以决定是否接受;B.由某个测试机构代表用户按照需求说明书和用户手册对软件进行测试以决定是否接受;C.按照软件任务书或合同,供需双方约定的验收依据进行测试,决定是否接受D.由开发方和用户按照用户手册执行软件验收,30,第二章软件测试基础-习题,7软件的集成测试工作最好由()承担,以提高集成测试的效果。A.该软件的设计人员B.该软件开发组的负责人C.该软件的编程人员D.不属于该软件开发组的软件设计人员,31,第二章软件测试基础-习题,8关于第三方测试的描述,正确的观点是()。A.既不是开发人员,也不是用户所进行的测试就是第三方测试B.由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试C.第三方测试是在开发方与用户方的测试基础上所进行的验证测试D.第三方测试又称为测试,32,第二章软件测试基础-习题,9对于软件的测试,下列描述正确的是_。A测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试B测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试C测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试D测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试,33,第二章软件测试基础-习题,10.典型的软件测试过程模型有(1)等,在这些模型中,(2)强调了测试计划等工作的先行和对系统需求和系统设计的测试,(3)对软件测试流程予以了说明。(1)AV模型、W模型、H模型、渐进模型BV模型、W模型、H模型、螺旋模型CX模型、W模型、H模型、前置测试模型DX模型、W模型、H模型、增量模型(2)A模型BW模型C渐进模型D螺旋模型(3)A模型BW模型CH模型D增量模型,34,第二章软件测试基础-习题,12.下列哪一种不属于验收测试范畴()A正式验收测试Balpha测试Cbeta测试D系统测试,35,第二章软件测试基础-习题,13.在软件生命周期的不同阶段,需要实施不同类型的测试工作,单元测试是对程序设计进行验证,其中_不是单元测试的主要内容。A.模块接口测试B.有效性测试C.路径测试D.边界测试,36,第二章软件测试基础-习题,14.在进行单元测试过程中,通常测试工程师都需要借助_来代替所测模块调用的子模块。A.桩模块B.驱动模块C.桩模块和驱动模块D.存根模块和驱动模块,37,第二章软件测试基础-习题,15.在单元测试的基础上,需要将所有模块按照概要设计和详细设计说明书的要求进行组装,模块组装成系统的方式有两种,分别是_。A.非增量式和增量式B.自顶向下组装和启底向上组装C.单个模块组装和混合模块组装D.接口组装和功能组装,38,第二章软件测试基础-习题,16在系统验收测试中,_(1)_是在一个模拟的环境下使用模拟数据运行系统;_(2)_是在一个实际环境中使用真实数据运行系统。(1)A验证测试B审计测试C确认测试D模块测试(2)A验证测试B审计测试C确认测试D模块测试,39,第二章软件测试基础-习题,17单元测试将根据在()阶段中产生的规格说明进行。A.可行性研究与计划B.需求分析C.概要设计D.详细设计,40,第二章软件测试基础-习题,18.软件测试类型按开发阶段划分是_需求测试、单元测试、集成测试、验证测试B.单元测试、集成测试、确认测试、系统测试、验收测试C.单元测试、集成测试、验证测试确认测试、验收测试D.调试、单元测试、集成测试、用户测试,41,第二章软件测试基础-习题,19.V模型指出,_对程序设计进行验证A.单元和集成测试B.系统测试C.验收测试和确认测试D.验证测试,42,第二章软件测试基础-习题,20.V模型指出,_对系统设计进行验证A.单元测试B.集成测试C.功能测试D.系统测试,43,第二章软件测试基础-习题,21.V模型指出,_应当追朔到用户需求说明代码测试B.集成测试C.验收测试D.单元测试,44,第二章软件测试基础-习题,22广义的软件测试包括_。A单元测试、集成测试、确认测试和系统测试B确认、验证和测试C需求评审、设计评审、单元测试和综合测试D开发方测试、用户测试和第三方测试,45,第二章软件测试基础-习题,23下列关于alpha测试的描述中正确的_Aalpha测试需要用户代表参加Balpha测试不需要用户代表参加Calpha测试是系统测试的一种Dalpha测试是验收测试的一种,46,第二章软件测试基础-习题,24_不是易用性测试包括的内容。A安装测试B界面测试C菜单测试D文档测试,47,第二章软件测试基础-习题,25_不是文档测试包括的内容。A合同文档B开发文档C管理文档D用户文档,48,第二章软件测试基础-习题,26软件测试的说法,_是错误的。A软件测试就是程序测试B软件测试贯穿于软件定义和开发的整个期间C需求规格说明、设计规格说明都是软件测试的对象D程序是软件测试的对象,49,第二章软件测试基础-习题,27软件测试按实施组织分,测试应该包括以下的_。开发方测试用户方测试第三方测试验收测试确认测试A、B、C、D、,50,第二章软件测试基础-习题,28.简述测试的目的、原则与对象软件测试的目的:1)是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。2)是确认软件的质量,软件做了所期望的事情(Dotherightthing),另一方面是确认软件以正确的方式来做了这个事件(Doitright)3)是为开发过程提供反馈信息,协助开发过程的改进:软件测试不仅是在测试软件产品本身,还包括软件开发的过程。软件测试的第三个目的是保证整个软件开发过程的高质量。4)软件质量评估:软件测试是以评价一个程序或系统属性为目标的一种活动,是对软件质量的度量与评估,以验证软件的质量满足用户的需求,为用户选择与接收软件提供有力的依据。,51,第二章软件测试基础-习题,软件测试的原则所有的软件测试都应追溯到用户需求应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。完全测试是不可能的,测试需要终止软件测试无法显示软件潜在的缺陷充分注意软件测试中的群集现象程序员应避免检查自己的程序尽量避免测试的随意性妥善保存一切测试过程文档。软件测试的对象:需求规格说明、概要设计规格说明、详细设计规格说明、源程序。,52,第二章软件测试基础-习题,29、什么是V模型?简述V模型在软件测试过程中的作用,以及在V模型中各个测试阶段和开发过程的对应关系V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系。从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则,53,第二章软件测试基础-习题,30、什么是W模型?简述其特点W模型由Evolutif公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。,54,第二章软件测试基础-习题,31、什么是X模型?简述其特点X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。,55,第二章软件测试基础-习题,32、简述前置测试模型。前置测试模型由RobinF.Goldsmith等人提出,它是一个将测试和开发紧密结合的模型,并提供了轻松的方式,可以使项目的进度加快。前置测试模型则体现了开发与测试的结合,要求对每一个交付内容进行测试。前置测试模型是一个将测试和开发紧密结合的模型,此模型将开发和测试的生命周期整合在一起,随项目开发生命周期从开始到结束每个关键行为。,56,第二章软件测试基础-习题,33、简述软件测试的分类答:按照软件不同的开发阶段,可以将软件测试分为:单元测试、集成测试、系统测试、确认测试、验收测试;按照测试实施组成划分,测试包括:开发方测试、用户测试、第三方测试;按照测试技术划分可分为:白盒测试、黑盒测试、灰盒测试;按照测试内容划分,可以分为:功能性测试、可靠性测试、易用性测试、效率测试(性能测试)、可移植性测试、文档测试,57,第二章软件测试基础-习题,34、请叙述软件质量保证的工作内容。软件质量保证的主要职责是检查开发和管理活动是否与已定的过程策略、标准和流程一致,检查工作产品是否遵循模板规定的内容和格式等。具体的工作内容主要包括(1)与SQA计划直接相关的工作(2)参与项目的阶段性评审和审计(3)对项目日程活动与规程的符合性进行检查(4)对配置管理工作的检查和审计(5)跟踪问题的解决情况(6)收集新方法,提供过程改进的依据。,58,第二章软件测试基础-习题,35.在软件开发与运行阶段一般需要完成单元测试、集成测试、确认测试、系统测试和验收测试,这些对软件质量保证起着非常关键的作用。(1)简述集成测试与系统测试的关系(2)公司A承担了业务B的办公自动化系统的建设工作。2004年10月初,项目正处于开发阶段,预计2005年5月能够完成全部开发工作,但是合同规定2004年10月底进行系统验收。因此2004年10月初,公司A依据合同规定向业主B和监理方提出在2004年10月底进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公司A的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成。公司A的做法是否正确?请给出理由。,59,第二章软件测试基础-习题,答:1)集成测试的主要依据是概要设计说明书,系统测试的主要依据是需求设计说明书;集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。2)验收测试要在系统测试通过之后,交付使用之前进行,而不是仅仅根据合同规定进行。2004年10月初并不具备验收测试的条件,60,第三章白盒测试技术-习题,1、名词解释:静态测试,动态测试,桌面检查,代码审查,走查软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。桌面检查是代码检查方式的一种,由程序员自己检查自己编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。,61,第三章白盒测试技术-习题,代码审查是由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。走查与代码审查基本相同,其过程分为两步。第一步也把材料先发给走查小组每个成员,让他们认真研究程序,然后再开会。开会的程序与代码审查不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机,即首先由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。,62,第三章白盒测试技术-习题,2、什么是逻辑覆盖测试?逻辑覆盖都有哪些类型?逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括:语句覆盖判定覆盖条件覆盖条件判定组合覆盖多条件覆盖修正条件判定覆盖,63,第三章白盒测试技术-习题,3、简述白盒测试的综合测试策略在白盒测试中,可以使用各种测试方法的综合策略如下:(1)在测试中,应尽量先使用工具进行静态结构分析。(2)测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查,再进行覆盖率测试。(3)利用静态分析的结果作为导引,通过代码检查和动态测试的方式对静态发现结果进行进一步的确认,使测试工作更为有效。(4)覆盖率测试是白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准;对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。(5)在不同的测试阶段,测试的侧重点不同:在单元测试阶段,以代码检查、逻辑覆盖为主;在集成测试阶段,需要增加静态结构分析等;在系统测试阶段,应根据黑盒测试的结果,采取相应的白盒测试。,64,第三章白盒测试技术-习题,4、某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。,65,第三章白盒测试技术-习题,被测模块的程序流程图如图所示,66,第三章白盒测试技术-习题,按照路径覆盖法设计测试用例如下:是会员,累计消费900元,覆盖路径127是会员,累计消费2000元,覆盖路径128不是会员,累计消费80元,覆盖路径134不是会员,累计消费300元,覆盖路径135,67,第三章白盒测试技术-习题,5.对以下代码,假设输入的取值范围是1900year10)THENC=0IF(A-30)state);sio_send(SLIP_ESC_END,netif-state);break;caseSLIP_ESC:sio_send(SLIP_ESC,netif-state);sio_send(SLIP_ESC_ESC,netif-state);break;defult:sio_send(c,netif-state);break;A4B3C2D1,81,第三章白盒测试技术-习题,14.确定下面函数的基本路径并给出测试用例voidSort(intiRecordNum,intiType)12intx=0;3inty=0;4while(iRecordNum-0)56If(iType=0)7break;8else9If(iType=1)10 x=x+10;11else12y=y+20;1314,82,第三章白盒测试技术-习题,画出控制流图:如右图所示计算环形复杂度:V(G)=e-n+210(条边)-8(个节点)+2=4导出独立路径(用语句编号表示)路径1:4691213414路径2:4691013414路径3:46714路径4:414,83,第三章白盒测试技术-习题,设计测试用例(试写出其他测试用例),84,第三章白盒测试技术-习题,15.请对以下程序设计测试用例,以实现:1)语句覆盖;2)判定覆盖;3)条件覆盖;4)条件判定覆盖;voidDoWork(intx,inty,intz)intk=0,j=0;if(x3)/语句块3,85,第三章白盒测试技术-习题,86,语句覆盖,要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。测试用例输入为:x=4、y=5、z=5程序执行的路径是:abd分析:语句覆盖可以保证程序中的每个语句都得到执行,但发现不了判定中逻辑运算的错误,即它并不是一种充分的检验方法。例如在第一个判定(x3)if(x3)/语句块3,95,第三章白盒测试技术-习题,LCSAJ(5个):(1)intk=0,j=0;if(x3)j=j%3(5)j=j%3LCSAJ路径(4条):(1)-(2)-(4)(1)-(2)-(5)(1)-(3)-(4)(1)-(3)-(5),96,第四章黑盒测试技术-习题,1.名词解释:等价类、有效等价类、无效等价类。答:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其他值的测试。有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。,97,第四章黑盒测试技术-习题,2.简述测试方法的综合使用策略首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有效的方法在任何情况下都必须使用边界值分析方法。经验表明这种方法设计出的测试用例发现程序错误的能力最强。可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验。对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当补充足够的测试用例如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法和判定表驱动法对于参数配置类的软件或对多条件查询功能进行测试时,要用正交试验法选择较少的组合方式达到最佳效果对于业务清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。,98,第四章黑盒测试技术-习题,3.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。,99,第一步:划分等价类,100,第二步:为有效等价类设计测试用例,对表中编号为的3个有效等价类用一个测试用例覆盖:,101,第三步:为每一个无效等价类至少设计一个测试用例,本例的10个等价类至少需要8个测试用例,不能出现相同的测试用例,102,第四章黑盒测试技术-习题,4.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。,103,第四章黑盒测试技术-习题,划分等价类表。,104,测试用例表,105,第四章黑盒测试技术-习题,5.假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1)四种。请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。,106,第四章黑盒测试技术-习题,一、分析输入的情形:1.R无效:R100R100(钱给多)2_2.P无效:PR(钱给少)2_3.P有效:R=P100R1000R=100PR输出为相应错误提示信息有效输入(找零):0R=100R=P=100此时考虑的输出:(RR=P-R假设计算正确不考虑此种情况无效输出0=RR45=RR1010=RR5050=RR100RR:0、1、4、5、9、10、49、50、99,109,第四章黑盒测试技术-习题,1.货品价格=1012.货品价格=03.货品价格=-14.货品价格=100,付款金额=1015.货品价格=100,付款金额=996.货品价格=100,付款金额=100不找零7.货品价格=99,付款金额=100N118.货品价格=96,付款金额=100N149.货品价格=95,付款金额=100N5110.货品价格=91,付款金额=100N51,N1411.货品价格=90,付款金额=100N10112.货品价格=51,付款金额=100N104,N51,N1413.货品价格=50,付款金额=100N50114.货品价格=1,付款金额=100N501,N10=4,N5=1,N1=4,110,第四章黑盒测试技术-习题,6.以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。请画出因果图和判定表,并给出相应的测试用例。,111,第四章黑盒测试技术-习题,第一步:分析原因和结果原因:1、落点在棋盘外;2、不构成日字;3、落点有自方棋子;4、绊马腿;5、落点无棋子;6、落点为对方棋子;7、落点为对方老将。结果:21、不移动;22、移动;23、移动己方棋子消除对方棋子;24、移动并战胜对方。,112,第四章黑盒测试技术-习题,第二步:画出因果图,可以判定程序中应该包括12个函数或方法,113,第四章黑盒测试技术-习题,第三步:转换成判定表,114,第四章黑盒测试技术-习题,7.下图所示是ATM例子的流程示意图。试用场景法来设计测试用例。,115,场景设计:下表所示是生成的场景,注:为方便起见,备选流3和6(场景3和7)内的循环以及循环组合未纳入上表。,116,用例设计,对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。,117,118,数据设计,一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据。,119,120,第四章黑盒测试技术-习题,8以下关于功能测试用例的意义的叙述,正确的是_。避免盲目测试并提高测试效率令软件测试的实施重点突出、目的明确在回归测试中无需修正测试用例便可继续开展测试工作测试用例的通用化和复用化使软件测试易于开展A、B、C、D、,121,第四章黑盒测试技术-习题,9用边界值分析法,假定X为整数,10X100,那么X在测试中应该取边界值_。AX=10,X=100BX=9,X=10,X=100,X=101CX=10,X=11,X=99,X=100DX=9,X=10,X=50,X=100,122,第四章黑盒测试技术-习题,10.以下属于黑盒测试方法的有_A等价类划分B.边界值分析C.错误推测D.因果图E.判定表,123,第四章黑盒测试技术-习题,11.对于业务流清晰的系统可以利用(1)贯穿整个测试用例设计过程,在用例中综合使用各种测试方法,对于参数配置类的软件,要用(2)选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用(3)和判定表驱动法。(1)A等价类划分B因果图法C正交试验法D。场景法(2)A等价类划分B因果图法C正交试验法D场景法(3)A等价类划分B因果图法C正交试验法D场景法,124,第四章黑盒测试技术-习题,12.在某大学的学籍信息管理系统中,假设学生年龄的输入范围为16-35,则根据黑盒测试的等价类划分技术,下面划分正确的是_A.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类,125,第四章黑盒测试技术-习题,13、加法器程序计算两个1100之间整数的和。请用边界值分析法设计测试用例。设计思路:(1)先进行等价类划分(2)再用边界值分析补充,127,第四章黑盒测试技术-习题,(1)等价类划分考虑输入数据的取值范围和类型划分等价类,编号,输入条件,所属类别,编号,输入条件,所属类别,1,1100之间整数,有效等价类,5,非数值(字母),无效等价类,2,100整数,无效等价类,7,非数值(空格),无效等价类,4,小数,无效等价类,8,非数值(空白),无效等价类,128,第四章黑盒测试技术-习题,(2)边界值分析在等价类划分基础上进行边界值分析测试。,129,提示“请输入1100间的整数”,50,0,Test9,提示“请输入1100间的整数”,0,50,Test10,提示“请输入1100间的整数”,50,101,Test11,提示“请输入1100间的整数”,101,50,Test12,提示“请输入1100间的整数”,50,0.2,Test13,测试用例,输入数据,预期输出,加数1,加数2,和,Test14,50,0.2,提示“请输入1100间的整数”,Test15,A,50,提示“请输入1100间的整数”,Test16,50,A,提示“请输入1100间的整数”,Test17,50,提示“请输入1100间的整数”,Test18,50,提示“请输入1100间的整数”,Test19,空格,50,提示“请输入1100间的整数”,Test20,50,空格,提示“请输入1100间的整数”,Test21,50,提示“请输入1100间的整数”,Test22,50,提示“请输入1100间的整数”,130,第四章黑盒测试技术-习题,14.NextDate函数包含三个变量:month、day和year,函数的输出为输入日期后一天的日期。例如,输入为2008年8月7日,则函数的输出为2008年8月8日。请用边界值分析法设计测试用例,131,第四章黑盒测试技术-习题,在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050。,132,边界值分析举例,第五章性能测试-习题,1.名词解释:响应时间,并发用户数,系统吞吐量,资源利用率,负载测试,压力测试,大数据量测试,疲劳强度测试,失效恢复测试响应时间(ResponseTime),指系统接受用户请求进行处理,然后将处理结果返回给用户所花费的时间,即“对请求做出响应所需要的时间”。并发用户(ConcurrencyUsers)数,指在同一时段,有多少用户会同时访问被测系统。,133,第五章性能测试-习题,系统的吞吐量(Throughout),指的是单位时间内系统处理的客户端请求的数量。它反映了系统的承载能力或处理交易能力。资源利用率(SystemResourceUtilization),这个概念涉及的范围很广。狭义上主要指服务器操作系统的资源利用率、网络资源利用率、中间件软件的资源利用率和数据库关系系统的资源利用率。广义上可以指软件系统所需的硬件资源和软件资源的总利用率,134,第五章性能测试-习题,负载测试主要是通过逐步增加系统的负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。压力测试主要是通过逐步增加系统的负载,测试系统性能的变化,并最终确定系统在什么负载条件下系统性能处于失败状态。大数据量测试指对系统进行大量数据处理能力的测试,用于评估系统处理大量数据时的系统性能情况。,135,第五章性能测试-习题,疲劳强度测试针对系统而言仍是一种负载,但强调的是对系统长时间运行情况的考查,其目的是为了通过综合分析交易执行指标和资源监控指标来测试系统长时间无故障稳定运行的能力。失效恢复测试主要是针对冗余备份和负载均衡的系统设计,用来检验和评估如果系统的局部发生了故障,用户是否还能继续正常的使用系统;以及在发生局部故障的情况下,系统会在用户的使用上造成多大程度的影响。其目的是评估系统的健壮性和可恢复性。,136,第五章性能测试-习题,2.简述性能测试都有哪些类型性能测试的主要类型包括:负载测试,压力测试,大数据量测试,疲劳强度测试和失效恢复测试;其他的类型包括执行效率测试,资源占用测试,网络效率测试,稳定性测试和并发测试,137,第五章性能测试-习题,3.简述客户端性能测试的策

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论