软件测试工程师真的低人一等么?从薪资待遇上,很多大公司都开了大价钱招募测试工程师,从这个程度上应该改变了现状了,但是很多公司还是抱怨找不到人。
请看微软工程师的观点。
(1)Francis:卓越的软件企业一定会确保测试团队人力资源及水平
Francis Zhou 毕业于加州大学系统圣克鲁斯分校。他于2000年加入微软,曾在总部先后担任软件开发测试工程师及测试组长等职务,参与了Windows XP及Windows Presentation Foundation的开发。2005年初他正式加入微软亚洲工程院并先后参与了TTS, Microsoft Speech Server, ActiveSync, GamesUX等项目的开发及测试。他现任测试经理,主管游戏平台及移动平台多媒体软件的测试开发。
我会从一个职业软件管理人员的角度分析一下测试人员到底是不是“一金难求”。
单从微软中国研发集团招聘数据统计来看,我们每年对软件测试工程师(SDET)和软件开发工程师(SDE)的数量需求基本相等,但SDET总是供不应求。其中原因固然有业界对测试工作的偏见而导致的软件工程师偏重开发而回避测试,但最大的原因还是因为市场上缺少同时具备良好测试及开发能力的工程师。两种原因合在一起导致了合格的软件开发测试人员的严重短缺。
一个良好的测试工程师需要从很多不同的角度考虑问题,在尽量广度覆盖的同时还要拥有深入调查研究问题的能力。而其深入调查研究问题能力 不亚于甚至要超过软件开发人员。可以说,一个SDET比起与其技术水平相当的SDE对产品有可能作出更大贡献,从而帮助他在事业上有更迅速的发展。
就像开发人员有不同水平一样,测试人员之间也存在着很大的区别。一个会设计测试计划、会开发测试自动化软件、会debug、会调查研究问题的测试人员是非常宝贵的,而且往往难以取代。测试团队的不完善会影响产品质量以及其开发过程,从而导致产品不能如期发布或存在严重缺陷。所以卓越的软件企业管理人一定会确保测试团队人力资源及水平。根据以上的事实,测试人员到底是“打杂”还是“一金难求”就不难判断了。
(2)刘俐:环境造成测试人员低人一等这样的看法
刘俐,软件测试开发工程师,微软亚洲工程院测试组,三年软件测试经验,现从事Microsoft Adcenter相关项目的测试工作
这是个经常被人说起的话题。到底测试人员是为程序员打杂的还是一金难求的国内软件行业的特殊人才?
个人认为,测试工程师是一个对专业技术和自身素质都有一定要求的职业。一个优秀的软件测试工程师无论在何处都是一金难求的。以我所在的微软亚洲工程院为例,我们的测试工程师需要和开发工程师,规程经理一起合作,从产品定义(product definition)到产品开发(product development)再到产品维护(product servicing),在整个产品生命周期中,不断贡献各种建议、测试文档以及测试数据。在这样一个开发团队中,测试工程师的地位和开发工程师,规程经理是一样的——是软件开发团队中不可或缺的部分。
正因为测试工程师与开发工程师的同等重要性,使得软件测试开发工程师(SDET)和开发工程师的录用标准基本类似,但是由于外界长久以来的“不平等”观点,左右了很多软件开发人员的选择:大部分人更乐意成为软件开发工程师。这也就出现了所谓的软件测试工程师“一金难求”的现象。
但同时,作为一个优秀的测试工程师,他应该具备与开发工程师相类似的软件开发知识和技能,对被测试的软件产品架构和所使用的技术了如指掌,同时还要有足够的热情和动力,凭借积累的测试经验,去寻找并指出产品中存在的漏洞。如果说以上这些还仅仅是对测试工程师工作要求的简单描述,我们可以看到这样的能够帮助产品开发团队寻找到重要缺陷的工程师永远都会是一金难求的。
对于测试人员低人一等这样的看法,我认为是由环境造成的。在微软公司,我们营造的是测试和开发同等重要的环境。一个软件测试开发工程师(SDET)一般会与开发工程师配合工作,负责开发相应产品模块的自动化测试工具以及测试用例。当然,必须承认,微软公司也一样有很多项目是需要一些具有简单技能的测试人员帮助运行手工测试的。而对于这些测试人员,我并不认为是“低人一等”,而是测试行业的“初级工作”。如同初级开发人员只负责编写一些简单逻辑的模块一样,测试工程师的简单工作不应被大家诟病或者轻视的。同时,只要这些测试人员愿意,他们完全可以在工作中不断成长,最终成为一个优秀的经验丰富的测试人员。