软件测试的现状分析及未来发展研究
2014-04-29徐文骐
徐文骐
摘 要 全球信息化推动我国软件产业的蓬勃发展,随着软件工程学的深入研究,我国的软件测试于“六五”期间逐步发展起来。但由于起步时间较晚,当前我国在软件测试认识的正确性及全面性、软件测试技术的先进性等方面与一些知名软件产业强国之间还存在着不小的差距。随着当前一些大型、超大型信息系统的投入使用,软件质量正越来越被我国软件企业所重视,软件测试行业正迎来又一轮发展契机。本文通过对于当前国内软件测试行业的现状分析,指出当前存在的问题及其原因,并给出相关意见及建议,点明我国软件测试行业发展的关键点及趋势。
关键词 软件测试 软件质量 软件测试产业化
中图分类号:TP311 文献标识码:A
当前我国的软件行业正如雨后春笋般处于蓬勃发展阶段,在短短二十几年间,正不断成长为我国经济的又一支柱产业。但我国软件行业仍处于发展的初级阶段,大部分我国的软件企业,仍然存在着重开发,轻测试,追求眼前功能的实现,对于性能及功能优化方面考虑甚少的问题,对于软件质量的保证及软件行业的发展带来极大的风险和极为不利的影响。本文将对软件测试的认识、测试技术、测试商业化等方面的当前现状进行分析并对软件测试行业的发展趋势进行探讨。
1国内软件测试行业的现状分析
1.1软件测试行业的现状及问题
首先,我们需要承认的是:我国软件行业的发展仍处于较不成熟的阶段,软件测试行业的现状令人较为担忧。不得不说,当前,软件测试在软件行业中处于一个绝对的劣势地位,无论是比重还是质量都与欧、美、日、印度等一些软件强国存在着巨大的鸿沟。
数据显示,中国软件测试行业存在着巨大的人才缺口。据不完全统计,当前,我国软件测试行业的人才缺口达到30—40万人。2008年,国内最大的软件测试网站51testing软件测试网发起了中国首届企业软件测试现状调查活动,并在此基础上进行了全面、真实、有效的数据分析和整理,很好的体现了当前我国软件测试的现状。通过《2008年首届企业软件测试现状调查报告》中的部分数据,可以清晰的看出当前软件测试行业存在的问题与不足。
调研结果显示,首先,我国当前没有设立独立测试部门的比例达到了51%;此外,从企业专职测试人员与开发人员的比例来看,企业测试人员与开发人员的比例集中在1:3—1:5左右.19%的企业该比例达到甚至超过1:7,这与国外软件业1:1的比例相差甚远。说明我国部分软件企业测试人员严重匮乏,开发测试人员配置比例严重不均;再者,报告显示:对于软件测试重视程度在“很不规范”,“不规范”,“一般”的比例达到了49%,显示我国“重开发、轻测试”的思想仍然比较严重。另外,目前我国测试行业测试技术仍然处于相对落后阶段,对于测试人员的需求仍以手工测试人员为主,功能自动化测试工程师及性能测试工程师仍处于供不需求的严重缺乏状态;同时,企业对于相关职业技能提升规划并不重视,对于软件测试人员的进一步培养缺乏有效机制,极大的遏制了软件测试行业的进一步发展;此外,企业对于测试流程规范程度不够,部分企业并未建立规范的评审流程,并且大部分企业对于性能测试及自动化测试重视不够,都给最后的软件交付时的质量带来了更多的不确定性及风险。
1.2软件测试行业现状的原因剖析
(1)国内的软件行业仍处于“温饱”阶段
虽然我国软件行业处于蓬勃发展的阶段,但当前大部分软件企业都处于刚刚起步阶段。企业规模不大,企业资金相对紧张,甚至部分企业“有价无市”,还处于“过紧日子”,向上扩张的初级阶段。而搞好软件测试恰恰正是由“温饱”向“小康”的转变。软件质量也是在从量变到质变的过程,需要一定的投入才能有所产出,据测算,一个好的软件花在测试上的时间基本占据整个开发成本的30%—40%,并且软件缺陷查找过程遵循2-8定律,即后20%的缺陷需通过80%的测试成本,因而当前软件产业的不发达导致软件测试的窘境也就是顺理成章的事。
(2)缺乏对于软件测试的认识及重视程度
当前,我国很多软件企业更多关注功能实现,以满足功能需求为第一己任。有时为了赶项目进度,部分软件企业甚至直接忽视软件测试环节,仅通过程序员开发阶段的单元测试,集成测试及功能验证测试的通过就作为软件上线的依据。部分软件项目的失败正式源于对于软件测试重要性的认识不足所导致。然而,从软件工程的角度来看,无论是经典的瀑布模型,全过程管理模型还是最新的敏捷过程模型scrum模型,开发验证环节都是软件开发活动中的一个重要组成部分,贯穿于软件开发的全过程。部分企业认为,软件测试是一个影响开发进度,浪费企业资源的吃力不讨好的产物,熟不知,软件测试是控制软件产品质量的重要手段,是控制成本的关键。
(3)软件企业的管理者质量意识淡薄
部分软件企业的项目经理并没有项目开发的经验,并不能够很好的组织相关软件测试工作,还有部分管理者虽然提出了相关保证软件产品质量的要求及口号,但是当需要在软件测试投入大量人力物力财力之时,亦或是在软件开发进度与软件测试存在冲突之时,往往对软件测试投入极少,以牺牲软件测试为代价,换取软件开发进度,对最后软件质量的影响不言而喻。
(4)软件企业缺乏全过程质量控制体系或相关体系不健全
目前,国内软件企业能达到ISO:9001和CMMI(能力成熟度模型)3级以上的高级认证的相对较少,甚至部分申评成功的企业,只是将此作为营销的筹码。在日后的软件开发过程中,因相关质量控制体系实行起来较为繁琐,将会浪费许多时间及人力及财力,施行的企业寥寥无几。目前,国内软件产品质量监控体系和执行标准都是较为模糊的,软件提供商的质量承诺,既没有相应机构的监督,也没有第三方来严格论证,给中国软件产业提供了滋生不求质量的温床,成为软件产业快速发展的瓶颈。
(5)软件从业人员的人数严重不足,技术落后
据测算,目前在国内120万软件从业人员中,真正能担当软件测试职位的不超过5万,而目前高等教育中专业的软件测试教育近于空白,独立开设软件测试课程的高校非常少,这就形成测试人才紧缺、需求不断增大的现象。目前国内软件测试的人才需求缺口超过20万人。此外,当前我国软件测试仍然以手工测试为主,属于劳动密集型的手工测试增加了项目人力成本和沟通成本、低效率以及高差错率。随着目前软件规模不断扩大,用户对软件质量的要求越来越高,缺乏自动化测试及管理的能力,也是影响软件产业发展的又一关键因素。
2软件测试行业的未来发展趋势
国内软件测试尚处于起步阶段,虽然与软件发达国家相比存在着很大的差距,但不可否认的是,作为一个新兴产业,软件测试行业的发展已超出了同期软件发达地区的水平,为了我国软件测试行业更好的发展,我们需直面问题,解决问题。
(1)首先就是要加强对软件测试的认识及重视程度。软件开发过程是一个标准化的生产过程,不能只追求软件产品的开发进度,一味求快,并且要认识到软件测试是软件交付前的一道重要工序,是保证软件质量重要,也是最后的机会。为了避免已经推向市场的产品由于被发现有严重缺陷而导致大量退货的现象,从而给软件开发商及最终客户带来更多的损失,在软件产品交付前,进行充足,全面的测试工作是每一个软件企业必须完成的工作,企业的管理者需要正确认识软件测试的重要性,对软件测试足额保障测试时间、人力及财力。
(2)大力培养高素质软件测试专业人才,提高软件测试技术能力。政府、软件企业、科研机构、高校等需共同努力,为我国的软件测试行业培养高素质人才,高校应加大软件测试专业的培养力度,国内各大高校可以与软件测试培训中心(甚至国外测试机构)强强联手,学校在培养软件测试人才的同时多引进测试实践,软件测试培训中心可以把培训班办到校园内,在培训在职测试人员时,多请高校的理论专家们来讲课,取长补短,相互融合。软件企业需加强对于软件测试人员的重视程度,尽量做到开发、测试1:1的配置水平,并提高测试人员的薪酬及待遇,并且努力提高企业自动化测试能力与性能测试水平,从单一的功能化转向全方面软件质量把控。科研机构、高校还应致力于向国外先进的软件发达地区学习,加大对软件测试理论、测试技术、测试管理的创新和测试工具的开发并加大推广力度,强化我国软件测试行业的专业水准。
(3)将软件测试从生命周期的后道测试向质量控制上转移,使软件测试不单单只是书面上的白盒及黑盒测试,应参照IS0-9001或者CMMI成熟度模型对软件开发过程进行全过程的质量控制,逐步介入软件开发前的需求评审,开发中的文档资料评审、代码走查等,最终发展为软件监理。
(4)大力发展第三方的专业测试机构。重视利用第三方的测试力量进行测试,这也是重视软件测试的一个表现。当然这样的企业在国内尚处于凤毛菱角,但这是一个趋势。第三方软件测试企业办事效率与质量高,依靠技术与服务来征服客对于软件企业而言,从头去建立测试部门、引入相关人才、并完善测试体系,需要较大的资金投入。将研发出来的软件产品交给已得到相关认证,实力强劲的第三方的专业测试企业,不仅仅能更好地提升软件产品的质量,而且软件企业还能节约产品测试成本。并且为专业测试人才提供了一个更好的发展平台。
3结语
中国软件产品质量已成为软件产业发展的心病,软件测试作为“朝阳产业”,正是其解决之道。经过几十年的发展,我国的软件测试和应用技术有了很大的进展。然而,当前我国的软件测试行业与软件发达地区相比还存在着诸多的不足及巨大的差距,很大程度上体现在软件测试的意识、技术和规范上的缺失及落后。目前,我们要加强测试意识的培养,加强技术上的学习与研发,注重专业测试人才的培养、规范软件开发和测试流程,相信不久的将来,我国的软件测试将会迅速蓬勃发展开来。
参考文献
[1] [美]Stephen H Kan .软件质量工程——度量与模型(第二版)[M]. 北京:电子工业出版社,2004.
[2] [美]Cem Kaner等著.计算机软件测试 (第二版) [M].北京:机械工业出版社,2004.
[3] [美]William E Perry著.软件测试的有效方法 (第二版)[M]. 北京:机械工业出版社,2004.
[4] 51testing. 2008首届企业软件测试现状调查报告[R]. 中国:51testing, 2008.