软件测试者的核心竞争力【保持更新】

    从事软件测试行业已经有三年多了,最近一直在问一个问题:我的核心竞争力是什么?如果对于一个软件开发者而言,这个问题也许相对比较容易回答,对于某种语言的掌握,对于某些架构的理解及运用,对于某些库的熟练运用等等。而这些也是可以在工作中学习,熟练进而成为一种本能。
    但是,对于一个从事软件测试,并且是非互联网行业的软件测试从业者来说,这个核心竞争力却是很难回答。

    软件测试理论?有人会说,测试理论就那三板斧:黑盒、白盒;单元,集成,系统以及回归测试。其中的测试方法,例如:条件覆盖,语句覆盖,边界值法等等,不用三天就能掌握。

    软件产品的系统知识?这个要看工种以及个人是否主动去学习了解,但总体来说,测试者,特别是黑盒测试者,对系统的了解不可能优于开发者,毕竟开发者才是天天与系统架构,设计文档打交道的人。从另一个方面来讲,软件产品千千万万,对一个系统的了解,很多情况下并不能增加个人的竞争力。

    然而,事实是不是就代表着测试人员没有核心竞争力呢?其实不然。

    最近接到一个同学的电话,他在一家比较小型的公司从事一类医疗仪器的开发,正带领一个小型团队,他们遇到一个问题是,公司没有测试人员,之前也没有做过类似产品的测试,他想知道,对于这么一个全新的产品,在他们有限的资源的前提下,怎么去做测试,怎么建立合理流程?

    这是一类问题,即,对于一个产品,如何建立合理的测试流程,包括所有的测试范围,时间安排以及相关文档工作?当然,前提是要符合公司的现有情况。这就跳脱了各种覆盖,等价类划分的公式,而成为方法论的范畴。我认为,这是一个测试者的价值体现,也是核心竞争力。

    对于第二类,个人觉得对于特定软件产品的知识,并不构成个人核心竞争力,而只有对软件本身的知识才是。一个简单的例子,一个从事性能测试的工程师-TC,他每天的工作就是测试、记录并总结汇报某个特定软件的性能,并且在出现性能下降的时候提交bug。如果TC每天满足于机械化的操作流程,那么有一天当他离开这个团队的时候,他就需要从头再来,并且从”新手“再来。而从雇佣者角度考虑,TC可能只适合机械化的重复劳动。相反的,如果TC深入地掌握了软件性能知识,知道什么样的代码效率高,什么样的错误会引起性能降低,哪些问题在软件开发中常见,那么TC将具有强有力的核心竞争力,而且是开发人员无法媲美的。

    最近在看一本书《Google的测试之道》,突然有点想法,当然不是针对本书内容的。对于一些大拿,书就是他们的核心竞争力,把书往那一放,沉甸甸的,这就是他的代言。而对于更牛的大拿,根本连书都不用拿,名字就是他的代言。对于最最牛的大拿,就是他写的书就是读者的核心竞争力,换句话说,对于一个普通人,读了他的书并能熟练掌握,那么这些知识就是你的核心竞争了。目前笔者最近还在啃读的《深入理解计算机系统》就属于这一类。

    当然,核心竞争力还有很多,一个软件产品,一个网站,不胜枚举。但是,对于广大测试者来说,找到一个合适自己的,并一步步强化它,是一件充满挑战的事。  

猜你喜欢

转载自michaelhqs.iteye.com/blog/2005496