- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试基础教程(第2版)
第2章:软件测试基础 主讲人:贾艳波 职称:讲师 丰田:伤了谁的心 汽车质量?”召回门“”脚踏门“…… 质疑日本制造 ? /netall/index.shtml?qtext=%u672C%u7530 软件产品的行为与需求不符合是否就是软件产品不合格? 只有在了解了一个软件系统正确运行时的期望行为之后,才有可能判定其是否不合格。 失效(failure) 是指不完全符合给定的需求,是实际结果(action result)或行为(在执行测试时观察到的)与期望结果(expected result)或行为(在规格说明或需求中定义的)之间的偏差。 [IEEE610.12]使用“失效”这一术语来描述用户遇到问题的情形,人们也常用“问题”(problem)或“事件”(incident)来描述同样的情形。在软件测试或者使用过程中,失效会在测试人员(tester)或用户面前“现形”,例如,发生输出错误或者系统崩溃。 我们真正担心的问题是:千万不要出现大的偏差。 导致失效的因素除缺陷外,还可能有辐射、电磁波、电场等环境因素,另外,环境污染引起的硬件故障也会导致软件运行的失效。 有许多因素会导致软件缺陷,主观原因是人类在从事软件开发过程中容易犯错误,另外由于开发过程管理规范性、开发技术、软件的复杂性、开发的周期长短、个人能力等因素也会导致软件的缺陷产生。 2.1.2 测试术语 测试不是调试 要修正缺陷,必须在软件中找到它的位置。 软件开发人员通过调试(debugging)确定软件缺陷位置并进行修正。 调试是对缺陷的定位和修正,而测试的目标是发现系统的失效,以证明缺陷的存在。 以检测失效为目的而对测试对象进行的每次执行都是测试。必须明确定义测试的条件。测试对象的实际行为和预期行为需要进行对比。 测试的目的 为了寻找失效而执行程序; 为了评估质量而执行程序; 为了增强信心而执行程序; 为了预防缺陷而分析程序或者它的文档。 测试定义: 系统地执行程序以证明正确实现了需求,增强对产品的信心,以及查找系统失效的过程称为“测试”。另外,测试还包含了静态的方法,即使用工具对软件产品进行静态分析,以及对文档进行评审。 除了根据测试数据(test data)对测试对象进行测试以外,测试的规划、设计、实施以及分析(测试管理test management)都是测试过程(test process)的组成部分。 测试运行(test run)或测试套件(test suite)是由一个或多个测试用例(test case)组成的。 测试用例包含对测试条件(多少情况下是执行测试的需求)、输入、测试对象的预期输出或预期行为的定义。 测试用例应该对具有未知错误的较高发现能力。 结论:复杂的软件系统是不可能没有缺陷的。 即使在执行完所有的测试用例后没有发现任何失效,也不能确定系统运行完全可靠(除程序非常小),没有其他故障。 软件测试和质量 软件测试能够提高软件质量。 这是通过识别缺陷并对这些缺陷进行相应的调试及修正实现的。 测试同时也是衡量软件质量的手段。 如果测试用例是软使用的合理样本,那么用户所体验到得软件质量应该和测试时所体验到得软件质量不会有太大差异。 所有质量特征(quality characteristic)(或称质量特性quality attribute)都必须在测试时加以考虑,以判断软件产品总体质量。实现必须定义每个质量特征对应的测试对象应该具备什么等级的质量,通过有效地测试对预先定义的质量需求进行验证。 软件质量范畴: 功能性(funcitonality) 安全性 可靠性(reliability) 可用性(usability) 效率(efficiency) 可维护性(maintainability) 可移植性(portability) 为质量特征赋予优先级:这个概念可以为测试时如何针对不同的质量特征决定测试级别强度提供指导。 2.1.4 测试工作量 测试不能证明不存在缺陷。 完全测试(complete test)或穷尽测试(exhaustive test)定义: 测试套件包含了输入值和前置条件所有可能组合的测试方法。 结论:完全测试是不可能的。 测试工作量开销在25%~50% 测试工作量常常用测试人员和开发人员的比例来表示。这个通常介于1:10或3:1. 结论: 根据项目的不同,测试工作量或者花费在测试上的预算差别极大。 故障可能引发高成本。“只要寻找和修正缺陷的成本低于失效造成的损失,测试就应该继续下去”。 根据风险确定测试的广度和深度 选择正确的测试规程
文档评论(0)