[信息与通信]软件工程第8章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[信息与通信]软件工程第8章

这两种方法各有优缺点: (1)采用非增殖式组装方式时,可以较早发现模块间的接口错误,而采用增殖式组装方式时,只有在模块加进来时才可能发现,因此接口错误发现较晚。 (2)采用非增殖式组装方式时要对每个模块进行单元测试,需要编写的测试软件较多,工作量大,而采用增殖式组装方式时,利用已测试过的模块部分作为部分测试软件,因而工作量较小。 (3)非增殖式组装方式要求一下子把所有模块组装起来,如果发现错误则较难判断错误的位置,而采用增殖式组装方式时,由于每次只加入一个模块,因而错误往往与刚加入的模块有关,查错则相对容易些。 (4)采用非增殖式组装方式时,各模块的单元测试可以并行地进行,因此可以充分利用人力,加快测试进程,采用增殖式组装方式时却不能如此。 1、自顶向下结合 在使用增殖式组装方式时,常用的有自顶向下和自底向上两种方法。 采用这种组装方式时,是从主控制模块开始,沿着软件的控制层次向下移动,从而逐渐把各个模块都结合起来。 左图是一个树形结构,主控制模块是M1,在把主控制模块M1所属的那些模块都组装起来时可以采取两种方法:深度优先策略或者宽度优先策略。 采用深度优先的结合方法时,先把软件结构的一条主控制通路上的所有模块一个一个地结合组装起来。主控制通路的选择取决于应用的特点。对于图8.5来说,如果选取左通路为主控通路,那么首先结合模块M1,M2和M5,然后是M8。如果M2的某个功能需要的话,可结合M6。然后结合中间的和右边的控制通路。 采用宽度优先的结合方法时,逐层结合直接下属的所有模块,即把处于同一个控制层次上的所有模块组装起来。对于图8.5来说,首先结合模块M2,M3和M4(代替存根模块S4),接着结合下一个控制层次中的模块M5,M6和M7;如此继续进行下去,直到所有模块都被结合进来。 不管是采用深度优先策略还是宽度优先策略,其结合过程如下: (1)用主控制模块作为测试驱动模块,所有直接下属于主控制模块的模块用存根模块代替,对主模块进行测试; (2)根据选定的结合策略(深度优先或宽度优先),每次用一个实际模块替换一个存根模块,对新结合进来的模块的直接下属模块,用新的存根模块代替; (3)对结合进来的模块进行相应的测试; (4)为了保证新加入的模块不引入新的错误,可以进行回归测试,即重复以前进行过的部分测试或全部测试。 从第(2)步开始,不断地重复进行上述过程,直到所有模块都结合进来为止。 采用自顶向下的结合策略的好处: 在测试过程中能够较早地对主要的控制或关键的判断点进行检验。因为在一个功能划分合理的软件结构中,关键的判断点常常出现在较高的层次里,所以能够较早碰到。如果主要控制存在问题,及早发现这类问题并尽快想办法解决是十分重要的,这样可以大大减少后面的工作量。如果选择的是深度优先结合方法,可以首先实现并验证软件的一个比较完整的功能,这样对增强开发人员和用户双方的信心是很有意义的。 * * 8.1 软件测试的基本概念 8.2 软件测试方法 8.3 测试用例的设计 8.4 软件测试的步骤 8.5 调试 第八章 软件测试 8.6 软件可靠性 测试的定义:为了发现程序中的错误而执行程序的过程。 具体地说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。 8.1.1 软件测试的定义 8.1 软件测试的基本概念 8.1.2 软件测试的基本原则 (1)尽早地、不断地进行软件测试。 (2)设计测试用例时,要给出测试的预期 结果。 (3)开发小组和测试小组分开。 (4)要设计非法输入的测试用例。 (5)在对程序修改之后要进行回归测试。 8.1.3 软件测试的内容 1.单元测试 又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2.集成测试 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3.有效性测试 4.系统测试 系统测试是把通过有效性测试的软件,作为基于计算机系统的一个整体元素,与整个系统的其他元素结合起来,在实际运行环境下,对计算机系统进行一系列的集成测试和有效性测试。 集成测试通过后,应在用户的参与下进行有效性测试。这个时候往往使用实际数据进行测试,从而验证软件是否能满足用户的实际需要。 白盒测试是将程序看作一个透明的盒子,测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档