请选择行业
请选择职位
请选择省份
请选择城市

我们是谁?(软件测试人生之一)

时间: 2013-03-11 14:24   作者: gigobin   点击次数: 
 

  前几天跟朋友聊天,说你们测试人员现在不好混吧,技术含量低,人员过剩。呵呵,表面上敷衍过去,回来沉思,想到我们测试到底是什么一个状态呢。

  Who am I?

  一般来说,软件行业的测试人员主要是进行一些保障产品质量的活动。有的地方叫tester,和coder相对应。有的地方叫QE,意思是质量工程师(Quality Engineer)。 有的叫QA。 这个QA一般有两种说法,一个是Quality Assure, 意识是质量保障工程师。不但包含对软件产品质量的保障这层意思,很多公司还有专门的QA这个职位,用来对产品质量过程进行控制,例如CMMI体系,就有专门的人去审核测试团队在对某个产品进行质量保障的时候,其采用的流程,方法等等是否符合标准。 有的公司称QA为Quality Analyst,意为质量分析工程师。其实我个人更喜欢这个称呼,更加小资一些,像个文艺青年值得干的活。

  总而言之,测试人员的具体工作就是保障软件的质量。一般面试的时候,我也喜欢问这个问题,很多人都能说到这层意思。但是对于一个文艺青年来说,这点似乎有点太庸俗化。我们更喜欢说,我们是保障最终用户能够得到满足他们真实需求的软件。

  其实,很多开发人员看不起测试人员,就如同我们对中关村攒电脑的也自称自己是it人一样鄙视。实际上呢,测试和开发来说,都是软件工程中的一个角色而已。

  在软件工程这个词还没被发明前, 所谓的软件或者计算机行业,都是给数学专业大牛们打下手的。 我接触过最早的软件从业人员,任务就是帮助学校的老教授打孔,然后放到一个史前级别的科学计算器(也就是一般意义的电脑的前辈),去计算。 就是高级的计算器。

  后来,真正引导软件行业走向工程化的,应该是Nasa的功劳。每个入行的人应该都学过,当年为了保障火箭能顺利升空,很多计算结果都需要反复的验证。这个验证的过程,其实就是一个测试的过程。当软件开发变成了软件工程的时候,测试就作为开发的一分子存在于世了。

  那个时候,开发一个软件,很多时候都是为了自己的某个需求。所以,那个年代的开发,从实际意义来说充当了如下多个角色:用户,需求分析人员,设计人员,开发人员,测试人员,管理人员和维护人员。

  在中国的这个文化沙漠中,测试人员单独出现,也是由外企带来的。那个时候的测试人员,大部分时间就是玩自己公司的软件。然后,发现了问题,就写封邮件,说这个地方为什么是这样啊,我觉得不对劲啊。然后开发大拿们也许会斥责:不懂装懂,滚。也许会鄙视:这是我们的产品特性啊。 也许会悻悻然:哦,一个小问题,回头我改了就行了。

  当年2001年,找工作的时候,突然发现有公司招测试人员,就应聘了。基本上工作就是玩一个软件,熟悉了以后,就是每个版本从头到尾把自己能玩的玩一遍,看看有没有问题。所以,记忆尤甚的是当时很多bug都是一个大妈发现的,她连开机都不会,更别提装什么操作系统了。她的方式就是逮住一个页面,不停的点点点。

  哈哈,那个时候换煞有其事的参与了好多测试论坛的研讨会,很多著名的论坛都是那个时候各起山头的。 不过当时就觉得,大家其实都抱着我来学robot怎么用来的,其实没什么意思。感觉那个时候的测试人员,都是为了能有一个一技之长,好跳槽涨薪。 记得当时有个深圳的哥们说,他是测试人员,一个月12k,当时在北京一个月3k的我,只能恨之厌之不服之。哈哈。

  总之,行业在发展,后来就有很多像模像样的测试理论方法流程过程纷纷韶绕了一段。 那个时候,测试和开发,似乎成为了冤家对头。测试就是挑刺的,被开发鄙视,去恶心开发。 很多开发觉得,你丫就是个棒槌,根本用不到你们。 测试呢,普遍想法是,哥就喜欢干这个挑刺的活,舒坦,你丫牛逼,别搞这么多bug出来啊。所以,很多时候,开发人员终于如愿以偿的混上PM了,会对手下的测试人员极为苛刻。

  慢慢的,很多公司觉得把每个项目都搞几个QA有点得不偿失,就把人都集中起来,搞个测试经理,然后每个测试人员都参与多个产品的测试。貌似,有点独立权了,开始张口闭口我们测试部门怎么怎么样。 很多公司现在的模式还是如此。

  其实,测试人员如果只是单纯的会测试,确实局限性很大。 一个好的测试人员,哪怕最底层的,他至少对他要测试的部分了如指掌,知道跟那些模块的相互影响是什么。毕竟80%的bug都是出现在模块之间的交集地带。 而一个开发,更多的是对开发工具的熟悉,实现功能。他们注重的正向的测试,对于交叉测试很少能够全面的衡量。 所以,这就是一个好的底层测试人员的作用。

  对于一个3年以上的测试人员来说,其实他对一个产品的周期,要比很多开发人员熟悉的多。他更熟悉开发的计划,时间表等等。 能更好的从产品层次去组织和管理测试活动。

  对一个好的测试人员来说,测试经理不是最好的,其实他们更加适合当一个项目经理。一个产品开发过程,需要一个开发经理,一个测试经理和一个好的项目经理。这个项目经理,很多情况下都是高级开发经理担任的。其实这样有利有弊。 对于现在越来越清晰的测试驱动开发的模式,更需要一个高级测试经理来担任这个角色。

  因为一个好高级测试经理,不但是对产品开发周期,风险规避,人员安排更加熟悉。而且能够更加有效的组织测试活动。而且,高级测试经理往往已经能够胜任一个需求分析经理的职位。对测试管理,团队管理更加得心应手。原因就是:一个开发看到另一个开发的能力,往往是他的经验,就是他能不能解决一个复杂的开发问题。更多的是经验的积累。 而测试人员看开发人员,往往都是他的短处,谁更容易在什么地方出错等等。 而且,测试往往比开发更加熟悉一个产品的真实需求。而且,测试用例的设计,除了对已有知识经验的必需外,更加需要的是一个有很强的创新能力的人去设计。一个创新,一个积累,在中国这种纯粹靠密集劳动力拿项目的现实中,是多么的可贵,是多么的心痛,被那么多无量的开发经理直接忽略。

  所以测试人员,想做的更好,就是要把自己搞的既是BA,又是QA,process manager,而且还是最终用户。 这才是一个真正的测试人员需要自我。

版权声明:本文出自 gigobin 的51Testing软件测试博客:http://www.51testing.com/?26810

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

打印本页 | 加入收藏

上一篇:别让面试毁在自己手里     下一篇:Road to Revolution (

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: