微软的软件测试人员分为两类:测试工具软件开发工程师(Software Development Engineer in Test, 简称SDE/T) 和软件测试工程师(Software Test Engineer,简称STE)。
测试工具软件开发工程师:负责写测试工具代码,并利用测试工具对软件进行测试;或者开发测试工具为软件测试工程师服务。产品开发后的性能测试(Performance Test) 、提交测试(Check-in Test) 等过程,都有可能要用到SDE/T 开发的测试工具。由于SDE/T和SDE 的工作都是写代码,具有相通的地方,所以两者之间互相转换的情况比较多。但需注意的是,两者写出来的代码用途是不一样的,SDE 写的是产品的代码,而SDE/T 写的代码只用于测试产品。
软件测试工程师:负责理解产品的功能要求,然后对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness) ,并写出相应的测试规范和测试用例。除此之外,在一个软件产品的研发和销售过程中,还会需要负责给产品打补丁(Service Pack)的快速修正工程师(Quick Fix Engineer) ,通常曲SDE 来担任,通过电话方式向用户提供售后技术支持的支持工程师(Support Engineer),销售和市场(Sales and Marketing)人员,研究员和研究工程师(Researchers & Research SDE) 。在进行产品开发的时候,主要是由前面三类人员(项目经理、开发人员及测试人员)组成产品开发团队来进行的。在微软内部,软件测试人员与软件开发人员的比率一般为1.5-2.5 左右,这可能远远超出了大家对测试人员的理解,但微软软件开发的实践过程已经证明了这种人员结构的合理性。下图中显示了上述两个产品的微软软件开发人员的一般配置图。
下面以微软Exchange2O0O 和Windows2000 为例介绍一下微软产品团队的人员结构(这里只分析三类主要的人员,即项日经理、开发人员及测试人员),如下表所示。