- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试是IT产业的一个重要领域,近年来进入了飞速发展阶段,并为IT经济做出了巨大贡献。软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审。本章给出了软件测试和软件测试性的不同定义,各种定义在表达形式、表述内容、适用范围上存在着一些差异,但可以使人们对软件测试和软件测试性概念有更深入的了解,增强人们对软件测试的重视程度。 1. 软件测试的背景 随着现代信息技术和大规模复杂数据挖掘技术的发展,计算机的应用已经渗透到社会生活的各个方面和科学技术的各个领域。目前,所有计算机应用领域都对软件质量提出了更高的全方位的要求,包括功能、性能、灵活性、稳定性、可靠性以及安全性等。 一些关键领域如航空航天、医疗、核能、通信、交通、金融、商务等对软件可靠性和安全性都有很高的要求,在这些领域中,软件的一个小小错误可能造成很大甚至致命性的损失。如1963年美国的首次金星探测计划就因为把循环“DO 5 I=1,3”误写为“DO 5 I=1.3”,这样一个小小的逗号错误酿成发射失败,导致损失达上千万美元的事故。实际上,由于软件错误导致系统的失效,酿成重大损失的事例不胜枚举。因此,在软件投入市场前对软件进行软件测试是很有必要的。20世纪70年代,美国由于缺乏软件测试, 软件项目的死亡率超过70%,而且90%以上做出来的项目在时间和成本上超出预算。与其他产品出现质量问题一样,软件也不可避免地会出现各种漏洞或Bug(错误、缺陷)。如果软件中的Bug太多,可能会导致电脑频繁“死机”,影响用户的正常使用。如果软件测试不充分,那么这些问题会潜伏在软件中,等到用户发现以后,再由开发人员进行维护,改正错误的费用一般是开发阶段的40倍到60倍。因此,为了保证软件的各项功能正常,就需要在开发过程中不断地对软件进行检验和测试。 软件测试是软件质量保证的重要手段,据研究机构统计分析表明,国外软件开发机构40%的工作量花费在软件测试上,软件测试费用占软件开发总费用的30%~50%。对于一些要求可靠性高、安全性高的软件,软件测试费用可能相当于整个软件项目开发总费用的3~5倍。由此可见,要成功开发出高质量的软件产品,必须重视并加强软件测试工作。 2.软件测试的概念 在不同的时期,人们对软件测试的认识也不同,其发展大致经历了四个阶段: 第一阶段,软件测试就是“程序调试”。在这个时期,软件规模小、复杂程度低,软件测试的含义比较狭窄,开发人员将软件测试等同于“程序调试”,目的是纠正软件中已经知道的故障,通常由开发人员自己完成这部分的工作。整个项目对软件测试工作的规划少、投入少,软件测试工作介入比较晚,一般在程序代码形成之后、产品已经基本完成时才进行软件测试(即软件调试)。 第二阶段,软件测试就是“验证软件系统的正确性”。直到1957年,软件测试才被作为一种发现软件缺陷或错误、故障、问题等(以后没有特别说明,都称之为Bug)的活动,开始与“软件调试”区别开来。但是,对软件测试目的的理解仍局限于“使自己确信产品能正常工作”。软件测试始终在开发活动之后开始,当时缺乏有效的软件测试方法,主要依靠“错误推测”来寻找软件中的Bug。因此,大量软件交付后,仍存在很多Bug,质量无法保证。到了20世纪70年代,人们才开始认真思考软件开发流程的问题。 尽管对“软件测试”的真正含义还缺乏共识,但已有一些软件测试研究人员建议在软件生命周期的开始阶段就根据需求制订软件测试计划。 第三个阶段,软件测试就是“找出软件存在的Bug”。Myers在他的论著《The Art of Software Testing》中认为,软件测试不应该着眼于验证软件是可以工作的,应该首先认定软件是有Bug的,然后用逆向思维去发现尽可能多的Bug。1979年他给出了对软件测试的认识:“软件测试是为发现Bug而执行一个程序或者系统的过程”。 第四阶段,软件测试是“对软件质量的度量”。20世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。人们将“质量”的概念融入其中,软件测试不再单纯是一个发现Bug的过程,而是将软件测试作为软件质量保证的主要职能,包含软件质量评价的内容。90年代后期以来人们更加关注软件有效的过程管理,认识到软件管理对于软件测试的重要性,出现了各种软件测试模型、软件测试能力成熟度模型等。 3.专家对软件测试的不同定义 下面给出不同时期一些专家对软件测试的认识或定义: (1)? 20世纪50年代中期,英国著名的计算机科学家图灵认为,软件测试是软件正确性确认的实验方法的一种极端形式,通过软件测试达到确认程序正确性的目的。 (2) ?1973年W. Hetzel指出,软件测试是对程序或系统能否完成特定任
您可能关注的文档
最近下载
- 2023年高中数学会考试题及答案.pdf VIP
- 口腔齿科培训-舒适化拔牙流程.pptx
- 【高中语文】整本书阅读《乡土中国》+学案+统编版高中语文必修上册.docx VIP
- 高等级公路中钢筋混凝土圆管涵的受力分析.pdf
- 上海市华师大二附中2024年高三第一次模拟考试数学试卷含解析.doc
- 2022年中新集团行测笔试题库.pdf
- 2024年部编版五年级上册语文期末复习语言文字积累与梳理1. 字音.pptx VIP
- 森林消防综合应急救援基础能力建设、队伍训练、综合救援队伍装备使用和维护规范.pdf VIP
- 《中国近现代史纲要(2023版)》课后习题答案汇编.docx
- (高清版)DB11∕T 1824-2021 森林消防综合应急救援队伍装备使用和维护规范.pdf VIP
文档评论(0)