网站大量收购独家精品文档,联系QQ:2885784924

实用软件工程第11章 测试与维护.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用软件工程第11章 测试与维护

第11章 测试与维护 软件系统测试的基本目的就是要在软件产品投入生产性运用之前,尽可能多的发现软件产品中存在的各种错误,即消除故障保证软件的可靠性。 即使通过了最严格的软件系统测试,仍然可能还有一些错误隐藏在程序中而未被发现。因此软件系统测试只能找到程序中存在的错误,而不能证明程序中没有错误。 如果遇到的错误很少并且很容易改正,则应该考虑: (1) 所进行的软件系统测试是否足够发现可能存在的各种错误; (2) 软件的可靠性是可以被接受的。 11.1 软件测试的步骤 11.2 白盒测试和黑盒测试 11.3 模块测试 11.4 集成测试 11.5 验收测试 11.6 测试方案设计 11.7 调试方法与技术 11.8 测试工具 11.9 软件系统维护 11.10 小结 11.1 软件测试的步骤 大型软件系统的测试通常分为以下几个步骤: (1) 模块测试 又称为单元测试。对每个模块进行单独测试而不需要考虑模块之间的相互关系。模块测试往往是自己编写程序自己进行测试。 (2) 子系统测试 在子系统测试中重点工作是对各个模块之间的接口,以及各个模块之间的协调和通信进行测试。 (3) 系统测试 系统测试就是将经过测试的子系统组装成一个完整的系统来进行测试。 通常将子系统测试和系统测试通称为集成测试。 (4) 验收测试 在软件用户的积极参与下进行的,使用的通常是软件系统实际中要处理的一些数据。 (5) 平行运行 平行运行就是将新开发出来的软件系统和旧的软件系统同时运行,以便比较新旧两个版本的软件系统的处理结果。 11.2 白盒测试和黑盒测试 检查软件产品内部动作是否是按照产品规格说明书的规定来正常运行的,这是白盒测试;检查软件产品的每个功能是否能够正常使用,这是黑盒测试。 白盒测试又称为结构测试,按照程序的内部逻辑来对程序进行测试的,检验程序中的每条通路是否都能够按照预定的要求进行正确的工作。 黑盒测试又称为功能测试,黑盒测试只是在程序接口之间进行的测试。 包含所有可能情况的测试叫做穷尽测试。 11.3 模块测试 单元测试可以采用白盒测试法来进行,在模块测试中主要测试模块的以下几个部分: (1) 模块的接口; (2) 模块内的局部数据结构; (3) 模块中的出错处理通路; (4) 一些重要的程序执行通路; (5) 测试变量的边界条件。 一般情况下模块测试是与程序编码一起进行的。在编写出源代码并且通过编译程序的语法检查后,就可以进行人工和计算机两种类型的模块测试。 (1) 人工测试 人工测试源代码可以由程序编写者本人或者审查小组来进行。 (2) 计算机测试 计算机测试就是通过编写相应的程序利用计算机来进行模块测试。 11.4 集成测试 集成测试包括子系统测试和系统测试,它是将软件组装起来的系统技术。集成测试主要是在把模块按照软件设计的要求组装起来的同时进行测试,其主要目的是发现各个接口之间可能存在的有关问题。 11.4.1 渐进式测试 渐进式测试就是在将模块组装为子系统或系统时,把下一个要测试的模块与已经测试好的那些模块结合起来一起进行测试,测试完以后再将下一个要测试的模块也结合起来一起进行测试,每次增加一个测试模块。渐进式测试又可以分为自底向上和自顶向下两种方法。 (1) 自底向上法 自底向上法是从整个软件系统的最底层的模块开始进行组装和测试的。 (2) 自顶向下法 自顶向下法是从主程序开始沿着程序的控制层次依次向下进行测试,将各个模块依次结合进软件结构中,从而达到测试的目的。 11.4.2 不同测试策略的比较 所谓非渐进式测试就是指首先分别测试每个模块,再将所有模块按照事先设计好的要求放在一起结合成所需要的程序,即先将所有的模块分别测试一遍,然后在将所有的模块一起组装起来。 (1) 使用非渐进式法测试模块之间的接口错误发现的就会很晚;而使用渐进式测试法测试则可以较早的发现模块之间的接口错误; (2) 使用非渐进式测试法如果发现了错误则不容易找出错误的具体位置;而使用渐进式测试法时,如果发现了错误则往往和最后加入的那个模块有关; (3) 使用非渐进式测试法需要分别测试每一个模块,所需的工作量也比较大;而使用渐进式测试法所需的工作量相对而言比较小; (4) 使用渐进式测试法测试的更加彻底;使用非渐进式测试法相对而言没有渐进

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档