- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五章软件测试
第五章 软件测试 §5.1 基本概念 软件开发过程必须伴有质量保证活动。 软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。 软件产品最大的成本是检测软件错误、修正软件错误的成本。 在整个软件开发中,测试工作量一般占30%~40%,甚至≥50%。 在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍 例:?Windows95有1000万行代码 ?Windows2000有5000万行代码, 3000多个工程师,几百个小团队。 Exchange2000和 Windows2000开发人员结构 软件测试背景 软件是人编的—所以不完美 实例: 1994-1995,迪斯尼的狮子王系统不支持问题 Intel的pentium处理器 1994年浮点除法缺陷 200年8月28日,1.13MHZ处理器一个可能导致运行程序被挂起的执行指令问题 1999年12月3日,美国航天局火星极地登陆飞船失踪 1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度 千年虫,世界各地解决2000年错误超过数亿美元 软件测试的问题 软件缺陷是什么? 谁执行测试? 开发者? 单独的测试人员? 两方面人员? 测试什么? 每个部分都测试? 测试软件中高风险部分? 什么时候测试? 怎样测试? 测试应进行到什么程度? 软件缺陷是什么 描述软件失败的术语 缺点(defect) 谬误(fault) 问题(problt) 错误(error) 难以说清的软件缺陷 古谚: “一片树叶飘落在森林中没有人听见, 谁能说它发出了声音?” 三个盲人和一头大象:你能够为质量下定义吗? 质量管理领域权威人物J.M.Juran将质量定义为: “决定产品性能和‘满意程度’的特征”, 测试注重于产品的满意度。 测试应针对这样一种情况: 软件产品在一些特定的范围内不能满足客户的合理要求。 通过测试过程可以评定质量风险(可能的错误),了解被测试系统中存在的错误模式(观察到的错误症状)。 软件测试的目标 (1)预防错误: 几乎不可实现 (2)发现错误 5.1.1 测试的目的与地位 G.J.Myers在软件测试技巧中认为: 1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发现的错误的测试。 E.W.Dijkstra 指出: “程序测试能证明错误的存在,但不能证明错误不存在.” 测试的目的是发现程序中的 错误,是为了证明程序有错, 而 不是证明程序无错. 测试设计中需要考虑的22种测试类型 黑盒测试 白盒测试 单元测试 累计综合测试 集成测试 功能测试 系统测试 端到端测试 健全测试 衰竭测试 接受测试 质量控制技术 软件质量问题 以软件测试为中心的软件质量保障技术 软件 静态测试技术 质量 软件度量技术 控制 动态测试技术 技术 配置管理技术 修改控制与管理技术 软件测试是保证软件质量,提高 软件可靠性的关键 5.1.2 测试原则 (1)所有的测试都应追溯到用户需求 最严重的错误(从用户角度)是那些导致软件无法满足需求的错误。 程序中的问题根源可能在开发前 期的各阶段解决、纠正错误也必须追 溯到前期工作。 测试与开发前期工作的关系 软件生存期各阶段间需保持的正确性 软件开发面临的实际问题 软件开发面临的实际问题 软件开发面临的实际问题 软件开发面临的实际问题 软件开发面临的实际问题 软件开发面临的实际问题 测试原则 (2)概要设计时应完成测试计划, 详细的测试用例定义可在设计 模型确定后开始,所有测试可 在任何代码被产生之前进行计 划和设计。 软件测试不等于程序测试 软件测试应贯穿于软件定义与开发的整个期间; 据美国一家公司统计,查出的软件错误中,属于需求分析和软件设计的错误约占 64%,属于程序编写的错误仅占 36%。程序编写的许多错误是“先天的”。 测试阶段工作步骤 单元测试:检验每个模块能否单独工作 集成测试:检验概要设计中模块接口设计问题 确认测试:以需求规格说明书为检验尺度 系统测试:综合检验 测试可视为分析、设计、编码三个阶 段的最终复审,以保证软件质量. 测试原则 (3)pareto原则:测试发现的错误中80%很 可能起源于20%的模块中。 应孤立这些疑点模块重点
文档评论(0)