- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 7 章 软件测试
7.1 软件测试的任务和目标
7.2 软件测试方法
7.3 软件测试的步骤
7.4 调试
7.5 软件测试工具
; 7. 1 软件测试的任务和目标
软件开发过程必须伴有质量保证活动。软件测试是软件质量保证的关键元素,它代表了规约、设计和编码的最终检查。
软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中,测试工作量一般占 30%~40%,甚至≥50%。特别是有关人命关天的软件 (如飞机控制核反应堆等)的测试,所花费的时间往往是其它软件工程活动时间之和的三到五倍。为什么要进行软件测试呢?因为软件是人编写的,所以可能不够完美。; 实例:
1963年美国飞往火星的火箭,驱动程序FOR 5 I=1,3误写成
FOR 5 I=1.3,导致火箭爆炸,损失一千万美元。
1994-1995年, 迪斯尼的狮子王软件系统软件不支持问题。
1994年Intel的pentium处理器浮点除法缺陷问题
2000年8月28日,1.13MHZ处理器可能导致程序运行被挂起
的指令执行问题。
1991年爱国者导弹防御系统,系统时钟错误积累造成跟踪
系统失去精确度问题。
1999年12月3日,美国航天局火星极地登陆飞船失踪问题。
千年虫问题,世界各地解决2000年错误超过数亿美元。;软件测试的认识的发展
人们对软件测试的认识经历了五个阶段:
阶段1 — 测试等同于调试
阶段2 — 测试是证明软件正确
阶段3 — 测试是发现软件中的错误
阶段4 — 测试是减小软件不工作的风险
(是度量软件质量要素的过程)
阶段5 —测试是产生低风险软件的一种认识上的训练; 质量管理领域权威人物J.M.Juran将质量
定义为“决定产品性能和‘满意程度’的特征”,
测试注重于产品的满意度。
测试应针对这样一种情况:
软件产品在一些特定的范围内能否满足客
户的合理要求。
通过测试过程可以评定质量风险(可能的
错误),了解被测试系统中存在的错误模式(
观察到的错误症状)。;质量控制技术;软件质量问题;7.1.1 软件测试的目标
什么是软件的测试目标?
G.J.Myers在软件测试技巧中认为:
1.测试是为了寻找错误而运行程序的过程。
2.一个好的测试用例是指很可能找到迄今为止尚
未发现的错误的测试。
3.一个成功的测试是揭示了迄今为止尚未发现的
错误的测试。
; E.W.Dijkstra指出: “程序测试能证明错
误的存在,但不能证明错误不存在。”
测试的目的是发现程序中的错误,是为了
证明程序有错, 而不是证明程序无错。把证明
程序无错当作测试目的不仅是不正确的, 完全
做不到的,而且对做好测试没有任何益处,甚
至是十分有害的。
软件测试要设法使软件发生故障,暴露软
件错误。
能够发现错误的测试是成功的测试,否则
是失败的测试。; “测试的目的是说明,程序正确地执行了它应有的功能” 这种说法正确吗?
例:判定三角形类型的程序,输入三个整数表示一个三角形的三个边长,该程序产生结果,指出该三角形是等边三角形、等腰三角形还是任意三角形。
为说明其能正确执行它的功能,可使用“测试用例” (3,4,5), (5,5,6), (6,6,6),
程序运行后,都能给出正确结果。这样是否就可认为程序是正确的呢?
如果软件中的问题没有被人们发现,那么,它究竟还算不算有问题呢?; 由于不能报告没有看见的软件缺陷,因此,就不
能说软件存在缺陷或软件不存在缺陷。只有看到了,
才能断言软件有缺陷。尚未发现的软件缺陷,只能说
可能存在未知的软件缺陷。
7.1.2 软件测试原则
(1)所有的测试都应追溯到用户需求
用户观点,最严重的错误是那些导致软件无法满
足需求的错误。
程序中的问题,其根源可能是在开发前期的各个
阶段所产生的。因此,解决、纠正错误也必须追溯到
前期工作。;测试与开发前期工作的关系;开发前期出现错误的扩展;软件生存期各阶段间需保持的正确性; (2) 概要设计时应完成测试计划
在进行概要设计时,就应完成测试计划,而测试
用例的详细定义,可在设计模型确定后开始。所有测
试都要在任何代码被产生之前,做好计划和设计。
软件测试不等于程序测试。软件测试应贯穿于软
件定义与开发的整个期间。据美国一家公司统计,查
出的软件错误中,属于需求分析和软件设计阶段的错
误约占 2/3,而属于编程阶段的错误仅占
原创力文档


文档评论(0)