我在之前的一些文章里,曾经提到关于测试人员的职业发展,不过说的都是具体的测试技术,今天我会针对测试在软件行业中的地位,以及大家对测试这个职业的看法,进行完整深入的分析,希望能给各位测试同仁一点启发。
测试工程师几乎每天都在对自己说:测试和开发同样重要!并且经常对别人说这句话,有时也能从别人嘴里听到这句话。时间长了,我们便对这句话深信不疑,逐渐形成了心理暗示。可是有时我们能感觉到,你越是反复强调一个观点,就说明这个观点越是可能有问题。比如有人家里生了儿子,贺喜的人常说“恭喜恭喜”,如果生了女儿,就会说“一样一样”。嘴上说一样,可是好像又不太一样。
让我们先离开软件行业,看看别的行业。以时装设计业为例,每次时装发布会,最后出来亮相的都是时装设计师,却从来没有看到裁缝走上T台,与观众见面。你可以说,如果不是裁缝一丝不苟的按照服装设计图,制作出完美的时装,设计师的理念就无法展示给观众。但是,即使是世界最好的裁缝,也无法与设计师同场登台。他们是幕后的英雄。
在摇滚乐圈子里,流传一个非常有名的笑话:“鼓手在离开乐队前说的最后一句话是什么?”。答案是:“我写了几首歌,我们一起来排练一下吧!”。摇滚乐队的核心人物,往往是主唱歌手或者吉他手,鼓手则是默默无闻的。虽然鼓手的重要性对乐队来说不言而喻,但他们的名字却很难被大家记住。鼓手的工作是给乐队提供稳定的节奏,一般不会参与歌曲的创作,一旦当他想涉足创作,便会遭到乐队无情的解雇。当然这只是一个笑话,对鼓手进行调侃,不过却暗示着,鼓手如果想从幕后走到台前,需要付出巨大的代价。
刘少奇主席曾经紧紧握着时传祥的手说:“革命工作只有分工不同,没有高低贵贱之分”。这是一种政治上的辞令,在现实生活里,我们却不得不接受这个骨感的事实,那就是,革命工作即使没有贵贱之分,但是其受到社会的重视程度,也有着巨大的差别。这种重视程度,就是我们通常说的:“重要性”。我们发现各行各业都有这么一个规律:在一个组织里,最受大家重视的工作往往都集中在“做什么?”和“怎么做?”上面,从事此类工作的人站在“台前”,其他人则藏于“幕后”。
现在我们再回到软件行业。严格来说,写代码也属于“幕后”工作,其原理可参考刚才说的裁缝。不过在大部分软件企业,开发团队都会兼任需求分析、系统设计的工作,而这些工作都属于重要的“台前”工作。相比之下,测试的工作目标就非常单纯:“利用最少的资源,尽量多的发现软件的问题、Bug”。这确实是不折不扣的“幕后”工作。虽然不愿意,但是我们不得不承认这个事实:对于软件企业来说,开发比测试更加“重要”。
请大家听到这个观点先别太沮丧,因为在社会舞台上,站在台前的职业毕竟是少数,大多数职业都是幕后功臣。测试工作虽然不像开发那样更容易引起大家的关注,但是测试也为软件工程做出了重要贡献,赢得了软件行业的重视和尊重。作为软件测试的从业人员,早一点看清并且接受这个事实,有助于为自己的职业生涯确定更明确的目标。
一旦选择了软件测试这个职业,就意味着需要做好思想准备,接受测试工作的寂寞,习惯在幕后聆听观众的掌声,忍受被观众遗忘的痛苦。也许有时你能走到台前,但是在大多数时候,舞台很小,没办法站那么多人。如果你无法接受这些,那么,请慎重考虑你的职业选择。
“如果我还是选择做测试,但是我也想能走到台前,可以么?”
这个问题想来很多人都会问到。我觉得答案是非常肯定的:“完全可以!”
这里我想再重复强调一下软件测试的核心价值和终极目标,因为这一直是指导我工作的重要方针,那就是:“用最少的资源,发现最多的软件Bug,最终准确的评估软件的质量是不是合格”。
如果我们想走到台前,有A、B两个方案可以选择:
A、测试工程师通过学习增强自己的综合能力,然后参与“需求分析”、“系统设计”这些台前的工作,注意是“参与”不是“负责”。参与的形式,也要符合刚刚说的测试的“核心价值”,具体来说,就是找出需求和设计中的严重问题,提请项目组尽早修正,问题也必须要提在要害上。我们要努力达到这种效果,测试组提出问题后,项目组纷纷感叹:“多亏测试发现了”、“这个问题提的很犀利”等等。如果提的问题仅仅是文档格式是否规范,那还是不要参与算了。
用这种方式虽然能走到台前,但测试不能代替主角,而只能是配角。如果你觉得主角演的不好,可以用合适的方式告诉主角,而不能越俎代庖演起主角的戏份来。就像那位想写歌的鼓手一样,一旦他越过了那条线,便很难在这个团队立足了。
如果你确实非常想当主角,那就必须放弃现在,重新开始。在实际工作中确实有一些测试工程师改行做产品经理,做程序员,我觉得这很正常,因为他们不甘于做一名寂寞的测试人员,想要在更大的舞台上唱主角。不过,如果测试团队中绝大多数人都要唱主角,那就不太妙了。或者,我们把一些乐于做幕后工作的测试人员逼上台前,也是非常不妥的。
B、虽然在软件工程中,测试属于幕后,但我们仍然可以做到,在测试团队内部,走到台前,影响测试团队的工作方式和思想意识。这并不仅仅是测试管理者的事情,如果你提的意见很靠谱,拿出的方案很科学,能为大家解决实际问题,那么慢慢的,就会走到测试团队的“台前”。
说到这里我想起一个很有意思的事情,我曾经参与一个部门主管会议,会议上一位开发的主管跟上级抱怨,说开发团队不如销售团队更有成就感。我听了以后顿悟,原来,台前和幕后都是相对的,在研发部门中,开发是台前,测试是幕后,可是到了公司层面,销售是台前,研发是幕后。每个人,可以说都同时位于两个舞台上,在小舞台上唱主角,在大舞台上唱配角,当你慢慢变成了大舞台上的主角,你又发现,还有一个更大的舞台。心有多大,舞台就有多大!
最后,我祝愿所有的测试同仁,早日找到属于自己的舞台,并且在舞台上找到属于自己的位置。
2010-6-6 家中