国内软件自动化测试的现状及原因探究
文/陈克浚
摘要:随着我国经济的飞速发展,软件行业对于软件自动化测试需求与标准越来越高。新形势下,全面分析国内软件自动化测试的现状、原因并针对性提出解决对策,具有划时代重要意义。
【关键词】软件自动化测试 现状 原因 发展对策
我国软件行业从起步到现在只有几十年时间,但其应用范围逐渐扩大,已经渗透到社会生活的方方面面。人类社会的发展,对于软件的需求程度越来越高,相应的,软件问题对于人们的影响程度也越来越大。
1 软件行业测试现状
我国软件行业发展比较晚,与西方等国家相比还存在一定差距。但我国软件行业的发展速度比较迅猛,版本更新换代速度大大超过人们想象。软件测试作为软件开发的最后一个环节,必须要跟上这种更新速度。新版本发布前期,一方面既要在短时间内花费大量时间、人力去修改、测试新功能,从而达到标准要求;一方面必须大量执行测试用例保障原有功能不会发生错误。也就是说,测试人员必须花费大量精力去完成测试,无暇设计更好测试用例,这就不可避免的出现恶性循环,测试人员重复进行用例测试,但软件质量没有显著提升。因而,测试部门受到广泛质疑,人才大量流失,使得软件测试陷入尴尬局面。要想走出软件测试的困境,必须彻底改善“轻测试”的传统思想,进行整体软件开发管理。除此之外,测试人员也必须从自身找原因,全面提高自身技术水平与综合素质。引入自动化软件测试技术,是未来发展的必然。
2 国内自动化测试的现状
我国软件发展起步晚,自动化测试起步更晚。刚开始引入自动化测试时,自动化测试成为业内讨论的重点,其未来“一片光明”。但是,经过几年的发展,现在我国自动化测试现状并不完美,经常出现以下情况:
(1)畏首畏尾。缺乏对自动化测试重要性的认识, 再加上自动化测试的前期成本比较大,先不管购买软件的费用,就是开发脚本的工作量与成本就让人望而却步,畏首畏尾。
(2)虎头蛇尾。全体员工一起努力,一起努力进行自动化培训、架构与流程开发。一段时间过后,发现短时间内不可能收到自动化测试效益。再加上很多技术性问题无法得到有效解决,高期望值被现实打败,工作人员失去斗志,虎头蛇尾。
(3)“鸡肋”。投入大量人力、物力资源进行自动化测试,但是,前期没有做好全面的准备工作,盲目推行自动化测试。结果,使得脚本如“鸡肋”一般,相比于手工测试来说,维护成本、工作量都要复杂很多。但是因为已经做了大量投入,无法放弃,如同鸡肋般,弃之可惜。
(4)十面埋伏。依靠自动化测试专家,刚开始测试非常成功。但是,要想全面提高自动化覆盖率,还缺乏培训力度、准备工作、以及人员跟进问题,这大大阻碍了自动了测试的发展。
3 自动化测试的原因分析
(1)重视程度不足与流程缺失。相对于手工测试来说,自动化测试初期需要投入比较大。如果公司缺乏对自动化测试关注度与重视度,再加上自动化测试无法在短时间内收到明显效益,很多公司都会主动放弃自动化测试。自动化测试一方面需要脚本开发,更重要的是需要完善的流程支持。缺乏任何流程,都会严重阻碍自动化测试的推广与发展。
(2)盲目地推行自动化测试。自动化测试无法适用于全部的测试任务,如果企业盲目地推行自动化测试反而会收到不恰当结果。初期投入巨额成本,后期的维护成本也会呈现几何状提升。同时,执行测试过程中,也没有表现出自动化测试的高效率。甚至会出现慢于手工测试现象。可是如果直接放弃自动化测试,就会使面前的资金、人力、物力投入“血本无归”,导致恶性循环出现。更有甚者,企业将自动化测试转化为绩效项目,大大背离了自动化测试最终目的。
(3)自动化测试报有过高的期望。部分企业只看到了自动化测试的理想效果,忽略了自动化测试本身的局限性,以及实现自动化测试过程中需要付出的努力。这样的话,企业自动化测试报有过高的期望,如果遇到挫折或问题,就会全盘质疑或否定自动化测试。
4 我国自动化软件测试发展对策分析
(1)加强政府方面努力。政府部门需要积极出台完善的软件质量法规,并做好质量监督工作,对于不符合规范的软件开发商要加大惩罚力度,在制度方面规范软件行业的健康、有序发展。同时,建立第三方软件测试部门,促使其行为市场化,在上市之前所有软件必须经过全面认证与测试。另外,强化惩罚力度,全面提高软件开发商的诚信经营,进一步强化对软件行业与测试行业的指引。
(2)提高客户质量意识。积极吸引客户参加到软件开发与测试流程中来,从而对软件提出更高标准,降低后续的维护工作。得到客户认可后,软件市场需求将会增加,企业就会有更多投入,全面提升软件质量,推动良好循环与更多软件测试机会的到来。
(3)全面提高软件测试人员技术水平。人才是现阶段行业发展的重点与关键,我国现阶段软件测试人员在质量、数量上都无法与软件行业相适应。要想从根本上解决这一问题,必须促进我国高校与培训机构的强强联合,将测试实践积极引入高校教育中,在软件培训中加强高校专家的理论指导,优势互补,大力培养综合素质高、实践能力强、理论水平扎实的专业技能人才。
(4)将事后软件测试转移到质量控制方面。软件测试,不仅仅指的是功能验证测试。从本质上来讲,软件测试必须贯穿整个软件开发全过程,软件测试是有效控制软件质量的重要手段。因此,需要将事后软件测试转移到质量控制方面。
(5)强化软件测试产业研发力度。软件企业测试小组需要全面做好软件开发过程的测试控制。软件测试机构作为一个独立产业,必须积极拓展自身业务,向着评审软件开发需求、评审开发过程中的资料信息、走查代码、软件监理等方面发展。
5 结语
综上所述,我国软件缺乏规范、充分的软件测试, 质量远远不如西方等国家软件质量稳定。新形势下,必须明确目标,强化自动化软件测试研究与发展,促使国内软件与国际标准相接轨。
参考文献
[1] 许晖. 面向IBM 自动化测试框架GUI 录制工具的设计与实现[D]. 哈尔滨工业大学,2011(02).
[2] 王立新. 软件测试数据的高效生成及测试方法研究[D]. 东华大学,2011(10).
[3] 张福民. 信息系统开发中的自动化测试应用研究[D]. 大连海事大学,2006(03).
[4] 曾夏辉, 刘洋. 国内软件测试现状分析与几点建议[J]. 网络安全技术与应用,2006(05).
作者简介
陈克浚(1979-),女,杭州萧山人。中级,计算机相关,思科系统(中国)研发有限公司杭州分公司。
作者单位
思科系统(中国)研发有限公司杭州分公司浙江省杭州市 310012