软件测试过程及策略.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文档。上传文档
查看更多
第2章 软件测试过程与策略 第2章 软件测试过程与策略 2.1 软件测试的复杂性与经济性分析 2.1.1 软件测试的复杂性 2.1.2 软件测试的经济性 2.1.3 软件测试的充分性准则 2.1.4 软件测试的误区 2.2 软件测试流程 软件测试阶段的输入信息包括两类: 软件配置:指测试对象。通常包括需求说明书、设计说明书和被测试的源程序等; 测试配置:通常包括测试计划、测试步骤、测试用例以及具体实施测试的测试程序、测试工具等。 对测试结果与预期的结果进行比较以后,即可判断是否存在错误, 决定是否进入排错阶段,进行调试任务。对修改以后的程序要进行 重新测试,因为修改可能会带来新的问题。 通常根据出错的情况得到出错率来预估被测软件的可靠性,这将对 软件运行后的维护工作有重要价值。 2.2.2 单元测试 2.2.3 集成测试 (2)增值式集成测试方式 把下一个要测试的模块同已经测好的模块结合起来进行测试,测试 完毕,再把下一个应该测试的模块结合进来继续进行测试。在组装 的过程中边连接边测试,以发现连接过程中产生的问题。通过增值 逐步组装成为预先要求的软件系统。增值式集成测试方式有三种: 自顶向下增值测试方式(Top-down Integration) 主控模块作为测试驱动,所有与主控模块直接相连的模块作为桩模 块;根据集成的方式(深度或广度),每次用一个模块把从属的桩 模块替换成真正的模块;在每个模块被集成时,都必须已经进行了 单元测试;进行回归测试以确定集成新模块后没有引入错误。这种 组装方式将模块按系统程序结构,沿着控制层次自顶向下进行组装。自顶 向下的增值方式在测试过程中较早地验证了主要的控制和判断点。选用按 深度方向组装的方式,可以首先实现和验证一个完整的软件功能。 图2-8表示的是按照深度优先方式遍历的自顶向下增值的集成测试实例。具体测试 过程如下: 在树状结构图中,按照先左后右的顺序确定模块集成路线; 如图2-8(a)所示,先对顶层的主模块A进行单元测试。就是对模块A配以桩模块 S1、S2和S3,用来模拟它所实际调用的模块B、C、D,然后进行测试; 如图2-8(b)所示,用实际模块B替换掉桩模块S1,与模块A连接,再对模块B配 以桩模块S4,用来模拟模块B对E的调用,然后进行测试; 图2-8(c)是将模块E替换掉桩模块S4并与模块B相连,然后进行测试; 判断模块E没有叶子节点,也就是说以A为根节点的树状结构图中的最左侧分支深度遍历结束。转向下一个分支; 图2-8(d)所示,模块C替换掉桩模块S2,连到模块A上,然后进行测试; 判断模块C没有桩模块,转到树状结构图的最后一个分支; 如图2-8(e)所示,模块D替换掉桩模块S3,连到模块A上,同时给模块D配以桩模块 S5,来模拟其对模块F的调用。然后进行测试; 如图2-8(f)所示,去掉桩模块S5,替换成实际模块F连接到模块D,然后进行测试; 对树状结构图进行了完全测试,测试结束。 自底向上增值测试方式(Bottom-up Integration) 组装从最底层的模块开始,组合成一个构件,用以完成指定的软件子功能 。编制驱动程序,协调测试用例的输入与输出;测试集成后的构件;按程 序结构向上组装测试后的构件,同时除掉驱动程序。这种组装的方式是从 程序模块结构的最底层的模块开始组装和测试。因为模块是自底向上进行 组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模 块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需 要从子模块得到的信息可以直接运行子模块获得。 图2-9表示的是按照自底向上增值的集成测试例子。首先,对处于树状结 构图中叶子节点位置的模块E、C、F进行单元测试,如图2-9(a)、图2- 9(b)和图2-9(c)所示,分别配以驱动模块D1、D2和D3,用来模拟 模块B、模块A和模块D对它们的调用。然后,如图2-9(d)和图2-9(e )所示,去掉驱动模块D1和D3,替换成模块B和D分别与模块E和F相连 ,并且设立驱动模块D4和D5进行局部集成测试。最后,如图2-9(f)所示, 对整个系统结构进行集成测试。 2.2.4 确认测试 2.2.5 系统测试 2.2.6 验收测试 2.3 静态测试与动态测试 静态测试可以完成的工作如下: (1) 可以发现如下的程序缺陷: 错用了局部变量和全局变量; 不匹配的参数; 未定义的变量; 不适当的循环嵌套或分支嵌套; 无终止的死循环; 不允许的递归; 调用不存在的子程序; 遗漏了标号或代码。 (2) 找出如下问题的根源: 未使用过的变量; 不会执行到的代码; 从未引用过的标号; 潜在的死循环。 (3) 提供程序缺陷的如下间接信息: 标识符的使用方式; 过程

文档评论(0)

134****9291 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档