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

09-第九章-软件测试-软件工程教案-海南大学(共15章).ppt

09-第九章-软件测试-软件工程教案-海南大学(共15章).ppt

  1. 1、本文档共180页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09-第九章-软件测试-软件工程教案-海南大学(共15章)

软件工程(第二版) 齐治昌、谭庆平、宁洪 编著 高等教育出版社 主讲:陈明锐 教授 第九章 软件测试 所谓软件测试是通过检查和提供客观证据表明软件已经满足规定的需求。软件测试是确保软件质量和降低软件成本的重要手段,是软件开发时期的最后一个阶段,也是软件质量保证中至关重要的一个环节。本章将重点讨论测试的策略与技术,纠错的策略与技术,以及多模块软件的 软件测试内容与方法。 第九章 软件测试 测试的基本概念 黑盒测试 白盒测试 测试用例设计 软件纠错 多模块程序的测试策略 面向对象系统的测试 测试的基本概念 测试(testing)的目的与任务 目的:发现程序的错误 任务:通过执行程序,暴露潜在的错误 纠错(debugging)的目的与任务 目的:定位和纠正错误 任务:消除软件故障,保证程序的可靠 运行 大程序——设立独立的测试小组 调试… 测试的特性 挑剔性 抱着为证明程序有错的目的去测试 复杂性 设计合适的测试用例 不彻底性 Dijkstra 一句名言:“程序测试只能证明错误的存在,但不能证明错误不存在” 经济性 进行有限的测试 有关测试的思考题 软件测试是一门非常重要的学科,主要研究内容是什么? 软件测试需要什么样的专业基础? 软件质量到底是什么? 测试的目标是什么? 开发一个测试系统之前你是否明白: 可以测试什么? 应该测试什么? 最终能够测试什么? 测试的目标是什么? 有关测试的思考题 软件产品最大的成本是检测软 件错误、修正软件错误的成本。 软件在需求分析和设计阶段占用的工作量达到总工作量的40%~50%,说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量的10%~20%,而软件测试和调试的工作量占到总工作量的30%~40%,甚至≥50%。 在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍。 软件测试背景 软件是人编的—所以不完美 实例: 1994-1995,迪斯尼的狮子王系统不支持问题 Intel的pentium处理器 1994年浮点除法缺陷 2000年8月28日,1.13MHZ处理器一个可能导致运行程序被挂起的执行指令问题 1999年12月3日,美国航天局火星极地登陆飞船失踪 1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度 千年虫,世界各地解决2000年错误超过数亿美元 软件测试的认识的发展 人们对软件测试认识的五个阶段: 阶段1 — 测试=调试 阶段2 — 测试是证明软件正确 阶段3 — 测试是发现软件中错误 阶段4 — 测试是减小软件不工作的风险 (是度量软件质量要素的过程) 阶段5 —测试可产生低风险的软件的一 种认识上的训练 三个盲人和一头大象:你能够为质量 下定义吗? 质量管理领域权威人物J.M.Juran将质量 定义为“决定产品性能和‘满意程度’的 特征”, 测试注重于产品的满意度。 测试应针对这样一种情况: 软件产品在一些特定的范围内不能满足客户的合理要求。 通过测试过程可以评定质量风险(可能的错误),了解被测试系统中存在的错误模式(观察到的错误症状)。 质量控制技术 软件质量问题 以软件测试为中心的软件质量保障技术 软件 静态测试技术 质量 软件度量技术 控制 动态测试技术 技术 配置管理技术 修改控制与管理技术 软件测试是保证软件质量,提高 软件可靠性的关键 软件测试的目标 (1)预防错误: 几乎不可实现 (2)发现错误 测试的地位 G.J.Myers在软件测试技巧中认为: 1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发现的错误的测试。 E.W.Dijkstra 指出: “程序测试能证明错误的存在,但不能证明错误不存在.” 测试的目的是发现程序中 的错误,是为了证明程序有错, 而不是证明程序无错. 难以说清的软件缺陷 古谚: “一片树叶飘落在森林中没有人听见, 谁能说它发出了声音?” 测试原则 (1)所有的测试都应追溯到用户需求 最严重的错误(从用户角度)是那些导致软件无法满足需求的

文档评论(0)

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

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

1亿VIP精品文档

相关文档