社区热议自动化测试发展前景

  • 郑柯

2012 年 7 月 20 日

话题:语言 & 开发文化 & 方法

随着自动化测试的越来越普及,越来越多人开始重视它,不过还是会有人对其产生怀疑。前不久,做知乎上,有人提出问题:

自动化测试的发展前景怎么样?相比于开发,测试的技术含量是否偏低?测试人员提升自身竞争力的速度是否没开发快?

来自腾讯的工程师Dokie认为:

建议先做开发工程师,再做测试工程师。

微博名为sunjw的工程师孙景卫受邀的回答是:

  1. 就测试和研发这两个行业的人员的平均水平来说,毋庸置疑,测试的技术含量是弱于研发的。
  2. 但就行业前景来说,个人以为,测试的前景要好于研发。理由:
  • 相比于开发来说,测试行业还是个新兴的行业,成熟度也比较低,所以也就蕴含着更多的机会,如果你够努力和专注的话,成功的可能性要更大一些。
  • 对一个产品来说,一个好的测试的影响力要大于一个研发工程师的影响力,因为职业分工的不同,测试覆盖的业务范围要大于开发,而且和研发一样,测试要对最终的产品“质量”承担责任,所以,可能产生的影响也会更大。
  • 测试的技术含量,绝不仅仅局限于测试自动化,还包括产品评测、质量标准、质量流程、业务能力、项目管理、风险管理等。

我个人就见过很多优秀的测试工程师,他们在项目 / 产品中发挥的作用,远远比那些同级别的研发工程师要大。

梁皓然的回答是:

目前的测试,很多公司都使用的是人的方式进行功能点测试,所以从一个“能用”的测试角度来讲,测试的技术含量当然偏低。

但他同时指出:

随着各个 IT 行业公司的发展,随着公司的人数增长、发展、扩大,提供功能的增长、扩大、改进,依靠人力进行测试已经是越来越不现实了,而且也会无谓地耗费人力在这种事情上。因此,现在的大公司(还是大公司为主的)已经开始重视自动化测试功能,除了自动化测试工具以外,还有结合 QA 人员进行半自动化测试的测试工具也有很多,一些公司还有专门开发测试工具的开发测试工程师这种职位。

他认为从事这个职位的人一定要注重自我学习:

一个优秀的自动测试工具需要的是对整个架构的熟悉和对整体测试的考虑,真要做好也不简单。可以这么说,自动化测试目前情况是“能用”就凑合,“好用”很难。相对而言,因为目前普遍水平还是较低的,因为只要努力一些,表现好一点应该可以很顺利脱颖而出,但要长久保持自己的竞争力依然需要更进一步进行系统的学习,而且因为这个更注重整体架构的学习,进度方面可能会稍慢。

张晓庆(Marian)是一位难得的“IT 民女”,她认为公司环境很重要:

想成为一个有竞争力的测试工程师,需要比开发还懂得代码的技巧,更要比普通的测试懂得如果快捷有效的测试。自动化测试也是一种方式,一般重视测试的公司,产品变化和速度不大的使用自动化的机率大。相反如果是在一个敏捷开发不同产品的公司干测试,你想用自动化都难,需要设计和写脚本,更新和维护,相对来说没有一般的手工来得快和方便,不同的公司产品不同的岗位需求,竞争也各不相同。

自称为“一名小小的测试工程师”的garcheck认为“自动化测试”有些过于热门了:

自动化测试现在就是测试行业的“云计算”,发展前景大家一致看好, 炒的好热, 但是真正很难发挥出来。 

问题就在于自动化测试本身是一套体系, 而不是简简单单的使用了哪些工具写了多少脚本。 一个项目或产品为了引入自动化测试需要从上到下配合。 但是很多公司习惯于为了引入自动化测试就招几个能写代码或者能培养写代码的人, 然后扔那放养自生自灭。 这都与公司还是个人都是很不利的。

尤其是当 你的领导或者你不能给项目建立一个合适的质量模型之前, 做 ROI 都是没有价值的。 自动化测试看上去是为了神马减轻人员压力, 提高测试效率等等的问题, 但实际上, 他应该作为一个辅助的质量考核指标存在。 否则, 你只能说, 把测试自动跑了起来, 而不是在做自动化测试。

就“自动化测试”这个话题,InfoQ 中文站进行过多次相关报道,在即将于 10 月份召开的QCon 杭州 2012 大会上,专门设置了“优秀测试实践分析”专题,有关自动化测试的演讲必不可少,欢迎读者关注。

语言 & 开发文化 & 方法