随想——程序员与测试员

来源:互联网 发布:js数组排序方法速度 编辑:程序博客网 时间:2024/06/08 00:18
    在程序员和测试员之间,似乎总存在着一道隔离栏,可能是我太敏感了吧……
   先从目前公司里的分工说起,听过许多朋友向我诉苦,从需求分析到产品交付,在小公司一个项目通常都是一个人负责的,甚至在一些大公司也是如此,这其中自然也包括测试工作,在这种情况下,也就不存在所谓的分工,无非是单人游戏而已,自然也就不存在配合和职位高低的区分。如果测试员、程序员不是一个人的话,那么程序员会把相当的测试工作交给测试员来做,这似乎看起来很寻常,但其实是有意义的,程序员的主要精力将集中在编码上,而非测试上,测试员从一定意义上讲,缓解了程序员的工作压力,也可以帮助程序员更专注的写程序。
   在理想状态下,程序员只指负责编码的,当然似乎这有些不现实,通常部分的白盒测试也是由程序员自己完成的,测试员自然要负责所有的测试工作,并向程序员汇报任何可能存在问题的地方。到目前为止,呆过几家公司,也应聘过几家公司,给人的感觉就是测试和程序员之间似乎要很好地配合并非易事,我原来一直以为问题仅仅出在沟通上,其实不然,还有很多其他的原因,比如技术背景、经验等。
    在软件行业内,似乎有这样一种说法,测试员是入门级职位,就像硬件行业中的PCBLayout工程师一样,但真的是如此吗?一个好的测试应该是通晓技术的,否则对于一些隐藏得很好的bug很难做准确分析。但通晓技术意味着什么呢?意味着测试必须有相当的软件开发经验,但又有几个程序员愿意在做了n年程序员之后去做测试呢?在程序员心里,似乎总认为测试人员并没有程序员的职位高,待遇方面也没有程序员好,在有些公司测试员的工作压力比程序员更大,因此矛盾就出来了,测试员似乎永远都是测试员,永远处在入门阶段,好多拥有大量项目经验的程序员要么跳槽到待遇更好的公司做程序员或高级程序员,要么干脆跑去做项目经理,甚至自己开公司,似乎没有人愿意回过头来做一个“入门级”职位。
   记得前段时间去一家公司面试,有测试员问我关于测试员和程序员出现分歧时,听哪一边的问题?我的观点是在技术可行的情况下,还是应该听测试的,因为测试员从一定意义上讲,就等同于用户,如果过不了测试这一关,又怎么能够拿去给用户使用。但最后竟然有测试认为我虚伪,昏过去,我从来就是实话实说的人,咋成了虚伪之人呢?回过头来想想,那个测试可能觉得程序员比他"位高权重",不管是不是他愿意的,到最后还是要听程序员的,所以才会觉得我虚伪,可以理解,但我没有想到连测试员自己都有些贬低自己,无语……
   其实,不管在任何时候,我都告诉自己,要平等待人,特别是同事,当然前提是别人也这样对我。作为程序员,对于测试员自然要讲平等,讲尊重,这很重要。因为他们所做的是让我们的“作品”更趋于完美,这样客户才会更加满意,这是一种团队合作的体现。
   在任何时候,程序员都不应该责怪测试员,测试也是人,而非圣贤,也会犯错误,即使他们测出来的不是bug,程序员也只应该在测试反馈记录中填写一个INVALID就结束了,而不应该当着面或者背后骂人家,因为这是程序员职业道德。要成为一个优秀的程序员,我们必须先学着善待团队中的每一个人,有分歧是很正常的事,但要注意沟通,当然我并不是说不允许争吵,有一点大家要明白,有时争吵也是一种合作的表现,不知大家有没有体会。
原创粉丝点击