软件测试基础第2章软件测试基础知识.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 软件测试基础知识      2.1 软件测试发展历程   软件测试伴随着软件的产生而产生。早期软件开发过程中,软件规模小,复杂程度低,软件开发过程相当混乱无序,软件测试含义也比较窄,等同于“调试”。此时软件测试的目的是纠正软件的故障,常常由软件开发人员自己进行。对测试的投入极少,测试介入也晚,常常是等到形成代码、产品已经基本完成时才进行测试。   1957年,软件测试首次作为发现软件缺陷的活动,与调试区分开来。1972年,北卡罗来纳大学举行首届软件测试会议,John Good Enough和Susan Gerhart在IEEE上发表的《测试数据选择的原理》确定了软件测试是软件的一种研究方向。1979年,Glenford Myers在《软件测试艺术》一书中提出“测试是为发现错误而执行的一个程序或者系统的过程”。   20世纪80年代早期,软件和IT行业进入了大发展,软件向大型化、高复杂度的方向发展,软件的质量越来越重要。一些软件测试的基础理论和实用技术开始形成,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程。以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征,软件测试性质和内容也随之发生变化,不再是一个单纯的发现错误的过程,而是具有软件质量评价的内容。1983年,Bill Hetzel在《软件测试完全指南》中指出,测试是以评价一个程序或者系统属性为目标的一种活动,是对软件质量的度量。IEEE给软件测试定义为“使用人工或自动手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确地指出,软件测试的目的是为了检验软件系统是否满足需求,软件测试不再是一个一次性的活动,也不只是开发后期的活动,而是与整个开发流程融为一体的。   20世纪90年代,软件测试工具开始运用。1996年,测试支持度TSM、测试成熟度TMM等一系软件测试相关理论被提出。到了2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步描述:测试是为了度量和提高软件的质量,对软件进行工程设计、实施和维护的整个生命周期过程。   近20年来,随着计算机和软件技术的飞速发展,软件测试技术的研究也取得了很大的突破。许多测试模型(如V模型等)产生,单元测试、自动化测试等方面涌现了大量的软件测试工具。在软件测试工具方面,商业化的软件测试工具,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等大量涌现,一些开放源码社区中也出现了许多软件测试工具,这些工具得到了广泛应用且相当成熟和完善。       2.2 软件测试目的   软件测试是指使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验被测试系统是否满足规定的要求或弄清预期结果与实际结果之间的差别。   软件测试是帮助识别开发完成(中间或最终的版本)计算机软件(整体或部分)的正确度、完全度和质量的软件过程,是软件质量保证的重要子域。   Grenford J.Myers曾对软件测试的目的提出过以下观点:   (1) 测试是为了证明程序有错,而不是证明程序无错误;   (2) 一个好的测试用例在于它能发现至今未发现的错误;   (3) 一个成功的测试是指发现了至今未发现的错误的测试。   这种观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能。但是只从字面意思理解可能会产生误导,认为发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的测试。   软件测试的目的往往包含如下内容:   (1) 测试并不仅仅是为了找出错误,而且要通过分析错误产生的原因和错误的发生趋势,帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。   (2) 测试分析帮助测试人员设计出有针对性的测试方法,以改善测试的效率和有效性。   (3) 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。       2.3 软件测试原则   软件测试应遵循以下基本原则:   (1) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。由于软件的复杂性和抽象性,软件开发各个阶段工作的多样性,以及参加开发各种层次人员之间工作的配合关系等因素,使得开发的每个环节都可能产生错误。因此不应把软件测试仅仅看做是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。坚持在软件开发的各个阶段进行技术评审,尽早发现和预防错误,把出现的错误克服在早期,杜绝某些隐患,提高软件质量。   (2) 测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。测试用例主要用来检验程序员编制的程序,不但需要测试输入数据,而且需要针对这些输入数据的预期输出结果。如果

文档评论(0)

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

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

1亿VIP精品文档

相关文档