背景资料:李敏,2005年开始在微软实习,半年后研究生毕业成为正式员工,先后经历了System Center Configuration Manager 2007以及SP1、R2的发布,测试的领域涉及UI测试、AMT feature和安全测试等。这篇博客,是她想分享给大家的一些体会和故事,一来给不熟悉测试工作的读者描绘一下在微软当软件测试开发工程师是怎么回事情,二来“揭秘”一下微软的职业发展体制 ——
2005年的秋天,李敏还在上海交通大学念研究生,还有半年就要毕业了。一天,同学发了个链接给她,是微软在上海招聘实习生的消息,职位的名称叫做软件测试开发工程师(Software Development Engineer in Test,简称SDET),这个职位对学生来说还是个新鲜玩意儿,没几个人清楚具体情况,在好奇心的驱动和微软的吸引力之下,她投出了简历。接着她经历了传说中的微软“五轮面试”,走出美罗大厦的时候已是下午一点,时至今日她对这个时刻的印象只有两个:饥肠辘辘,大脑高速运转。经过一周的焦急等待之后,她同时收到了SDET实习生和正式员工的offer,所在的组是System Management Server(也就是System Center Configuration Manager 2007的上一个版本)。
测试初体验三、谁说软件测试开发工程师不用写代码了?
微软早年也设有只做手工测试而不写代码的职位,称为STE(Software Testing Engineer)。现在所有的测试工程师的职位都叫做SDET(Software Development Engineer in Test),从名字可以看出来,需要具备编程能力,这些编程工作是为了更好地做测试。
转眼间,一年过去了,李敏从上海的服务器与开发工具事业部老大谢恩伟的手中接过了一周年的水晶纪念碑,按照惯例还请大家吃了一磅的M&M巧克力。2007年秋天,她所在的团队发布了System Center Configuration Manager 2007。在这段时间里,她亲身体验了微软给员工提供的多种多样的成长帮助:
公司还提供了系统的专业知识培训。半年内,她先后参加了New SDET in Microsoft、Test Automation等培训,这些都是测试工作的基础知识。说起“修行在自身”,公司MyLearning网站上有不少测试专题,比如性能测试、代码覆盖率研究和安全测试等;这个网站有无数的在线课程录像,在这里可以学习其他员工的知识和经验,帮助自己更好地做测试工作;近期即将进行的技术讲座、培训、会议等也会在这里公布,热门专题一定要早点去注册“占座”,否则就没位子了。另外,她还发现了一个非常棒的资源MSLibrary,那里有无比丰富的技术书籍、新闻杂志和研究论文等。公司还投资了一系列的综合能力培训,为员工提供从各方面提升“软”技能的平台:有些培训是语言方面的,比如觉得英文不够好的可以去上课,老外来到中国也可以学中文;还有一些是教你“怎么说话”的,比如告诉你怎么精准提问、精准回答,怎样做演讲,怎样去沟通得到大家都想要的结果;还有一些教你“怎么思考”,比如创新思考,不同情况下的思考方式等。这些培训很实用,一般学完了就可以运用到实际工作和生活中。
再后来,李敏对安全测试的兴趣日渐浓厚,她根据自己的发展需求和兴趣找了美国这方面的“大牛”来做Mentor,渐渐地在System Center Configuration Manager 2007 SP1中挑起了做安全测试的担子。她还在上海的服务器与开发工具事业部中组建了一个跨产品组的虚拟团队,一方面带领团队成员学习安全知识和安全开发流程,另一方面积极向各个产品组推广实施安全开发流程的最佳实践经验。虚拟团队的成员来自各个不同的产品组,能花在安全方面的时间都是“工作之余”,要带领这个团队凝聚力量朝一个目标努力是并不容易的事情。最初组建团队的时候,她会用自己对安全方面的热情感染其他有兴趣的人,接着用事例让大家认识到安全对于微软产品真的很重要,而且安全方面的知识对于长期的职业发展也很有帮助,就这样“招募”到了团队的最初几个核心成员。接下来就是确定这个组的远景、使命和活动计划,她先提出了一个草案然后组织大家一起讨论,经过一番“激烈”辩论、修正大家达成了共识。其实,最大的困难还是来自于按照计划一步一步地开展活动,在团队成员兴趣减退的时候,需要振作士气让大家重新记起“最初的梦想”;在一些成员特别忙的时候,需要灵活修改计划,让他们能两头兼顾;另外还要考虑怎样能够更好地把安全意识和最佳实践经验传递给所有员工,比如会选择技术讲座、安全知识简报和展示等多种宣传方式。在这个过程中,李敏学到了很多东西,尤其是“influence without authority”的领导方式,通过影响来带动别人,而不是通过上下级的权威去要求别人。
此时,她对微软的职业发展也有了更加深刻的认识:
职业发展体验二、微软的职业发展道路为不断挑战自己的人而设计
关于员工的职业发展,年中的时候会专门有一个关于职业发展的讨论(Mid-Year Career Discussion,在公司内部内部简称MYCD)。经理会和员工一对一坐在一起,评估员工现在所处的发展阶段、能力水平等,讨论员工的未来三到五年的职业发展规划,然后进一步制定实施计划。微软给员工的职业发展道路也比较灵活,总体上有个人贡献者(Individual Contributor,简称IC)和管理(Management)两条职业发展轨迹。
这个测试经理的回答原文节选:
“If feature team needed, test team should do whatever they are capable of doing to help feature team deliver the commitment including: doing a PM job in helping feature spec, doing a dev job helping dev unit test, or even fixing bugs, or UA job writing doc..etc. When/how test team need to cross the discipline boundary is something feature team should decide and agree on based on their needs and priority”
群:
职位: SDET, 工作地:深圳
联系方式:[email=Mail to: hrwelcome@live.cn [/email] MSN:hrwelcome@live.cn
1. Must have solid foundation of software developing with C#/c++/Java for 3+ years;
2. Best to have 1+ years of experience in functional testing;
3. Best to be familiar with various testing phases and methodologies;
4. Best to have experience in writing automated test scripts;
5. Knowledge of Internet related technologies and web-services is a must;
6. Best to be able to understand and translate functional requirements/specifications into test cases;
7. Best to be able to develop own test cases from functional specifications;
8. Excellent problem solving skills;
9. Strong communication skills;
10. Good English skills.
1. Help to impove the whole team automation skill level.
2. Drive testing activities (manual&automated) for projects and pre-defined areas of ownership;
3. Writing test plans and holds review (also other recurrent test meetings) with client;
4. Daily summarize and report the project status.
1. Big Picture: USA online travel system.
2. Our Team: Web based (UI&Functional) test.