基层医院常见感染性疾病和呼吸系统疾病的药物治疗课件_第1页
基层医院常见感染性疾病和呼吸系统疾病的药物治疗课件_第2页
基层医院常见感染性疾病和呼吸系统疾病的药物治疗课件_第3页
基层医院常见感染性疾病和呼吸系统疾病的药物治疗课件_第4页
基层医院常见感染性疾病和呼吸系统疾病的药物治疗课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

实用

软件测试方法与应用(集成测试)第5章集成测试本章着重讲述集成测试的整个过程——集成测试的基本理论、测试计划的编制、测试过程中的注意事项。

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)集成为子系统或系统,进行集成测试。2006-9-195.1集成测试基本理论集成测试的目的和意义考虑以下问题:1.在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;2.各个子功能组合起来,能否达到预期要求的父功能;3.一个模块的功能是否会对另一个模块的功能产生不利的影响;4.全局数据结构是否有问题5.单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。要想发现并排除在模块连接中可能发生的上述问题,就需要进行集成测试。集成测试有以下不可替代的特点:单元测试具有不彻底性,对于模块间接口信息内容的正确性、相互调用关系是否符合设计无能为力。只能靠集成测试来进行保障。同系统测试相比,由于集成测试用例是从程序结构出发的,目的性、针对性更强,测试项发现问题的效率更高,定位问题的效率也较高;能够较容易地测试到系统测试用例难以模拟的特殊异常流程,从纯理论的角度来讲,集成测试能够模拟所有实际情况;定位问题较快,由于集成测试具有可重复强、对测试人员透明的特点,发现问题后容易定位,所以能够有效地加快进度,减少隐患。2006-9-195.1.2联调与集成测试的区别

集成和联调都是对系统模块的装配过程,只不过是两个级别的装配和集成过程。集成测试是:测试人员在开发人员的协助下,制定集成测试计划;集成测试主要关注的是集成模块接口上消息的覆盖、异常流程、性能指标等深入的测试,集成测试不一定依赖于物理平台的支撑(如:机架);集成测试是分层次的,某模块集成测试通过后,可以按照集成方案的策划开始着手下一个(组)模块或更高级别的模块的集成,即从(2)再开始,直至按照集成方案的要求将所有的部件集成完毕;当按照集成测试计划全部完成后,就可以进行系统联调了一般意义上,联调是指软件系统和硬件平台之间的联调,联调完毕后,一个将交付的系统就搭建完成了,因此,联调可以说是更高级别的集成。开发经理在开发测试相关人员的协助下,制定系统联调计划。相关人员将已经经过集成测试软件系统和硬件平台集成在一起,构成将交付的系统,并调通该系统的基本功能特性,可以用系统与此项或联调方案所规定的检验方法确定基本功能特性是否实现,联调在系统联调环境上进行,是一个反复调试的过程;在系统联调调通后,将系统联调调通后的版本提交系统预测试组进行系统预测试,系统预测试基于的系统预测试项是取自系统测试项的系统基本功能项,系统预测试的目的是确保提交一个可系统测试的版本。在系统比较庞大、接口关系十分复杂的产品上,如果因争取时间或过于自信的原因忽略集成,而直接跨越到联调,往往导致模块间接口问题难以发现或发现问题后查错十分困难,或反复更改模块内部代码和接口协议,造成语速则不达的后果。完整的测试流程是:单元测试-〉集成测试-〉联调-〉系统预测试-〉系统测试

2006-9-195.1.3集成测试、单元测试与系统测试的差别由以上可以看出,整个软件系统的测试过程是:先对各个软件模块进行单元测试,然后把经过单元测试的各个模块组装起来进行集成测试,最后把经过集成测试的子系统合成软件版本,对照需求规格,在实际环境下,进行系统功能验证。

测试类型对象目的测试依据测试方法单元测试模块内部的程序错误消除局部模块的逻辑和功能上的错误和缺陷模块逻辑设计,模块外部说明大量采用白盒测试方法集成测试模块间的集成和调用关系找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题程序结构设计结合使用白盒与黑和测试方法,采用较多黑盒方法构造测试用例系统测试整个系统,包括系统中的硬件等对整个系统进行一系列的整体、有效性测试系统结构设计,目标说明书,需求说明书等黑盒测试2006-9-195.2集成测试的基本方案一般来说,按测试过程中组合模块的方式,有两种不同的集成方式:一次性集成方式和增值式集成方式。1.一次性集成方式一次性集成方式是一种非增殖集成方式,也叫整体拼装。按这种集成方式,首先对每个模块分别进行模块测试,然后再把所有模块集成在一起进行测试,最终得到要求的软件系统。例如,有一块系统结构,如图(a)所示,其单元测试和集成顺序如图(b)所示。

(a)(b)模块d1、d2、d3、d4、d5是对各个模块做单元测试时建立的驱动模块,s1、s2、s3、s4、s5是为单元测试而建立的桩模块。这种一次性集成方式将所测模块连接起来进行测试,但是一次试运行成功地可能性并不大。其结果发现有错误,但茫然找不到原因,差错和改错都会遇到困难。ABCDEFd5d4d3d2d1BDCEFS1S2AS5S4S3ADCBFE2006-9-192.增殖式集成方式增殖式集成方式也称为递增集成法,即逐次将未曾测试的模块和已测试的模块(或子系统)结合成程序包,然后将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。最后增殖逐步集成为要求的软件系统。根据集成的过程又可以分为自顶向下集成自底向上集成“三明治”集成法定向冒险集成法功能定向集成法等2006-9-192.1自顶向下的增殖方式这种集成方式是将模块按系统的程序结构,沿控制层次自顶向下进行集成。步骤:(1)以主模块为所测模块兼驱动模块,所有直属于主模块的下属模块全部用桩模块对主模块进行测试。(2)采用深度优先或宽度优先的策略,用实际模块替换相应桩模块,再用桩代替它们的直接下属模块,与已测试的模块或子系统集成为新的子系统。如下图(3)进行回归测试(即重新执行以前做过的全部测试或部分测试),排除集成过程中引起错误的可能。(4)判断是否所有的模块都已集成到系统中,是则结束测试,否则转到(2)去执行。1.在测试过程中较早地验证了主要的控制和断点。2.可以首先实现和验证一个完整的软件功能,可先对逻辑输入的分支进行集成和测试,检查和克服潜藏的错误和缺陷。3.功能可行性较早得到证实,还能给开发者和用户带来成功地信心。ACBAs3s1Es2s3ABs4s3s2AEs3s2BADCBS5EABCDEF加入B加入E加入C加入D加入F按深度方向组装2006-9-19

自顶向下的集成和测试存在一个逻辑次序问题。在为了充分测试较高层的处理而需要较低层的处理信息时,就会出现这类问题。在自顶向下集成阶段,还需要用桩模块代替较低层的模块,所以关于桩模块的编写,根据情况可能有所不同,有如下几种选择。

为了能够准确地实施测试,应当让桩模块正确而有效地模拟子模块的功能和合理的接口,不能是只包含返回语句或只显示该模块已调用信息、不执行任何功能的哑模块。如果不能使桩模块正确地向上传递有用的信息,可以采用以下解决办法:(1)将很多测试推迟到桩模块用实际模块替代了之后进行;(2)进一步开发能模拟实际模块功能的桩模块;(3)自底向上集成和测试软件桩模块stubA桩模块stubD桩模块stubC桩模块stubB显示跟踪信息显示传递的信息从一个表(或外部文件)返回一个值进行一项表查询以根据输入参数返回输出参数表示传递的数据消息2006-9-192.2自底向上的增殖方式这种集成的方式是从程序模块结构的最底层的模块开始集成和测试。因为模块是自底向上进行集成,对于一个给定的模块,它的子模块(包括子模块的所有下属模块)已经集成并测试完成,所以不再需要桩模块。自底向上增殖的步骤如下:(1)由驱动模块控制最底层模块的并行测试,也可以把最底层模块组合成实现某一特定软件功能的簇,由驱动模块控制它进行测试。(2)用实际模块代替驱动模块,与它已测试的直属子模块集成为子系统。(3)为子系统配备驱动模块,进行新的测试。(4)判断是否已集成到达主模块,是否结束测试,否则执行(2)。下图说明自底向上集成和测试的顺序:d1Ed2Cd3Fd4DBd5FEAFEDCB2006-9-19自底向上进行集成和测试时,需要为所测模块或子系统编制相应的驱动模块。常见的几种类型的驱动模块如图所示:随着集成层次的向上移动,驱动模块将大为减少。如果对程序模块结构的最上面两层模块采用自顶向下进行集成和测试,可以明显地减少驱动模块的数目,而且可以大大减少把几个系统集成起来所需要做的工作。驱动程序DriverA驱动程序DriverB驱动程序DriverC驱动程序DriverD调用从属模块从表(或外部文件)中传递参数显示参数兼有驱动程序B、C的功能表示传送的参数信息2006-9-19

优缺点自顶向下增殖的方式和自底向上增殖的方式各有优缺点。一般来讲,一种方式的优点是另一种方式的缺点。1.自顶向下增殖方式的缺点是需要建立桩模块。要使桩模块能够模拟实际子模块的功能十分困难,同时涉及复杂算法,真正输入/输出的模块一般在底层,他们是最容易出问题的模块,到测试和集成的后期才遇到这些模块,一旦发现问题导致过多的回归测试。优点是能够较早地发现在主要控制方面的问题。2.自底向上增殖方式的缺点是“程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体”。就是说,在自底向上集成和测试的过程中,对主要的控制直到最后才接触到。

优点是不需要桩模块,而建立驱动模块一般比建立桩模块容易,同时由于涉及到复杂算法和真正输入/输出的模块最先得到集成和测试,可以把最容易出问题的部分在早期解决。此外,自底向上增值的方式可以实施多个模块的并行测试,提高测试效率。2006-9-19

2.3混合增殖式测试

混合增殖式测试就是把以上两种方式结合起来进行集成和测试。这样可以兼具两者的优点下面介绍3种常见的混合式增殖方式:(1)衍变的自顶向下的增殖方式:它的基本思想是强化对输入/输入模块和引入新算法模块的测试,并自底向上集成为功能相当完整且相对独立的子系统,然后由主模块开始自顶向下进行增殖测试。(2)自底向上-自顶向下的增殖测试:它首先对含读操作的子系统自底向上直至根结点模块进行集成和测试,然后对含写操作的子系统作自顶向下的继承与测试。(3)回归测试:这种方式采取自顶向

温馨提示

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

评论

0/150

提交评论