软件测试储备是一项长期的软件投资
作者:管理员 发布时间:[ 2010/2/21 13:35:24 ] 推荐标签:
三、困惑的软件测试员
很多时候,投资在测试上的人力及财力,将由许多的因素来决定。而其中软件测试人员是很重要的考虑因素。其实组织在软件测试方面大的成本开支是测试人员上。在软件工具及测试设备都比较接近的,竞争对手之间在软件测试方面的竞争,主要体现在软件测试人员上。
近期的无忧指数显示,软件测试工程师已经成为紧缺的人才之一,该类职位的需求主要集中在沿海发达城市;而从企业分布来看,民企需求量大,外商独资欧美类企业需求排列第二。目前,国内软件测试人才紧缺的现状已经凸现出来。
笔者认识一位朋友A,做专业的测试工程师已经有一年多的时间了,目前仍然在做较为底层的测试。有时候也会写写测试需要的代码,但还没有开始设计整个项目测试案例。目前A正在为某一软件公司做软件测试,工作的流程非常严谨而明晰,这自然也意味着枯燥的重复。枯燥并没有淹没A的工作激情,发现一个Bug带来很大的成感,特别是想到每天将会有几百万人通过使用没有这个Bug的软件准确无误的达到他们的目的。
前途在A心目中是非常明朗的,颇有一些“随需”择业的味道。曾经有媒体报道过近来软件测试工程师在职场需求中的风光景况,尽管IT行业的总体需求仍然疲软。在北京和上海等地,测试员的需求量占到了招聘总量的近1/3。另一方面,A认为从测试员成长为软件项目管理者是更有优势的。
例如微软的开发方式本来是“测试驱动”的,在测试过程中发现了墙角还有没涂到油漆的小块,开发则根据这个思想再补上那一块。测试的经历恰好让人更能从用户的角度来考虑问题,更能深入了解程序开发过程中可能出现的问题,这都是成为一个的项目管理者的必要条件。尽管可能一整天都为了一个小控件“循规蹈矩”地反复测试并撰写测试文档,这样的重复被A当作了重要的积累。A喜欢新东方学校的徐小平新书《骑驴找马》中的一句话:“重复做汉堡,是麦当劳;重复煮咖啡,是星巴克;重复教托福,是俞敏洪;重复做好事,是活雷锋。”
测试工作,在好多公司说到底还是不够重视。如果管理层从控制成本考虑,不打算对测试投入太多,例如对用了2年左右的测试工程师不想加更多的薪水留人怎么办呢?那我们要问了,什么是软件成本?不仅仅是生产过程中产生的费用叫成本,未来因为产品缺陷产生的服务费用也是成本,如果产生了客户退货、产品召回,也是要算成本的哦!作为测试的工程师要学会使用数据说话,把产品缺陷造成的成本数据搜集起来,关键的时候拿出来给重视成本的领导或管理层查阅方能实现工作向工作量的转变。
四、测试的成本
测试成本的要素包含很多方面,是否写了测试代码只是其中一个重要部分,是否采用JUint以及Mock对象更加不是对其评价的决定性因素。对测试的更好评价应该是额外代码、测试可重复性、测试范围和边界值识别等综合构成(测试对设计的作用是更高级的判断)。
对于涉及到数据库持久方面的测试、涉及到UI(浏览器或者富客户端)交互的测试以及多对象多方法过程的测试(也可体现为UI交互,这里是指独立性质的)等,以及上面说到的一些问题(不再重复),是我们现实测试实践要面临的问题。
对这些问题的解决,会更多的涉及到项目具体情况的选择和具体项目和团队的情况来做佳判断,这是成本的意义。
在软件开发的早期,软件开发只是编码及部署。但随着软件行业的发展,开发企业开始在发布前进行测试。因此,这个意义上来说,软件测试是成本。但从更普遍的意义上来讲,软件测试其实是一种提供软件质量的投资。
软件测试看似成本,但其实可能是一项可以减少将来若干不必要费用的投资,同时还可以为企业赢得良好的口碑。而达到这一目的解决方案,主要有:采用测试驱动开发方式;确保每个小功能的模块都得到很好的测试,并建立可持续的资源整合环境;进行可靠的整体测试。软件测试终将转化成为节约成本的开支。不论它是产品开发、软件升级、或是软件维护。
许多统计资料表明,开发过程每前进一步,发现和修复一个缺陷的平均成本要提高10倍.那么是不是说找缺陷不重要了呢?当然不是。软件测试的另一个经济目标是尽早发现缺陷,降低修复及售后服务成本。显然,每一个已发布产品中的缺陷除了会影响产品及企业的声誉外,还会直接增加产品的售后服务成本。无论是派人到现场调试,或研发、发布补丁程序都要远比在发布前的修复成本昂贵数十倍,甚至数百倍。
五、小结
软件测试的必要性已经完全为业内决策人士所接受。这是因为软件工业已经发展到了与其他主要工业相当的规模。经过十几年的发展,少数天才们手工作坊的世界已经转化为大工业生产的天下。由于Java的流行,我们更看到了组装生产线的模式。
在工业生产的传统行业里,测试是生产的有机组成环节,各道工序的测试、组装测试、出厂测试及致破坏性试验是生产目的实现的重要保证。
可以肯定,软件开发面临很多的困难,诸如发布时间紧、市场压力大、投资过高等。这些不能成为挤压软件测试投入的借口。因为软件测试是软件开以生命周期一个非常重要的部分。笔者认为,对于一些基于产品的公司或组织,软件测试作为一种投资可能更加适合一些,因为这样可以节约销售成本及技术支持成本。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11