|
6#
楼主 |
发表于 2010-3-5 00:59:16
|
只看该作者
Smart Testing (2)- 编程语言
正好有网友说到应该让这位测试人员去做开发或者code review,我就谈谈我对编程语言的理解。还看到一些网友对我的观点有疑议,这也就是我说的要自己亲自体会才能明白的。当然每个人的体验不尽相同,但是很多细微的东西我还是没有解释的,比如老板的心理,visibility, promotion等等。具体怎么做还是应该是灵活的, 总之是要付出同样的时间和精力能够获取更大的好处,更大的好处也并不是仅仅包括测试工作本身,是多方面的。当然我向来都是提倡把这些东西结合在一起的。
现在说说编程语言。可惜的是,这个测试人员据我所知只精通一门编程语言,而我们产品所用的是一门不同的语言,所以他很难转成开发或者进行code review。至少当前的阶段不行。因此在碰到问题的时候,我通常是通过debugging和code review来找到root cause, 就报bug了,而他则不得以要找开发人员来解决,又要repro,又要提供log,等等。尤其是跨team,跨模块的时候就非常辛苦了。因此,我的观点是,对于一个测试人员来说,精通一门语言很重要,但是更重要的是通晓各种语言。这也就是我前边提过的一个问题,你只会一门语言,怎么能smart testing呢?你都没有选择的可能。我刚来公司的时候跟一个C语言高手合作过,发现他竟然在工作中要用到VBScript,Windows Shell这些我不屑使用的脚本语言,而且他还说这些语言很好用,当时就觉得不可思议。现在慢慢的我也明白了,每种语言都自然有它的好处,不可能有一种语言什么都能做,而你懂得更多的语言则可以使你在工作中有更多的选择,从能能够更smart的去工作。
我一直也在考虑过要不要转开发,而最纠结的一点是,开发一般来说只是用一种语言,而我并不喜欢任何一种语言,任何语言都有它的痛苦之处,而紧抱一种语言历史上来看也是危险的。我喜欢在测试中对语言选择的自由性,我可以在不同的情况,面对不同的问题,灵活地选用语言,或者学习新的语言。我大概统计一下我曾经用过的语言或语言工具有,Pascal, C, C++, VB, Foxpro, VC, Powerbuilder, Java, C++ builder, Perl, PHP, C#, C++/CLI, VBScript, JavaScript, Windows Shell, Silverlight, Powershell等等。而我现在自动化所用到的语言就有C,C++, C++/CLI, C#, Windows Shell, Powershell等等,我会根据不同的情况来选用不同的语言去实现。
还有一点很重要的能力就是你用多长时间可以上手一门新语言。我们通常需要学习新的语言去完成某项工作,而完成这项工作未必要精通这门语言,你用多久的学习时间可以完成呢?我学习VC花费了半年的时间,那个时候是在大学里,资料很少,市面上就两本书。VC之后的其他语言的学习没有超过一天的,一般是几个小时,而最近学习的Powershell大概不到半个小时的时间。
因此,作为一个测试人员对编程语言的选择和使用有两点很重要。一是快速掌握一门新语言的能力,二是尽量通晓多门语言。这样才能更好的进行smart testing。
http://peking2toronto.spaces.live.com/default.aspx
[ 本帖最后由 cleverman 于 2010-3-5 10:50 编辑 ] |
|