< 返回
微软cio谈微软的beta测试

当你在阅读这篇文章的时候,世界上有数万名外部beta测试用户正在检验最新的微软软件.但是,很少有用户能够想到,这家软件巨头拥有的最大试验对象,其实就是它自己.在某个软件的最终正式版本发布的很久很久以前,微软公司在内部就已经开始对它进行使用测试了.微软公司将这种测试的工序戏称为“吃自己做的狗食(eating its own dog food)”.

最近,我们非常有幸地采访到了微软的首席信息官员(cio)ron markezich先生,这位常常被称为“微软终极beta测试者”的神奇人物.他将和我们一起,带领诸位读者深入了解一下微软公司是怎样通过“吃自己做的狗食”,来最终塑造好全球每天有数亿用户都在使用的常用软件的.

作为微软公司的cio,markezich先生领导着微软公司的it部门.这个部门要负责管理微软那由遍布全球超过63000名雇员所支持的庞大组织结构.也许更为重要的是,他的团队要在软件产品的研发中扮演一个至关重要的角色,他们需要在微软软件产品完成前,就不断地试用它,尽力去发现软件中所存在的错误,并向开发团队提供意见反馈.

要想找到个人电脑用户来测试像 windows vista 之类的软件,这非常的容易;即便是google也经常将自己的软件作为测试版本向用户推出.但是在商业领域,情形就完全不一样了.商业公司要求自己所依赖的软件系统必须在任何恶劣的环境下都运转良好,软件中所潜在的任何微小瑕疵,都有可能导致巨大的经济损失.

为了走出这种困境,微软曾经试图通过发布“体验版(go live)”的授权,来鼓励自己的商业客户安装处于测试阶段的企业软件.但是,其后的结果让微软明白了一个道理:“如果你想要理直气壮地向自己的客户推销一个新款的软件,唯一的方法便是在它初次发布前,就先在自己公司的内部广泛地进行试用.”

这个事件是在微软推出exchange server 2000时发生的.markezich先生回忆,当时微软公司在自己内部服务器上都还没有全面部署这个软件,就正式将它出售给了商业顾客.结果带来的却是彻彻底底的一个恶梦:微软的顾客经历了每一个beta测试者都会经历的无数软件问题,变得非常的愤怒;而微软公司则不得不在仓促之间推出了无数的软件补丁.

markezich先生解释到:“在这件事之后,我们就发誓,除非我们已经在微软自己的生意上运行某一件软件产品了,否则我们就不会将这件产品卖给自己的企业客户.”从那时起,“吃狗食”计划就扩展到了各种各样的微软产品之上,一直到它现在成为了一个产品在最终发布前所必须经历的质量检测程序.

markezich先生说:“我们不光是想参与到软件的beta版本的测试当中,同时我们也会参与到软件产品的计划、设计、生产需求,乃至其整个产品生命周期的方方面面,在每个阶段都对软件的生产部门给予反馈.”

不像一名典型的beta测试者,markezich的团队在新产品发布问题上经常摇摆不定.事实上,作为“吃狗食”程序的一部分,他有权力推迟某个软件产品正式投入生产(rtm)的时间,如果该软件产品不能符合开发团队先前所定下的目标和期望的话.

“如果在某一个阶段,我们没有达到这个阶段所预定的目标,我们将不会允许这个产品的开发团队进入到下一个阶段,这都是为了最终产品能够正式投产.如果我们无法在软件正式发布前的一年,甚至是一年半到两年,就达到正式投产时所需要的标准,我们就不会允许这个产品按时投入市场.”markezich先生说.

谈到windows vista,markezich先生和我们分享了微软对vista的部分商业导向功能的期望,其中包括bitlocker、企业搜索、强力用户身份验证、网络连接保护等等.

他还补充到“这个检测体系是软件开发团队的延伸;在每件产品正式发布前,我们都要为它的质量作出担保,并签上自己的大名.”

“吃狗食”程序开始于软件的开发团队,他们需要在软件的alpha阶段对软件进行试用;然后,项目负责人会通过微软公司的内部广告和知识竞赛来邀请志愿者加入beta版本的测试.一段时间后,你就可以发现在微软公司内部有着无数的员工正在试用这些“发布前版本”软件了.

曾经在windows xp service pack 2进行内部测试时,微软公司内有超过60000台电脑运行着这一系统.markezich希望在vista正式发布前,至少有同样数目的电脑在测试vista.根据 markezich统计,至今年6月中旬,微软内部有超过16000名的windows vista beta 2 测试者,以及25000名office 2007 beta 2的测试者.

“每一件产品,我们都有一个专门的团队在负责管理它的测试过程.”markezich先生说.“当我们开始vista beta 2的测试时,我们会冲到走廊上大声地喊:嘿!伙计们,快来抢新出炉的vista beta 2!这个工作的角色一半像是传教士,你要召唤大家来试用新的产品;而另一半却像传声筒,你需要给产品的开发团队收集和整理反馈信息--最终,我们将会决定究竟是哪一个版本的软件会正式投向市场.”

一般来讲,一个软件产品从最初的 alpha 阶段到最终正式生产(rtm),会经历8个不同阶段的测试.然后,在最终正式生产后,微软公司还将全面的在公司内部部署这个软件产品.

虽然现在markezich监督数量巨大的微软产品同时进行“吃狗食”的检测,但他还是处理的有条不紊.除了前面提到的vista和office外,现在还有在exchange 12上运行的6000个电子邮箱,以及超过30个运行着longhorn servers的网络服务器.

有1000名微软的员工正在运行公司代号“石弓(crossbow)”的下一代windows mobile操作系统,同时还有7000台原名“systems management server v4”,现在改名叫“system center configuration manager 2007”的系统正在运行.此外,还有超过3000台运行着下一代“ microsoft operations manager ”的电脑也正在部署之中.

当我们请求他详细解释一下微软公司从“吃狗食”计划中所获得了什么好处的时候,markezich先生的目光一下变得兴奋了起来.他说,他的团队不光是在保证微软产品拥有最好质量的方面起到了至关重要的作用,微软公司自身也能够在第一时间就使用上最新最好的软件了.

“曾经在我们推出 exchange 2003 的时候,我通过吃狗食测试,将运行着老版本exchange的74台服务器,消减到了7台运行着新版exchange的服务器.现在,我只需要4台运行着最新版本的exchange服务器,就可以完成以前同样的工作了.”markezich先生解释到,“因此,事实上,我吃狗食,意味着我将以最快的速度在新软件上获取最多的好处.”

“我发现,我的员工和顾客最满意的时候,都是那些我们最强调吃狗食测试的时候.”他强调说,“坦白说,当一个雇员发现了一个问题时,我们会非常的高兴--只要这是发生在rtm之前.”

由于对exchange、office和vista产品进行“吃狗食”检测带来了显著的效果,微软公司开始着手推广它名为“7×24促进”的活动.微软声称,只要它的员工能够使用这些软件产品24个月,就能够总共为公司节省700万小时的生产时间. markezich笑着表示公司的官方估计还是太过于谦虚,这个结论至少还少算了1000万个小时.

但是,markezich也承认,当你试图去推动那些有自己日常任务需要完成的公司员工来搜寻潜在的软件bug时,事情也不总是会那么地顺利.

“很多时候,作为公司的cio,你都会接到某个愤怒的员工向你大声投诉.他会向你大声地吼叫:你们的人他妈的害死我了!我本来要向客户做产品介绍的,就是因为这个该死的新软件出了问题,我就什么也做不了了!每当这个时候,我们就只好安慰他们:你其实通过这件事为公司创造了更多的价值,这些价值比你能够从那个客户身上所创造的要多得多.因为你找到了一个潜在的问题,提高了产品的质量,从而使千万个其它顾客在未来不会遭遇到同样的问题了.”

当谈到未来的规划时,markezich预计会有越来越多的产品会在微软内部进行“吃狗食”的测试.并且,他还表示在要求苛刻的商业应用上使用beta软件,其实是非常物超所值的.

最后,他幽默地说到:“我非常急切地等待着有一天我们能够对xbox进行吃狗食的测试.虽然公司董事会至今还没有批准这一请求!”