纵向来看,由于Windows开发团队的规模宏大,使得他们的组织一定要分层,分级的。最高层的build就是在市面上发布的build,而每一个部门都会有自己单独的build。平时的开发和bug fix都是在自己的build中来进行的,经过测试人员的sign off才能传送到上一级的build。而一般来说,都是分3或4级的。也就是说,每一级的build你都需要进行测试,而每一级一般每天都会出一个新的build。那么最多每天你需要测试4个build,大家想想,如果不采用自动化,只是纯手工的方式,如何能够完成呢?而实际上,Windows聘用了大量的外包人员,他们专门安装每天出的新build,并且运行测试人员的自动化测试程序,然后把测试报告发布出去。而测试人员得到报告以后,要分析任何的测试错误,进行相应的处理。一般来说,错误分三种,测试环境的问题,测试程序的问题,产品的问题。测试环境的问题要外包人员来负责,测试程序的问题要报测试的bug,自己解决。产品的问题,当然就要报产品的bug由开发人员来解决了。这种模式就使得测试人员能够把测试的开发和运行分离开来,使得测试人员能够专注于测试的开发工作,也就是说测试人员大部分的时候是在coding中。这也是为什么微软的测试人员title是SDET(software development engineer in test), 也就是说微软的测试人员本质上就是开发人员。