大揭密:微軟自己如何測試Windows Vista
Vista版本不斷翻新,那么除了外部測試用戶,微軟自己是如何完成測試的?相信這也是讀者非常感興趣的話題,來自BetaNews作者Nate Mook 和 Tim Conneally的文章,為大家探幽解密,相信對您未來選購新的操作系統有所幫助.
當你在閱讀這篇文章的時候,世界上有數萬名外部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進行'吃狗食'的測試.雖然公司董事會至今還沒有批準這一請求!”