版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,北华航天工业学院,软件测试技术,杨丽娟计算机科学与工程系,2,北华航天工业学院,第7章集成测试和系统测试,3,回顾,典型软件测试过程,4,7.1集成测试,教学内容集成测试定义集成测试的实施集成测试的策略,5,7.1.1集成测试定义,什么是集成测试?将经过单元测试的多个模块按概要设计要求连接起来,进行测试。是介于单元测试和系统测试之间的过渡阶段。也称为组装测试,联合测试。,6.1集成测试概述,软件的模块结构图,7,集成测试关注的问题(1)模块间的数据传递是否正确?(2)一个模块的功能是否会对另一个模块的功能产生错误的影响?(3)全局数据结构是否有问题,会不会被异常修改?(4)块组合起来的功能
2、能否满足要求?(5)集成后,各个模块的累积误差是否会扩大,是否达到不可接受的程度?,7.1.1集成测试定义,8,集成测试的原则所有公共接口都要被测试到。关键模块必须进行充分的测试。集成测试应当按一定的层次进行。集成测试的策略选择应当综合考虑质量、成本和进度之间的关系。,7.1.1集成测试定义,9,集成测试的原则集成测试应当尽早开始,并以总体设计为基础。在模块与接口的划分上,测试人员应当和开发人员进行充分的沟通。当接口发生修改时,涉及的相关接口必须进行再测试。测试执行结果应当如实记录。,7.1.1集成测试定义,10,7.1.2集成测试的策略,典型集成测试的策略一次性集成测试(非增值式集成测试)对
3、所有模块进行个别的单元测试后,按照程序结构图一次性将各模块连接起来,把连接后的程序当作一个整体进行测试。增值式集成测试把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。,11,(一)一次性集成测试对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。辅助模块驱动模块(Driver)和桩模块(Stub)例如,7.1.2集成测试的策略,(1)程序结构图,(2)单元测试示意图,(3)集成测试示意图,13,(一)一次性集成测试缺点容易出现混乱,对错误的诊断定位以及修改都非常困难。适用规模较小的应用系统。
4、,7.1.2集成测试的策略,14,(二)增值式集成测试自顶向下集成自底向上集成混合式集成方式,7.1.2集成测试的策略,15,(二)增值式集成测试1、自顶向下集成按照模块结构图自上而下进行测试。即模块集成的顺序:首先集成主控模块(主程序)然后依照控制层次结构向下进行集成。从属于主控模块的按深度优先方式(纵向)或者广度优先方式(横向)集成到结构中去。,7.1.2集成测试的策略,16,6.3集成测试的策略,(二)增值式集成测试1、自顶向下集成广度优先方式的集成首先沿着水平方向,把每一层中所有直接隶属于上一层的模块集成起来,直到底层。深度优先方式的集成首先集成在结构中的一个主控路径下的所有模块,主控
5、路径的选择是任意的。,(1),(2),(3),广度优先方式,(1),(2),(3),深度优先方式,(4),19,(二)增值式集成测试1、自顶向下集成优点:它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架,减少了驱动模块的开发成本。缺点:需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难。,7.1.2集成测试的策略,20,(二)增值式集成测试2、自底向上集成按结构图自下而上进行的,即从程序模块结构的最底层模块开始集成和测试。不再需要使用桩模块进行辅助测试。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。,7.1.2集成测试的策略,22,(
6、二)增值式集成测试2、自底向上集成优点:不需要桩模块,且可以实施多个模块的并行测试,最先对底层模块进行测试,减少了回归测试的成本。缺点:直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。,7.1.2集成测试的策略,23,(二)增值式集成测试3、混合增值集成把自顶向下测试和自底向上测试这两种方式结合起来进行集成和测试。这样可以兼具两者的优点,而摒弃其缺点。例如:三明治集成方法(自两头向中间集成),7.1.2集成测试的策略,25,7.1.3集成测试的策略,一次性集成方式适用于规模较小的系统自底向上集成和混合集成适用用于结构化方法开发的系统,27,7.1.4集成测试过程,28,制定集成测试
7、计划,设计集成测试,实施集成测试,执行集成测试,评估集成测试,集成测试五阶段,各阶段工作内容及流程见P132表7-1,29,7.2系统测试,7.2.1系统测试的概念为什么进行系统测试?,30,7.2系统测试,7.2.1系统测试的概念,31,7.2系统测试,7.2.1系统测试的概念(一)概念系统测试就是将通过确认测试的软件作为整个系统的一个元素,与系统中其他所有元素结合起来,在实际运行环境下或模拟系统环境下,测试各组成部分能否实现正确的连接,以满足用户需求。一般由测试部门或第三方测试机构完成。,32,7.2系统测试,7.2.1系统测试的概念(二)系统测试与确认测试的关系确认测试一般以功能测试为主
8、;系统测试一般以验证系统性能为主;例如:系统使用资源状况(内存,处理器等);系统的峰值负载条件;出现故障能否满足恢复的要求;,33,7.2系统测试,7.2.2常见的系统测试方法(一)性能测试(二)安全性测试(三)健壮性测试(四)可靠性测试(五)配置测试和兼容性测试(六)用户界面测试(七)文档测试(八)安装测试和卸载测试,34,(一)性能测试,1、定义检验系统在一定的工作环境下,能否达到预期的性能要求。目标:通过测试,确认软件是否满足产品的性能需求,同时发现系统中存在的性能瓶颈,并对系统进行优化。,35,(一)性能测试,2、主要性能指标响应时间指从应用系统发出请求开始,到客户端接收到最后一个字节
9、数据为止所消耗的时间。合理的响应时间要取决于实际的用户需求。例如:考试系统;,36,(一)性能测试,2、主要性能指标并发用户数指同一时间段内访问系统的用户数量。区分:系统用户数,同时在线用户人数;例如:校园网的选课系统。,37,(一)性能测试,2、主要性能指标吞吐量指单位时间内系统处理的客户请求数量。可直接体现软件系统的性能。一般以每秒钟请求数或每秒钟处理页面数来衡量;,38,(一)性能测试,2、主要性能指标性能计数器描述服务器或操作系统性能的一些数据指标。例如:CPU的使用率内存使用率等,39,(一)性能测试,3、性能测试方法(1)压力测试和负载测试例如:检验该游戏网站的负载能力。,40,(
10、一)性能测试,3、性能测试方法压力测试持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。一般通过逐步增加系统负载来测试系统性能的变化,最终确定在什么负载条件下系统性能处于失效状态,从而获得系统性能的最大服务级别的测试。,41,(一)性能测试,举例某通信软件系统的压力测试测试采用压力测试方法。在正常情况下,每天的电话数目大约2000个,一天24小时服从正态分布。在系统第1年使用时,系统的平均无故障时间大约1个月左右。分析表明,系统的出错原因主要来源于单位时间内电话数量比较大的情况下,为此,对系统采用压力测试,测试时将每天电话的数目增加10倍,即20000个左右
11、,分布采用均匀和正态两种分布,测试大约进行了4个月,共发现了314个错误,修复这些错误大约花费了6个月的时间,修复后的系统运行了近2年,尚未出现问题。,42,(一)性能测试,3、性能测试方法负载测试通过逐步增加系统工作量,测试系统能力的变化。并最终确定在满足系统的性能指标情况下,系统所能承受的最大负载量的测试压力测试是一种特定类型的负载测试。压力和负载测试一般都需通过自动化负载测试工具来模拟进行。,43,(一)性能测试,3、性能测试方法(2)疲劳测试采用系统稳定运行情况下能够支持的最大并发用户数。主要用于测试系统的稳定性和并发性能的测试。,44,(一)性能测试,3、性能测试方法(3)容量测试主
12、要用于数据库系统。通过使系统承受超额的数据容量来确定系统的容量瓶颈(如同时在线的最大用户数等),进而优化系统的容量处理能力。,45,(二)安全测试,根据ISO8402的定义:安全性是“使伤害或损害的风险限制在可接受的水平内”。安全测试的目的在于验证安装在系统内的保护机制能否在实际中保护系统且不受非法入侵,不受各种非法干扰。安全保密措施,检验系统是否有安全保密的漏洞。,46,(二)安全测试,在安全测试中,测试者扮演着试图攻击系统的个人角色:尝试去通过外部的手段来获取系统的密码使用可以瓦解任何防守的客户软件来攻击系统把系统“瘫痪”,使得其他用户无法访问有目的地引发系统错误,期望在恢复过程中侵入系统
13、通过浏览非保密的数据,从中找到进入系统的钥匙,47,(三)健壮性测试,健壮性异常情况下,软件能继续正常运行的能力。分为:1、容错性测试构造一些不合理的输入来测试软件是否继续工作。2、恢复性测试,48,(三)健壮性测试,2、恢复性测试恢复测试是通过各种手段,强制性地使软件出错,使其不能正常工作,进而检验系统的恢复能力。包含的内容:如果系统恢复是自动的(由系统自身完成),则应该检验:重新初始化、检验点设置机构、数据恢复以及重新启动是否正确。如果恢复需要人为干预,则应考虑平均修复时间是否在限定的、可以接受的范围之内。,49,(四)可靠性测试,可靠性(Reliability)是产品在规定的条件下和规定
14、的时间内完成规定功能的能力,它的概率度量称为可靠度。软件可靠性是软件系统的固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的可靠程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。,50,(五)配置测试和兼容性测试,1、配置测试保证软件能在其相关的硬件上能够正常运行。2、兼容性测试检测各软件之间能否正确地交互和共享信息,其目标是保证软件按照用户期望的方式进行交互,使用其它软件检查软件操作的过程。,例如:每一个浏览器和版本支持的特性上都有细微的差别,在不同的操作系统上表现也有所不同。,52,(五)配置测试和兼
15、容性测试,兼容性的测试通常需要解决以下问题:(1)新开发的软件需要与哪种操作系统、Web浏览器和应用软件保持兼容,如果要测试的软件是一个平台,那么要求应用程序能在其上运行。(2)应该遵守哪种定义软件之间交互的标准或者规范。(3)软件使用何种数据与其它平台、与新的软件进行交互和共享信息。,53,(五)配置测试和兼容性测试,兼容性测试分类:1、向前兼容和向后兼容向前兼容是指可以使用软件的未来版本;向后兼容是指可以使用软件的以前版本;并非所有的软件都要求向前兼容和向后兼容,这是软件设计者需要决定的产品特性。,54,(五)配置测试和兼容性测试,兼容性测试分类:2、不同版本间的兼容不同版本间的兼容是指要
16、实现测试平台和应用软件多个版本之间能够正常工作。3、标识和规范兼容4、数据共享兼容,55,(六)用户界面测试,用户界面的7个要素:符合标准和规范。直观性。一致性。灵活性。舒适性。正确性。实用性。,56,符合标准和规范,通常标准是已经确立的,多数用户已经熟悉并接受了这些标准和规范、或已经认同了这些信息所代表的意义。例:如果软件在某一个平台上运行,就需要把该平台的标准和规范作为产品规格说明书的补充内容,在建立测试案例时和产品规格说明书一样作为依据,57,直观性和一致性,直观性:-首先了解所需的功能或期待的响应应该明显,并在预期的地方出现。-其次要考虑用户界面的组织和布局是否合理。一致性:-包括软件
17、本身的一致性,以及软件与其他软件的一致性。,58,灵活性,用户喜欢可以灵活选择的软件,软件可以选择不同的状态和方式,完成相应的功能。但灵活性也可能发展为复杂性,太多的状态和方式的选择增加的不仅仅是用户理解和掌握的困难程度。多种状态之间的转换,增加了编程的难度,更增加了软件测试人员的工作量。例:,59,(六)用户界面测试,用户界面的7个要素:符合标准和规范。直观性。一致性。灵活性。舒适性。正确性。实用性。,60,舒适性、正确性、实用性,舒适性:恰当的表现、合理的安排、必要的提示或更正能力等是要考虑的因素,包括容错处理和性能。正确性:正确性的问题一般都很明显,比较容易发现。实用性:实用性不是指的是
18、软件本身是否实用,而仅仅指的是具体特性是否实用。大型软件的开发周期较长或经过几次反复,软件开发中容易产生一些没有实用性的功能。,61,舒适性例子,62,简单性,1-clickNextNextNext,63,(七)文档测试,软件文档已成为软件的一个重要组成部分,而且种类繁多,对文档的测试也变得必不可少。文档的种类联机帮助文档或用户手册;指南和向导;安装、设置指南;示例及模板;,64,(七)文档测试,软件文档已成为软件的一个重要组成部分,而且种类繁多,对文档的测试也变得必不可少。文档的种类错误提示信息;用于演示的图像和声音;授权/注册登记表及用户许可协议;软件的包装、广告宣传材料;,65,(七)文
19、档测试,如何进行文档测试?好的文档能达到提高易用性、提高可靠性、降低技术支持的费用的目的,从而提高了产品的整体质量。非代码的文档测试主要检查文档的正确性、完备性和可理解性。验证文档正确性验证文档完备性验证文档可理解性,66,(八)安装测试和卸载测试,安装性测试目的就是要验证系统成功安装的能力,并保证程序安装后能正常运行。清晰且简单的安装过程是系统文档中最重要的部分。卸载测试目的保证不同的卸载方式下,可以保证软件正确、完整地卸载。,67,系统测试步骤:编制系统测试计划设计系统测试用例审批系统测试计划执行系统测试分析系统测试结果,提交测试报告,并改进系统,7.2系统测试,68,7.3回归测试,1、
20、回归测试的目的所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;不影响软件原有功能的正确性。,69,7.3回归测试,2、回归测试的方法再测试全部用例基于风险选择测试基于操作剖面选择测试再测试修改的部分,70,7.3回归测试,2、回归测试的方法(1)再测试全部用例选择基线测试用例库中的全部测试用例组成回归测试包,这是一种比较安全的方法,再测试全部用例具有最低的遗漏回归错误的风险,但测试成本最高。,71,7.3回归测试,2、回归测试的方法(2)基于风险选择测试以基于一定的风险标准来从基线测试用例库中选择回归测试包。首先运行最重要的、关键的和可疑的测试,而跳过那
21、些非关键的、优先级别低的或者高稳定的测试用例,,72,7.3回归测试,2、回归测试的方法(3)基于操作剖面选择测试优先选择那些针对最重要或最频繁使用功能的测试用例,释放和缓解最高级别的风险,有助于尽早发现那些对可靠性有最大影响的故障。,73,7.3回归测试,2、回归测试的方法(4)再测试修改的部分当测试者对修改的局部化有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。,74,7.4基于C/S结构的系统测试,Client/Server结构,又称客户机/服务器结构,75,7.4基于C/S结构的系统测试,76,7.4基于C/S结构的系统测
22、试,从宏观上说,C/S体系结构的软件测试通常是从单个客户端开始,然后再逐步集成客户端、服务器和网络系统进行集成测试,最后进行系统的整体测试。即从以下三个层面来进行C/S系统的测试:(1)客户端的独立测试(2)客户端与服务器端的集成测试(3)整体测试,77,7.5基于Web的系统测试,基于Web的系统主要采用B/S结构。B/(Brower/Server),又称浏览器/服务器结构,78,7.5基于Web的系统测试,79,7.5基于Web的系统测试,典型的Web系统,80,7.5基于Web的系统测试,典型的Web系统,81,7.5基于Web的系统测试,B/S优点(1)具有分布性特点,可以随时随地进行
23、查询、浏览等业务处理。(2)业务扩展简单方便,通过增加网页即可增加服务器功能。(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)开发简单,共享性强,82,7.5基于Web的系统测试,基于Web的系统测试包括:功能测试用户界面测试兼容性测试和配置测试安全测试接口测试,83,7.6验收测试,7.6.1验收测试的概念7.6.2验收测试过程7.6.3验收测试的常用策略7.6.4验收测试报告,84,7.6验收测试,7.6.1验收测试的概念验收测试是部署软件之前的最后一个测试操作。验收测试的目的是:确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。,85,7.6验收
24、测试,7.6.1验收测试的概念验收测试的任务:验证软件的功能和性能如同用户所合理期待的那样。也就是验证软件的有效性。,86,7.6验收测试,7.6.2验收测试的过程,验收测试过程流程图,验收测试过程流程图,88,7.6.3验收测试的常用策略,实施验收测试的常用策略有三种:正式验收测试非正式验收或测试测试选择的策略通常建立在合同需求、组织和公司标准以及应用领域的基础上。,89,正式验收测试,正式验收测试是一项管理严格的过程,它通常是系统测试的延续。计划和设计这些测试的周密和详细程度不亚于系统测试。选择的测试用例应该是系统测试中所执行测试用例的子集正式验收测试的两种方式:在某些组织中,开发组织(或
25、其独立的测试小组)与最终用户组织的代表一起执行验收测试。在其他组织中,验收测试则完全由最终用户组织执行,或者由最终用户组织选择人员组成一个客观公正的小组来执行。,90,正式验收测试,正式验收测试形式的优点包括:要测试的功能和特性都是已知的。测试的细节是已知的并且可以对其进行评测。这种测试可以自动执行,支持回归测试。可以对测试过程进行评测和监测。可接受性标准是已知的。,91,正式验收测试,正式验收测试形式的缺点包括:要求大量的资源和计划。这些测试可能是系统测试的再次实施。可能无法发现软件中由于主观原因造成的缺陷,这是因为您只查找预期要发现的缺陷。,92,非正式验收或测试,在非正式验收测试中,执行
26、测试过程的限定不象正式验收测试中那样严格。在此测试中,确定并记录要研究的功能和业务任务,但没有可以遵循的特定测试用例。测试内容由各测试员决定。这种验收测试方法不象正式验收测试那样组织有序,而且更为主观。大多数情况下,非正式验收测试是由最终用户组织执行的。,93,非正式验收或测试的优点包括:要测试的功能和特性都是已知的。可以对测试过程进行评测和监测。可接受性标准是已知的。与正式验收测试相比,可发现更多由于主观原因造成的缺陷。,非正式验收或测试,94,非正式验收或测试的缺点包括:要求资源、计划和管理资源。无法控制所使用的测试用例。最终用户可能沿用系统工作的方式,并可能无法发现缺陷。最终用户可能专注于比较新系统与遗留系统,而非
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院临床教学工作管理制度
- 2025年麻醉药品、第一类精神药品专项培训考核试题及答案
- 2025-2026统编版三年级语文上册期中测试卷(附答案)
- 射箭基础典型试题及答案解析
- PLC应用通信试题及答案
- 贸易数据申报师安全知识竞赛考核试卷含答案
- 农药制剂操作工安全技能模拟考核试卷含答案
- 船舶附件制造工风险识别模拟考核试卷含答案
- 中药材种植员安全生产规范考核试卷含答案
- 酱卤肉制品加工工创新思维模拟考核试卷含答案
- (新教材)苏教版二年级上册科学全册教案(教学设计)
- ESC 2026新版心力衰竭管理指南精读
- 2026年康复治疗师资格考试试题及答案
- 糖尿病周围神经病变共识(2023 版)
- 2026年重庆事业单位考试真题及答案
- 2026年秋苏教版科学五年级上册教学工作计划
- (2026年秋)二年级上册语文教案
- 火车站项目顶棚吊顶施工方案
- 2026年物流师资格认证(CICP)考试(助理物流师三级)在线题库
- 2026年英语四级听力真题及听力音频
- 新版2025-2026新人教版小学2二年级数学上册(全册)教案【新教材】
评论
0/150
提交评论