闲谈测试

在家休息,没什么事,偶然在CSDN上看到一篇讨论开发与测试的帖子,讨论的热火连天,也来了兴趣,顺便也说说自己的一些看法。

进公司两年了,做测试工作也两年了,虽谈不上有很深的见识,不过也有一些自己的体会。刚进公司的第一天,听说自己被分在了测试部,第一反应是,公司忽悠了,我气不过,我要离职。可毕竟是刚出校门,没有资本;正应了那句话,是虎你给我蹲着,是龙你给我盘着,是其他的你更没发言权。于是,只好一边工作,一边做着两手准备,考博或者转Java编程,不过看Java更多些。那时候,刚到上海,还不能上网,就买了台打印机,每天打一章Java EE的文章出来,然后下了班就趴在那里看,一直看到12点钟了,才洗漱休息,然后第二天再去上班。其实,之所以这样,还是因为自己对测试的偏见。在学校的时候,听说某某同学到外企去了,不屑一顾地说:"有什么嘛?在外企都是做测试,一点技术含量都没有。"对测试的态度可见一斑。也许是上天知晓我的想法吧,居然阴差阳错,我被分到了测试部。这种状态,一连持续了4个多月,到转正答辩了。

转正答辩的成绩不错,居然拿了A,工资也相应有一定的调整;虽然对测试的看法没有任何改变,但是调了工资总是让人欣喜的,于是也有了继续工作的一点点动力。四个月的经历,对测试工作,或者说是对部门的工作也有很大程度的认识,应该说与我以前想象的有很大差距。我们部门主要做嵌入式软件测试,需要对tornado非常熟悉,几乎所有的测试工作都是在tornado下进行的,需要自己用c语言或者TCL语言编写调试脚本,对技能要求非常高;同以前想象的点点鼠标、敲敲键盘的方式完全是两回事;而且,很多时候,还需要进行代码检视,对C语言的能力要求也很高。应该说,从此时起,对部门工作的态度发生了很大的转变,但是对于开发和测试孰好孰坏的观点,并没有转变。

一个偶然的机会,我被派到开发部门锻炼了两个月,两个月的经历不长,但足够我对开发工作的了解;以前一直在学校自己写些小程序,其实是算不上开发的;那次是自己第一次以程序员的身份作为团队一员参与开发,不过两个月的开发经历没有让我觉得开发工作有多美好,反而觉得开发工作甚至比测试工作更枯燥,重复性更大。再次回到测试部以后,我的观点发生了很大的变化,开始反思测试和开发的区别,慢慢觉得测试工作其实比开发更难做,无论是对知识的全面性要求,还是技能要求,都比开发要高。

很多人认为测试是一门低技术含量的工作,甚至不屑一顾。很多人认为测试不过就是附属行业,没任何技术行业,是低人一等的行业,可当你真正经历过测试工作的洗礼以后,就会发现测试工作其实是一项很难的工作,因为很少有人能做好,很多人往往只停留在表面上,庸才多了,行业也就被认为低人一等了。其实,即使是是黑盒测试,也是很有技术含量的;在测试行业里,有一个真理,即使是再小的程序,你也是不可能穷尽测试的,那么如何才能在有效的时间里稳定版本的质量,这就是测试的难处。你需要保证软件发布以后,没有重大的缺陷遗留,然而给你的时间又是有效的,你如何去做?

测试是一门很有技术含量的行业,前人为我们总结了很多好的方法,例如边界值分析法,等价类分析法,Pairwise法等等,然而这些并不够,对于配置测试和界面测试来说,这些工程方法能派上大用场,但是对于嵌入式软件测试,行业软件测试来说,这些工程方法几乎没有任何用处,这就需要我们所有人共同努力,去探索,去总结,只有这样,测试行业才有希望,才能为人尊重。很多人认为开发工作很难,很有技术含量,其实完全不是这么回事,开发(这里只是说编码,设计工作不再此类)已经越来越成为一项体力劳动,特别是有了两三年实际项目经验的编码人员,已经发现自己做的事更多的是重复工作。

讨论测试与开发孰好孰坏,没有任何价值;就像前些年,讨论哪门语言孰好孰坏一样,没有任何用于。做嵌入式的,月薪有超过1W的,也有只有2、3K的;做C#的,月薪有人在2K以下,也有人在1W以上;做测试的,有人月工资在1W以上,也有不到1K的;单纯从大家最喜欢讨论的钱途上来看,谁好谁坏,你说的清嘛?

测试行业是一个新兴的行业,因此怎么衡量一个测试人员的工作能力和绩效还处于一个摸索的阶段,目前的做法都有失偏颇。我进公司的那一年,整个测试部都以问题单数量为导向,谁的问题单数目多,问题单级别高,应该是还是相对公平的做法,但是这种绩效导向的一个问题是测试人员对于问题单的关注远大于了对于产品质量的关注,最终导致的后果就是问题单一大堆,但是漏出去的问题也是一大堆。后来,公司改革,主要以测试人员负责的模块和特性质量为考核依据,质量有了很大的改观,但是带来的问题是测试人员的绩效很大程度上由开发人员来决定了,如果谁运气好,遇到一个高水平的开发人员,问题较少,测试人员的绩效也就相对较好了。其实在软件领域,有一条定律,Bug发现越多的地方隐含的Bug越多,因此问题越少的模块往往也是质量较好,隐含Bug越少的模块。毕竟测试行业是新兴行业,想一下子在绩效评价上做的位,确实是很难的事,需要所有人共同努力。

所以重要的不是谁好谁坏,重要的是什么是适合你的?你如何才能把你的工作做的更好,让你的价值得到最大程度的体现。

posted @ 2008-09-13 16:33  Articles about .NET  阅读(450)  评论(0编辑  收藏  举报