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

软件测试及其案例分析第八章实用软件测试策略.ppt

软件测试及其案例分析第八章实用软件测试策略.ppt

  1. 1、本文档共205页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  在实际中,软件测试活动可以采用各种不同的测试技术和策略。它们在于不同的出发点、不同的思路以及采用不同的手段和技术。采用多种测试技术和策略,可以更多地覆盖软件测试的各个方面。到目前为止,已有很多软件测试技术和策略。本章介绍若干常用的软件测试策略。      软件测试可采取的方法和技术是多种多样的,但通常情况下不论采用什么方法和技术,其测试都是不彻底、不完全的。所谓彻底测试,或称为“穷举测试”,就是让被测程序在一切可能的操作(输入)情况下全部执行一遍,包括正确的、错误的操作。因为任何一次彻底测试的工作量太大,在实际中是行不通的,因此任何实际测试都不能够保证被测试软件中不存在遗留的Bug。   1.软件测试策略包含的内容和特征   (1) 软件测试策略是为软件工程定义的一个软件测试的模板,也就是把特定的测试用例方法放置进去的一系列测试步骤。从广义上来说,软件测试策略包括很多方面的内容,如测试观点、测试方法、测试用例和测试工具;测试相关的评判标准;测试资源(包括人和物)的分配;影响测试资源或者测试进度的风险管理等。   测试策略用于说明某项特定测试工作的一般方法和目标。软件测试策略主要是针对系统测试需求确定测试类型及如何实施测试的方法和技术。一个好的测试策略应该包括下列内容:   ● ?要实施的测试类型和测试的目标。   ● ?采用的测试技术和方法。   ● ?用于评估测试结果和测试是否完成的标准。   ● ?对测试策略所述的测试工作存在影响的特殊事项。   (2) 软件测试策略包含的特征:   ● ?测试从模块层开始,然后扩大延伸到整个基于计算机的系统集合中。   ● ?不同的测试技术适用于不同的时间点。   ● ?测试是由软件的开发人员和独立的测试组(对于大型系统而言)来管理的。   ● ?测试和调试是不同的活动,但是调试必须能够适应任何的测试策略。   2.选择或设计软件测试策略的原则   软件测试的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成测试。为了降低测试成本,选择测试用例和测试方法时应注意遵守“经济性”的原则:   ● ?根据软件的重要性和一旦发生Bug可能造成的损失来确定它的测试等级。   ● ?认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的程序Bug。经过一次完整的软件测试,如果程序中遗漏的Bug过多并且很严重,则表明本次测试失败。   ● ?设置合乎实际的测试量。如果测试不足意味着让用户承担隐藏Bug带来的危险,而过度测试又会浪费许多宝贵的资源。在实际中,需要在这两点上进行权衡,找到一个最佳平衡点。   以下是Myers提出的使用各种测试方法的综合策略:   (1) 在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出测试用例发现程序Bug的能力最强。   (2) 必要时用等价类划分方法补充一些测试用例。   (3) 用Bug推测法再追加一些测试用例。   (4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。   (5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。   3.软件测试方案   测试方案的具体内容包括:明确策略;细化测试特性(形成测试子项);测试用例的规划和测试环境的规划;自动化测试框架的设计;测试工具的设计和选择。下面从三种不同角度介绍软件测试方案。   1) 基于场景的测试   场景测试指假定自己是被测软件系统的使用者,在实际使用中,会以什么样的操作顺序去使用该软件,将这样的可能性都一一列出来形成测试观点。这种测试策略在思想上与面向对象软件测试中的基于序列的测试是相同的。 该测试与普通的功能测试是不同的,它的侧重点在于连续使用整个软件的各个功能。而功能测试则是针对每个功能点进行全面细致的测试,所以基于场景的测试往往会发现一些普通功能测试不能发现的Bug。   2) 基于关联关系的测试   对于一个软件来说,关联关系可以分为两类:   (1) 横向的关联关系,如同一种类型的问题在某个功能中发生了,那么在其他功能中是否正确。这样的展开测试称为横向展开测试。   (2) 纵向的关联关系,如一个大型软件有多个功能,它们之间有各种联系,那么一个功能中有些值/设定/操作改变的情况下另一个关联的功能处理是否正确。这样的展开测试称为纵向展开测试。   在已经测试出部分Bug后,针对每个Bug实施横向和纵向两类的关联关系测试效果将是非常显著的。   3) 基于接口的测试   在软件系统中,接口处往往是最薄弱之处。如在一个系统中,有大功能A、B、C,每个大功能下的各种子功能经过单独测试都是正常的。如果功能A中调用了功能C,在这种调用情况下功能C的有些功能可能就不正确。所以在测试中

文档评论(0)

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

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

1亿VIP精品文档

相关文档