软件 测试.doc

上传人:滴答 文档编号:3819117 上传时间:2019-07-31 格式:DOC 页数:22 大小:67KB
下载 相关 举报
软件 测试.doc_第1页
第1页 / 共22页
软件 测试.doc_第2页
第2页 / 共22页
软件 测试.doc_第3页
第3页 / 共22页
软件 测试.doc_第4页
第4页 / 共22页
软件 测试.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、1毕业论文专 业:移动互联应用技术2摘要从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论关键字:软件测试、白盒测试、黑盒测试3目录摘要 .21 软件测试的发展史 .42 软件测试的相关背景 .53 软件测试的概述 .63.1 软件测试的定义 .63.2 软件测试的描述 .63.3 软件测试的目的 .73.4

2、 软件测试的原则 .84 软件测试的发展趋势 .94.1 国外发展前景 .94.2 国内发展前景 .94.3 谈国内软件测试行业目前发展遇到的瓶颈问题 .115 软件测试的内容 .125.1 验证(VERIFICATION ).125.2 确认(VALIDATION) .136 软件测试的分类 .136.1 常用分类 .136.1.1 黑盒测试 .156.1.2 白盒测试 .156.1.3 静态测试 .186.1.4 动态测试 .187 软件测试的过程 .188 总结 .209 参考文献 .2141 软件测试的发展史软件测试的发展历史:20 世纪 60 年代(软件工程建立前) ,为表明程序正确

3、而进行测试。1972 年在北卡罗来纳大学举行了首届软件测试正式会议。 1975 年 John Good Enough 和 Susan Gerhart 在 IEEE上发表了测试数据选择的原理的文章,软件测试被确定为一种研究方向。 1979 年,Glenford Myers 的软件测试艺术 ,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。. 20 世纪 80 年代早期, “质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。. 1983 年,Bill Hetzel 在软件测试完全指南中指出:测试是以评价一个程序

4、或者系统属性为目标的任何一种活动,测试是对软件质量的度量。. 20 世纪 90 年代,测试工具盛行起来。. 1996 年提出的测试能力成熟度TCMM(Testing Capability Maturity Model) 、测试支持度TSM(Testability Support Model) 、测试成熟度 TMM(Testing Maturity Model) 。. 到了 2002 年,Rick 和 Stefan 在系统的软件测试一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。52 软件测试的相关背景相关背景:前段时间, 就

5、是在我没有认真了解测试行业之前, 可能由于测试在中国的重视程度的问题, 我也一直认为测试应该是不重要的, 甚至认为有必要有专门的测试职业吗?认为软件主要是开发人员的事, 软件的成果也是由开发人员决定的, 当我在参加工作后, 真正从学校的学习环境中走上实际运用开发的时候, 事实上真的不是那么一回事哦。软件无处不在, 软而, 软件是人编的所以不完美。臭名昭著的软件测试案例:1、迪士尼的狮子王 (19941995)软件在少数系统中能正常工作, 但在大众使用的常见系统中不行。后来证实, 迪士尼公司没有对市场上投入实用的各种 pc 机型进行正确的测试。2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自

6、己处理软件缺陷拿出 4 亿美元支付更换坏芯片的费用。导致付出如此昂贵的代价, 其主要原因是发现了软件缺陷没有正确的处理。3、美国航天局火星极地登陆(1999)该项目使用前有经过测试, 两个测试小组双方独立工作都很好, 但从未走在一起。4、爱国者导弹防御系统 (1991)一枚导弹在多哈击毙 28 名美国士兵, 症结在于一个软件缺陷:一个很小的系统时钟错误累积起来就可能拖延 14 小时, 造成跟踪系统失去准确度。在多哈袭击战中系统被拖延 100 小时。5、千年虫 (大约 1974)估计世界各地更换或升级该系统程序6解决原有 2000 年错误的费用已经超过数亿美元。3 软件测试的概述3.1 软件测试

7、的定义软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(completeness)和质量(quality)的软件过程;是 SQA(software quality assurance)的重要子域。(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;(

8、3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。3.2 软件测试的描述测试是软件开发过程的重要组成部分, 是用来确认一个程序的7品质或性能是否符合开发之前所提出的一些要求。软件测试的目的, 第一是确认软件的质量, 其一方面是确认软件做了你所期望的事情(Do the right thing), 另一方面是确认软件以正确的方式来做了这个事件(Do it right) ;第二是提供信息, 比如提供给开发人员或程序经理的反馈信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软

9、件开发过程很可能是有缺陷的。3.3 软件测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。 在谈到软件测试时,引用 Grenford J. Myers 在 The Art of Software Testing一书中的观点: (1) 软件测试是为了发现错误而执行程序的过程; (2) 测试是为了证明程序有错,而不是证明程序无错误; (3) 一个好的测试用例是在于它能发现至今未发现的错误; (4) 一个成功的测试是发现了

10、至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示8软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。3.4 软件测试的原则1应当把“尽早和不断的测试“作为开发者的座右铭。 2程序员应该避免检查

11、自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。 3设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件, 特殊情况下要制造极端状态和意外状态, 比如网络异常中断、电源断电等情况。 4一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。 5对测试错误结果一定要有一个确认的过程, 一般有 A 测试出来的错误, 一定要有一个 B 来确认, 严重的错误可以召开评审会进行讨论和分析。 6制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要9希望在极短的时间内完成一个高水平的测试。 7回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错

12、误出现的现象并不少见。 8妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠测试文档4 软件测试的发展趋势4.1 国外发展前景 在软件比较发达的国家,特别是美国,软件测试已经发展成为一个独立的产业,主要体现: 软件测试在公司中占有重要的地位。比尔?盖茨曾在马萨诸塞州技术学院的一次演讲中说:“在微软,一个典型的开发项目组中测试工程师要比编码工程师多得多,可以说我们花费在测试上的时间要比花费在编码上的时间多得多” 。 在微软测试人员与开发人员比例一般为 1:1,甚至在 Windows 2000 开发团队中,有 1800 个测试人员,900 个开发人员,测试人员与开发人员比例为:1

13、:2。 软件测试理论研究蓬勃发展,每年举办各种各样的测试技术年会,发表了大量的软件测试研究论文,引领软件测试理论研究的国际潮流。 软件测试市场繁荣。美国有一些专业公司开发软件测试标准与测试工具,MI、Compuware、MaCabe、Rational 等都是著名的软件测试工具提供商,它们出品的测试工具已经占领了国际市场,目前我国使用的主流软件工具大部门是国外产品,而且世界各地都可以看到它们出品的软件测试工具,可见国外的软件测试已经形成了较大的产业。 104.2 国内发展前景 中国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的,由于起步较晚,与国际先进水平相比差距

14、较大。知道 1990年,成立了国家级的中国软件评测中心,测试服务才逐步开展起来。因此,我国无论是在软件测试理论研究还是在测试实践上,和国外发达国家都有不少差距,主要体现在对软件产品化测试的技术研究还比较贫乏,从业人员较少,测试服务没有形成足够的规模等方面。但是,随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试越来越人们重视。软件测试正在逐步成为一个新兴的产业。我国正在迈入测试时代,主要体现在以下几个方面: 我国著名著名的软件公司都已经或者正在建立独立的专职软件测试队伍,虽然测试人员规模以及所占比例还不能和国外的大公司相比,但是毕竟在公司内部贯彻了独立测试的意识。 国家人事部和信息产业部

15、 2003 年关于职业资格认证第一次在我国有了“软件评测师”的称号,这是国家对软件测试职业的高度重视与认可。 在信息产业部关于计算机系统集成资质以及信息系统工程监理资质的认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标 ,2001 年信息产业部发布的部长 5 号令,实行了软件产品登记认证制度,规定,凡是在我国境内销售的产品必须到信息产业部备案登记,而且要经过登记测试。 自 2001 年起,国家质检总局和信息产业部每年都通过测试对软件产品进行质量监督抽查。 国家各部委,各行业正在通过测试规范行业软件的健康发展起到了很好的促进作用。 用户对软件质量要求越来越高,信息系统验收不再走过场,而要通过第三方测试机构的严格测试来判定。 “以测代评”正在成为我国科技项目择优支持的一项重要举措,比如,国家“863”计划对数据库管理系统、操作系统、办公软件、ERP 等项

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。