软件测试引论解析.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 引论 1.1 软件测试的必要性 1.2 为什么要进行软件测试 ? 1.3 什么是软件测试 ? 1.4 软件测试和软件开发的关系 1.5 测试驱动开发的思想 1.1 软件测试的必要性 1.1.1 迪斯尼并不总是带来笑声 1.1.2 一个缺陷造成了数亿美元损失 1.1.3 火星探测飞船坠毁 1.1.4 更多的悲剧 迪斯尼并不总是带来笑声 1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童话” 圣诞节后的第一天,迪斯尼客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用 这个游戏软件只能在少数系统中正常运行 一个缺陷造成了数亿美元损失 (4195835/3145727)×3145727- 4195835 = ? 最后 Intel公司付出很大代价,回收CPU,造成4亿美元损失 火星探测飞船坠毁 机械震动在大多数情况下也会触发着地开关,设置错误的数据位。设想飞船开始着陆时,计算机极有可能关闭推进器,而火星登陆飞船下坠1800米之后没有反推进器的帮助,冲向地面,必然会撞成碎片 两个小组本身的工作都没什么问题,就是没有合在一起测试,其接口没有被测,而问题就在这里 更多的悲剧 放射性治疗仪Therac-25中的软件存在缺陷,导致几个癌症病人受到非常严重的过量放射性治疗,其中4个人因此死亡 当爱国者导弹防御系统的时钟累计运行超过14小时后,系统的跟踪系统就不准确。从而导致拦截伊拉克飞毛腿导弹的几次失败,其中一枚在沙特阿拉伯的多哈爆炸的飞毛腿导弹造成28名美国士兵死亡 1.2 为什么要进行软件测试? 软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。 软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性 测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。 测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司赚的钱也越多,微软就是一个典型的例子 1.3 什么是软件测试? 1.3.1 软件测试学科的形成 1.3.2 正反两方面的争辩 1.3.3 软件测试的定义 1.3.4 软件测试的其它观点 Zhu.Kerry@ 软件测试的发展历程-1 上世纪50年代,英国著名的计算机科学家图灵就给出了软件测试的原始定义:测试是程序正确性证明的一种极端实验形式。 60年代前是为了表明程序正确而进行的测试。 直到上世纪70年代以后,随着计算机硬件技术的进步与成熟,软件在整个系统中所占的地位越来越重要,软件规模和复杂性大大增加。软件可靠性面临前所未有的危机,给软件测试工作带来了挑战,测试的意义逐渐被人们认识,软件测试的研究开始受到重视。 1975年,Goodenough首次提出了软件测试理论,从而把软件测试这一实践性很强的学科提高到理论的高度。 软件测试的发展历程-2 1972年,美国北卡来纳大学召开了首次软件测试技术会议,是软件测试与软件质量研究人员和开发人员的第一次聚会, 1973年Bill Hetzel正式为软件测试下了定义,1983年进行了修改。 1979年,(美)梅尔斯,出版《软件的测试艺术》,提出软件测试的目的是证伪。 1981年,Bill Hetzel开设“结构化软件测试”公共课 70年代后期-80年代中期,公司逐渐出现了QA部门 1996年提出测试能力成熟度模型TCMM(Testing Capability Maturity Model) 从测试的思想导向来划分为4个阶段 1957~1978年,以功能验证为导向,测试是证明软件是正确的(正向思维)。 1978~1983年,以破坏性为为导向,测试是为了找到软件中的错误(逆向思维)。 1983~1987年,以质量评估为导向,测试是提供产品的评估和质量度量。 1988年起,以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、预防缺陷。 更好的阶段划分 分为3个阶段——初期阶段、发展阶段和成熟阶段 初级阶段(1957~1971)测试通常被认为是对产品进行事后检验 ,缺乏有效的测试方法 发展阶段(1972~1982),1972年第一次关于软件测试的正式会议,促进了软件测试的发展 成熟阶段(1983到现在),国际标准Std 829-1983 ,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分 软件测试的正面性 Bill Hetzel博士(正向思维的代表): 软件测试就是为程序能够按预期设想那样运行而建立足够的信心。 “软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果” 测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作 软件

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档