龙源期刊网软件测试国内外发展现状及趋势研究作者:易敏捷来源:《电脑知识与技术》2013年第26期摘要:该文对软件测试发展历程、国内外软件测试行业发展现状、软件测试新的方法和领域以及发展趋势等方面进行了深入综述。研究期望为软件测试初学者了解软件测试的发展,为软件管理人员的整体发展规划提供借鉴,为软件测试人员学习使用软件测试工具、及进行软件测试技术研究提供参考。关键词:软件测试;云测试;冒烟测试中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)26-6020-031概述软件测试是保证软件质量、提高软件可靠性的重要途径,软件测试的质量与测试人员的技能、经验以及对被测软件的理解密切相关。这就要求测试人员了解国内外被测技术发展历程,掌握目前发展动态,运用新技术,新方法,新工具,以满足不断前进的软件行业的要求,有效提高软件测试的效率和成果,确保软件测试的质量[1]。软件测试是伴随着软件的产生而产生的。在最初的软件开发过程中,软件规模小而简单,开发过程随意而无序。软件测试的含义也比较狭窄,仅仅等同于调试,往往由开发人员兼任测试工作,目的是为了纠正软件中存在的已知问题。对测试的投入少,测试介入晚,往往是等到代码成形,产品完成后才进行测试。随着时间的推移,软件测试的内涵在不断丰富,对软件测试的认识在不断深入。要完整理解软件测试,就要从不同角度去审视。软件测试就是对软件产品进行验证和确认的活动过程,其目的就是尽快尽早地发现软件产品在整个开发生命周期中存在的各种缺陷,以评估软件的质量是否达到可发布水平。软件测试是软件质量保证的关键元素,代表了需求规格说明书、设计和编码的最终检查。本文对软件测试国内外发展现状进行综述,并总结测试技术的发展前沿和趋势,以期为同类研究提供参考。2软件测试国内外发展现状综述2.1国外发展现状国际上,软件测试(软件质量控制)是一件非常重要的工程工作,测试也作为一个非常独立的职业。在IBM、Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比龙源期刊网:2甚至1:4。在软件测试技术方面,自动化测试系统(ATS)正朝着通用化、标准化、网络化和智能化的方向迈进。20世纪90年代中期以来,自动测试系统开发研制的指导思想发生了重大变化,以综合通用的ATS代替某一系列,采用共同的硬件及软件平台实现资源共享的思想受到高度重视。其主要思路是:采用共同的测试策略,从设计过程开始,通过“增值开发”的方式使后一阶段测试设备的研制能利用前一阶段的开发成果;TPS要能够移植,软件模块可以重用;使用商业通用标准、成熟的仪器设备,缩短研发时间,降低开发成本并且易于升级和扩展[2,3]。2.2国内发展现状国内软件测试的现状主要表现在:一是软件测试的地位还不高,在很多公司还是一种可有可无的东西,大多只停留在软件单元测试、集成测试和功能测试上。二是软件测试标准化和规范化不够。三是软件测试从业人员的数量同实际需求有不小差距,国内软件企业中开发人员与测试人员数量一般为5:1,国外一般为2:1或1:1,而最近有资料显示微软已把此比例调整为1:2。四是国内缺乏完全商业化的操作机构,一般只是政府部门的下属机构在做一些产品的验收测试工作,实质意义不大,软件测试产业化还有待开发和深掘。因此,我国的软件测试行业较欧美国家的差距还比较大。通过研究发现,造成这种情况的原因主要有以下几点:1)国内软件产业本身不强大,软件质量较低;2)软件管理者与用户对软件质量意识有待加强;3)软件管理者对软件测试的认识和重视程度不够;4)软件行业质量监督体系不够好;5)软件从业人员的素质不够高;6)软件测试行业处于起步阶段,经济效益短期内不明显。3测试技术的发展前沿及趋势龙源期刊网测试新技术、新方法3.1.1提高测试效率的云测试云计算时代的到来为软件服务提供广阔的平台,软件测试就是其中之一。基于云计算的新型的测试方式就是云测试。目前,基于云的软件测试相关研究领域包括:1)“测试资源”的服务化,即软件测试本身以统一接口、统一表示方式实现为一种服务,用户通过访问这些服务,实现软件测试,而不用关注“测试”所使用的技术、运行过程、实现方式等等。2)“测试资源”的虚拟化,参照云计算的虚拟化实现方式,实现测试资源的虚拟化,使测试资源可以随用户的需求提供,动态延展。3)测试数据的安全性保证,即研究如何在云环境中保护用户敏感数据,提高数据的安全性。4)集成测试的复杂性问题,即研究异构的云计算软件系统下、多样的软件运行环境中出现的兼容性、交互性、依赖性以及由此引起的软件测试复杂度提高的问题。3.1.2减少正式测试负担的冒烟测试冒烟测试(smoketesting),据说最早源于微软,所谓冒烟测试:就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。冒烟测试的对象是每一个新编译的需要正式测试的软件版本。通过冒烟测试,在软件代码正式编译并交付测试之前,先尽量消除其表面的错误,减少后期测试的负担。冒烟测试的执行者是版本编译人员。因此可以说,冒烟测试是预测试[4]。在实际的软件测试工作中,冒烟测试在软件研发的不同阶段有所不同。大体可以分为三类:1)形成集成测试版本以前:验证各个单元能够成功执行,并保证测试版本能够顺利集成;龙源期刊网)形成集成测试版本:以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性;3)后期预测试缺陷的修正:针对每个缺陷所做的缺陷修正都要先在干净的链接环境中进行冒烟测试,测试通过后才能更新相关软件版本。3.1.3嵌入式软件测试在日常生活总嵌入式系统逐渐成为不可或缺的一部分,如家用智能电视、智能冰箱的应用。随着人们追求的日益提高,软件系统变的越来越复杂、庞大,如何保证嵌入式软件的可靠性正成了嵌入式系统面临的最大问题,软件测试中可能存在的问题包括:1)用户的环境发生了改变,越来越贴近日常生活用品;2)用户的使用环境有可能存在不可能性;3)测试软件的应用,可能会与开发者利益发生冲突;4)应用者的持续性可能与开发和测试工作发成冲突;为了解决上述问题,嵌入式软件测试的不同阶段应采用不同的方式:1)由点及面的单元化测试:减少大规模测试在小目标单元上测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。众所周知主机单元无论是硬件配置与运行速度都会比小单元有优势的多,大测试在主机环境下测试,小单元成为单一的确认,软件测试就会变的简单很多。2)模块化测试:讲不同的应用功能单元模块化,模块的测试主机环境仲进行。将一个大型软件的开发可以分几个级别的集成块,低级别模块的软件集成在主机平台上完成,高级别的集成在目标环境上进行测试。3)用户的确认测试:软件测试最终目标是用户,因此讲所有的开发归总到主机平带,通过移植的方式应用到用户身上,使测试变成简单的确认测试,减少用户对开发环境的依赖,会为软件测试提供很大的便利。3.2软件测试的发展趋势3.2.1转变思想观念软件质量的不断提高不仅仅取决于软件测试技术水平,某种程度上更取决于对软件测试这一工作的态度和观念。当软件测试被视为软件产品交付前的一项“走过场”工作,或进行测试只龙源期刊网为让软件产品的过程“完整化”,那实现软件质量提高以及软件测试水平飞越几乎不可能。只有把提高软件质量视为企业生存之根本,通过过程改进及有效组织管理,形成正确积极的软件测试态度,才能提供软件测试健康发展的土壤。3.2.2改进测试流程软件测试将一改以往与软件开发流程并行的模式,开始将测试贯穿于产品开发的整个流程。传统的测试只是对基本完成的产品查错改错,未来软件测试将转变为全过程测试,将对软件问题提前进行控制和预防,不仅可有效保证软件质量还将大大缩短软件开发周期。3.2.3创新测试技术在软件开发技术日新月异的时代,对软件测试技术提出了新的要求,许多以往的测试方法已经不能满足对某些软件的测试需求了,这就要求软件测试人员在学习软件开发新技术的同时,找到或开发出适合新技术软件产品测试的新方法。3.2.4革新管理方式实现软件质量、进度、成本之间的最佳平衡是软件测试管理的核心目标。这种平衡离不开管理层、软件开发团队、质保人员、测试团队等在软件开发各个环节中通力合作。软件管理其实质就是过程管理、团队管理、人才管理和质量管理。团队的知识结构、创新能力和凝聚力是保证测试流程、测试技术充分实施的基础。采用计划、组织、领导、控制等手段,组建高效团队,制定完善的测试流程,做好测试设计,有效执行测试,加强过程跟踪,从而顺利完成质量保证和测试任务。4结束语通过对软件测试技术国内外的研究,可以使得我国的测试人员了解国内外被测技术发展历程,掌握行业脉搏,与测试行业的国际前沿技术方法接轨,了解软件测试行业的具体情况,结合在我国软件信息化高速发展的需求,对软件测试国内外现状进行总结、归纳为我国软件测试的技术提高及整体发展趋势提供参考。参考文献:[1]软件工程——理论、方法与实践[M].北京:高等教育出版社,2005[2]杨芙清,梅宏,吕建,等.浅论软件技术发展[J].电子学报,2002,30(12A):1901-1906.[3]宫云战,刘海燕,万琳,等.软件测试性的分析与设计技术研究[C]..2000年全国测试学术会议(CTC’2000).北京:2000:271-274.龙源期刊网[4]Tamres.软件测试入门[M].北京:人民邮电出版社,2004.[5]CemKaner,JamesBach,BertPettichord.软件测试:经验与教训[M].北京:机械工业出版社,2004.[6]WilliamE.Perry.软件测试的有效方法[M].北京:机械工业出版社,2004.[7]ElfriedeDustin.有效软件测试[M].北京:清华大学出版社,2003.