我们都知道微软的测试人员叫SDET(Software Development Engineer in Test),其人员的能力都是非常强的,其实微软以前也是有STE(Software Test Engineer),但后来由于种种原因在微软抛弃了这种职位(一个是名称,还有就是自动化,这种职位的人员debugging能力有限,还有工作内容变化等)。但是不管怎样,在微软内部对SDET的能力培养总是不可缺少的,这一方面给测试人员有一种压力,另一方面也给测试人员对未来的一种渴望。现大概了解下微软是怎么来培养一个新的测试人员的:
这是从个人贡献度(在微软叫IC, individual contributor, 也就是我们经常说的技术专家)来考虑:
0-2年内:
1. 作为一个新的Tester,学习测试设计方法
2. 实现测试自动化
3. 具备Debugging能力
4. 学会 Model Based Testing
5. 选择性的学习一些course
2-5年内:
学习一些自己感兴趣的一些技术(设计模式,SQL Server,C#,C++, 协议,其他)
5-10年内:
成为Senior Tester
如果从测试管理角度来看,其实前面几年2-3年都是一样的,后面如果可以的话,可以作为new test lead, 然后学习一些管理课程,再后面就是new test manager。
可以看到,在微软也是一样,都会提供两条路,一个是管理路线,一个是专业技术路线。这里要说的是在微软测试人员和开发人员在职业发展上拥有同样的机会。
相信大家都听说过测试架构师,在微软也有测试架构师,但不同的是测试架构师是个角色,不是个职位。目前为止微软共有10000名Tester,只有40位测试架构师。
大概说下测试架构师一般在干啥,有开发testing infrastructure, testing authoring frameworks, 有评估一些能创造复杂测试的一些特性,有些是在大部门内负责一些特定的技术,有些是专门提供咨询怎样提高测试效率。当然一些共同和主要的责任就是为他们部门提供技术的领导力和测试策略的方向性。这也要求测试架构师不仅在测试领域,而且在开发和管理方面都要有提高效率的能力。
下面主要说下IC Tester 的职业发展路径,最开始就是SDET 1 也可说是 IC 1。到最高是 Partner SDET (IC 6), 这些级别之间的不同主要在技术深度,技术广度,影响力范围。
SDET的职业发展阶段
阶段职位名称 |
SDET |
SDET 2 |
Senior SDET |
Principal SDET |
Partner SDET |
对客户的影响力 |
定位用户的期望,考虑产品集成,还有设计特定的场景和UC |
实施与用户进行技术的交流,并提高用户与部门之间的交互性 |
负责让高级用户理解整个产品线并提高产品设计 |
||
对测试的影响力 |
搞清楚一些模糊的需求和特性 |
在提高测试文档和技术设计上提供关键性的建议 |
确定一个能在未来发现多bug的设计模式 |
在一个产品领域,领导在测试方法和技术上的创新 |
在整个产品线领域,领导在测试方法和技术上的创新 |
解释下在微软产品和产品线的概念,比如 office 里面的word是个产品,那整个office就是个产品线。
IC的职业发展并不是在Partner SDET上就停止了,但在测试领域的确是这样,不过Partner SDET却是VP的候选人之一。所以大家应该有信心进入高层的。
如上都是从技术方向分析了测试人员在微软的发展道路,已经决定了职业发展方向的同学,你还在哪些方面有差距呢?后面会介绍从测试管理方向来看微软是怎样看测试管理的发展的。