软件测试行业的发展(8页).doc

上传人:1595****071 文档编号:38335556 上传时间:2022-09-03 格式:DOC 页数:8 大小:125.50KB
返回 下载 相关 举报
软件测试行业的发展(8页).doc_第1页
第1页 / 共8页
软件测试行业的发展(8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《软件测试行业的发展(8页).doc》由会员分享,可在线阅读,更多相关《软件测试行业的发展(8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-软件测试行业的发展-第 8 页软件测试行业的发展摘要:该文对软件测试发展历程、国内外软件测试行业发展现状、软件测试新的方法和领域以及发展趋势等方面进行了深入综述。研究期望为软件测试初学者了解软件测试的发展,为软件管理人员的整体发展规划提供借鉴,为软件测试人员学习使用软件测试工具、及进行软件测试技术研究提供参考。 关键词:软件测试;云测试;冒烟测试1 概述 软件测试是保证软件质量、提高软件可靠性的重要途径,软件测试的质量与测试人员的技能、经验以及对被测软件的理解密切相关。这就要求测试人员了解国内外被测技术发展历程,掌握目前发展动态,运用新技术,新方法,新工具,以满足不断前进的软件行业的要求,有

2、效提高软件测试的效率和成果,确保软件测试的质量1。 软件测试是伴随着软件的产生而产生的。在最初的软件开发过程中,软件规模小而简单,开发过程随意而无序。软件测试的含义也比较狭窄,仅仅等同于调试,往往由开发人员兼任测试工作,目的是为了纠正软件中存在的已知问题。对测试的投入少,测试介入晚,往往是等到代码成形,产品完成后才进行测试。 随着时间的推移,软件测试的内涵在不断丰富,对软件测试的认识在不断深入。要完整理解软件测试,就要从不同角度去审视。软件测试就是对软件产品进行验证和确认的活动过程,其目的就是尽快尽早地发现软件产品在整个开发生命周期中存在的各种缺陷,以评估软件的质量是否达到可发布水平。软件测试

3、是软件质量保证的关键元素,代表了需求规格说明书、设计和编码的最终检查。 本文对软件测试国内外发展现状进行综述,并总结测试技术的发展前沿和趋势,以期为同类研究提供参考。 2 软件测试国内外发展现状综述 2.1国外发展现状 国际上,软件测试(软件质量控制)是一件非常重要的工程工作,测试也作为一个非常独立的职业。在IBM、Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比例能够达到 1:2甚至1:4。在软件测试技术方面,自动化测试系统(ATS)正朝着通用化、标准化、网络化和智能化的方向迈进。20世纪90年代中期以来,自动测试系统开发研制的指导思想发生了重大变化,以综合通用的AT

4、S代替某一系列,采用共同的硬件及软件平台实现资源共享的思想受到高度重视。其主要思路是:采用共同的测试策略,从设计过程开始,通过“增值开发”的方式使后一阶段测试设备的研制能利用前一阶段的开发成果;TPS要能够移植,软件模块可以重用;使用商业通用标准、成熟的仪器设备,缩短研发时间,降低开发成本并且易于升级和扩展2, 3。 2.2国内发展现状 国内软件测试的现状主要表现在: 一是软件测试的地位还不高,在很多公司还是一种可有可无的东西,大多只停留在软件单元测试、集成测试和功能测试上。 二是软件测试标准化和规范化不够。 三是软件测试从业人员的数量同实际需求有不小差距,国内软件企业中开发人员与测试人员数量

5、一般为5:1,国外一般为 2:1或1:1,而最近有资料显示微软已把此比例调整为1:2。 四是国内缺乏完全商业化的操作机构,一般只是政府部门的下属机构在做一些产品的验收测试工作,实质意义不大,软件测试产业化还有待开发和深掘。 因此,我国的软件测试行业较欧美国家的差距还比较大。通过研究发现,造成这种情况的原因主要有以下几点: 1)国内软件产业本身不强大,软件质量较低; 2)软件管理者与用户对软件质量意识有待加强; 3)软件管理者对软件测试的认识和重视程度不够; 4)软件行业质量监督体系不够好; 5)软件从业人员的素质不够高; 6)软件测试行业处于起步阶段,经济效益短期内不明显。 3 测试技术的发展

6、前沿及趋势 3.1测试新技术、新方法软件测试是一个找错的过程。软件测试的过程亦是程序运行的过程。程序运行需要数据,为测试设计的数据称为测试用例。测试用例的设计原则是尽可能暴露程序中的错误。 软件是由人来完成的,所有由人做的工作都不会是完美无缺的。软件开发是个很复杂的过程,期间很容易产生错误。无论是软件从业人员、专家和学者做了多大的努力,软件错误仍然存在。因而大家也得到了一种共识:软件中残存着错误,这是软件的一种属性,是无法改变的。所以通常说软件测试的目的就是为了发现尽可能多的缺陷,并期望通过改错来把缺陷统统消灭,以期提高软件的质量。一个成功的测试用例在于发现了至今尚未发现的缺陷。3.1.1 提

7、高测试效率的云测试 云计算时代的到来为软件服务提供广阔的平台,软件测试就是其中之一。基于云计算的新型的测试方式就是云测试。 目前,基于云的软件测试相关研究领域包括: 1)“测试资源”的服务化,即软件测试本身以统一接口、统一表示方式实现为一种服务,用户通过访问这些服务,实现软件测试,而不用关注“测试”所使用的技术、运行过程、实现方式等等。 2) “测试资源”的虚拟化,参照云计算的虚拟化实现方式,实现测试资源的虚拟化,使测试资源可以随用户的需求提供,动态延展。 3)测试数据的安全性保证,即研究如何在云环境中保护用户敏感数据,提高数据的安全性。 4)集成测试的复杂性问题,即研究异构的云计算软件系统下

8、、多样的软件运行环境中出现的兼容性、交互性、依赖性以及由此引起的软件测试复杂度提高的问题。 3.1.2 减少正式测试负担的冒烟测试 冒烟测试(smoke testing),据说最早源于微软,所谓冒烟测试:就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。 冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。 冒烟测试的对象是每一个新编译的需要正式测试的软件版本。通过冒烟测试,在软件代码正式编译并交付测试之前,先尽量消除其表面的错误

9、,减少后期测试的负担。冒烟测试的执行者是版本编译人员。因此可以说,冒烟测试是预测试4。 在实际的软件测试工作中,冒烟测试在软件研发的不同阶段有所不同。大体可以分为三类: 1)形成集成测试版本以前:验证各个单元能够成功执行,并保证测试版本能够顺利集成; 2)形成集成测试版本:以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性; 3)后期预测试缺陷的修正:针对每个缺陷所做的缺陷修正都要先在干净的链接环境中进行冒烟测试,测试通过后才能更新相关软件版本。 3.1.3 嵌入式软件测试 在日常生活总嵌入式系统逐渐成为不可或缺的一部分,如家用智能电视、智能冰箱的应用。随着人们追求的日益提高,软件系统变

10、的越来越复杂、庞大,如何保证嵌入式软件的可靠性正成了嵌入式系统面临的最大问题,软件测试中可能存在的问题包括: 1)用户的环境发生了改变,越来越贴近日常生活用品; 2)用户的使用环境有可能存在不可能性; 3)测试软件的应用,可能会与开发者利益发生冲突; 4)应用者的持续性可能与开发和测试工作发成冲突; 为了解决上述问题,嵌入式软件测试的不同阶段应采用不同的方式: 1)由点及面的单元化测试:减少大规模测试在小目标单元上测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。众所周知主机单元无论是硬件配置与运行速度都会比小单元有优势的多,大测试在主机环境下测试,小单元成为单一的确认,软件测试就会变

11、的简单很多。 2)模块化测试:讲不同的应用功能单元模块化,模块的测试主机环境仲进行。将一个大型软件的开发可以分几个级别的集成块,低级别模块的软件集成在主机平台上完成,高级别的集成在目标环境上进行测试。 3)用户的确认测试:软件测试最终目标是用户,因此讲所有的开发归总到主机平带,通过移植的方式应用到用户身上,使测试变成简单的确认测试,减少用户对开发环境的依赖,会为软件测试提供很大的便利。 3.2 软件测试的发展趋势 3.2.1 转变思想观念 软件质量的不断提高不仅仅取决于软件测试技术水平,某种程度上更取决于对软件测试这一工作的态度和观念。当软件测试被视为软件产品交付前的一项“走过场”工作,或进行

12、测试只为让软件产品的过程“完整化”,那实现软件质量提高以及软件测试水平飞越几乎不可能。只有把提高软件质量视为企业生存之根本,通过过程改进及有效组织管理,形成正确积极的软件测试态度,才能提供软件测试健康发展的土壤。 3.2.2 改进测试流程 软件测试将一改以往与软件开发流程并行的模式,开始将测试贯穿于产品开发的整个流程。传统的测试只是对基本完成的产品查错改错,未来软件测试将转变为全过程测试,将对软件问题提前进行控制和预防,不仅可有效保证软件质量还将大大缩短软件开发周期。 3.2.3 创新测试技术 在软件开发技术日新月异的时代,对软件测试技术提出了新的要求,许多以往的测试方法已经不能满足对某些软件

13、的测试需求了,这就要求软件测试人员在学习软件开发新技术的同时,找到或开发出适合新技术软件产品测试的新方法。 3.2.4 革新管理方式 实现软件质量、进度、成本之间的最佳平衡是软件测试管理的核心目标。这种平衡离不开管理层、软件开发团队、质保人员、测试团队等在软件开发各个环节中通力合作。软件管理其实质就是过程管理、团队管理、人才管理和质量管理。团队的知识结构、创新能力和凝聚力是保证测试流程、测试技术充分实施的基础。采用计划、组织、领导、控制等手段,组建高效团队,制定完善的测试流程,做好测试设计,有效执行测试,加强过程跟踪,从而顺利完成质量保证和测试任务。 4 结束语 通过对软件测试技术国内外的研究

14、,可以使得我国的测试人员了解国内外被测技术发展历程,掌握行业脉搏,与测试行业的国际前沿技术方法接轨,了解软件测试行业的具体情况,结合在我国软件信息化高速发展的需求,对软件测试国内外现状进行总结、归纳为我国软件测试的技术提高及整体发展趋势提供参考。软件测试是项费时、费力并且单调乏味的活动,测试人员需要设计、执行、分析大量的测试用例。软件测试的自动化将有效地减轻测试人员的劳动强度,提高测试的效率和质量,从而节省软件开发的成本,提高软件的质量。虽然软件测试在软件质量保证中止发挥着越来越重要的作用,但是,目前在有些单位或部门软件测试仍然没有得到足够的重视,主要有两个原因: ( 1 )任务或市场的压力大

15、。软件产品 一般都有一个最后的发布期限。如果在软件开发的前期山于各方面的凉因造成了工期的延误(这种现象在软件开发中很普遍),并且软件产品的发布期限不容更改(即所谓的“后墙不倒” ) , 那么只能缩短软件测试的时间,其结果足牺牲了软件产品的质量。这其实是由于错误地预计了软件开发的进度所造成的,需要更加准确地预计软件开发的进度; ( 2 )软件测试的实施效果不很理想,表现为投入大,回报低。这主要是由于当前软件测试的自动化程度偏低,现有的软件测试技术不能满足当前软件开发的要求,需要研究更加有效的软件测试技术,并且加速把先进、有效的技术从实验室转化为工业界实用的方法的进程,开发更多、更好的支持软件测试

16、自动化的产品,为测试人员提供帮助。随着软件技术的不断向前发展,构件、Web Services等新技术的应用为软件测试带来新的问题和挑战,也为软件侧试的发展带来新的机遇。软件测试技术自身的不断发展对软件开发方法学将产生影响。随着软件易测试性概念的提出和研究的不断深入,软件的易测试性将成为衡量软件质量的一项指标。软件易测试性分析技术将为度量软件的易测试性,进而为改进和提高软件测试的过程乃至软件开发的过程提供帮助。软件测试目前呈现向软件开发的前期发展、与软件开发的设计阶段和编码阶段相融合的趋势。软件易测试性设计技术将帮助软件开发者在软件中嵌入测试信息,开发具有自测试能力,并且能够向外界提供相应测试信

17、息的软件实休(如构件),为解决基于构件、Web Services等新技术的软件开发方法所带来的新问题提供有前途的解决办法。参考文献: 1 软件工程理论、方法与实践M.北京:高等教育出版社,2005 2 杨芙清,梅宏,吕建,等.浅论软件技术发展J.电子学报,2002,30(12A):1901-1906. 3 宫云战,刘海燕,万琳,等.软件测试性的分析与设计技术研究C.2000年全国测试学术会议(CTC2000).北京:2000:271-274. 4 Tamres.软件测试入门M.北京:人民邮电出版社,2004. 5 Cem Kaner,James Bach,Bert Pettichord.软件测试:经验与教训M.北京:机械工业出版社,2004. 6 William E.Perry.软件测试的有效方法M.北京:机械工业出版社,2004. 7 Elfriede Dustin.有效软件测试M.北京:清华大学出版社,2003.

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

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁