在八月份一個陽光明媚的日子,微軟園區的某棟建築內,一部機器手臂正在點擊 Windows Phone 7 原型機的觸控式螢幕。而另一部機器人——被稱為 Wally——正在測試手機的重力感應器和其他傳感設備。事實上,成千上萬只 Windows Phone 7 手機正在接受各種壓力測試,不單單依靠自動化測試設備,而且還有手工測試。
對於微軟來說,這是一個重大的轉變。在過去,微軟只要保證軟體系統沒有 BUG 就行了,把硬體測試任務扔給製造商和合作夥伴。
“真的感覺到,我們過去的品質控制體系不夠好。所以我們花費了 1500 萬美元購置硬體設備,招收了數百名資深專家,全面優化了測試流程。”Darren Laybourn 說,他是負責手機測試的經理。
為了確保自己能回到智慧手機的戰場,微軟全面強化了測試方法,試圖拿出優異的產品來打動運營商的芳心。
“這就是我要講的故事,一個我們產品如何優秀的故事。”Laybourn 一邊說一遍翻動幻燈片,這些幻燈片曾經給 AT&T 和其他運營商演示過。
可以說,Windows Phone 7 經歷了微軟史上最苛刻的測試,不亞于一個全新版本的 Windows 或 Office。
在 Windows Phone 7 身上,微軟覺得只有投入更多的測試力量才能保證它的速度和穩定性。所以,微軟動用了超過 4500 台實體手機和數以萬計的虛擬手機(模擬器)。要知道,上一代 Windows Mobile 產品只投入了 60 台測試機。
全部加起來,Windows Phone 7 的自動化測試時間是——1000 萬小時。平均下來每天是 2 萬小時。
除了微軟自己,聯手機製造商和電信運營商也參與了這些工作。
點擊這裡觀看測試視頻,還記得嗎,微軟的競爭對手 Google 以前也把 Nexus One 類似的測試視頻放在了 YouTube 上。
時間剛剛好
在 Windows Phone 7 的開發過程中,曾經數次延期,甚至暫停。終於,這孤注一擲的手機作業系統,趕在了今年耶誕節前上市。
Laybourn 說:“真的花了很長時間才走到這一步,我們最終還是踩著時間點拿出了產品。為了滿足上市日期,我們槍斃掉了一些特性,這些特性恐怕是其他手機都具備的。”
為了趕工,支持 CDMA 的計畫不得不推到了明年。
手機在歐洲和美國上市後,雖然得到了許多正面的評論,但微軟仍然保持沉默,不對銷售狀況做任何評價。微軟已經預見到了前方有一場艱苦卓絕的戰鬥等著他。
雖然許多測試是自動化進行的,比如說寫個腳本模擬某種操作。但並非全部測試都能自動化執行。
“我們當然也讓測試者帶著手機去真實的網路環境下做真實的操作。”在今年早些時候,手機外場測試還被人給拍攝下來。
為了監控手機的狀態,微軟開發了一些遠端控制程式——假設手機電池消耗過快,微軟將會收到警告消息。(這個功能在零售版手機上當然是被關掉的)
在剛開始的時候,三星 Taylor 只能續航一個半小時,隨著測試和改進,不斷優化代碼,續航時間加倍,加倍,再加倍。
物理測試也是 Windows Phone 7 的測試內容之一,在軟體代碼初步完成時,微軟開始把各種手機外殼分組進行物理測試。事實上,這是在微軟的歷史上,僅僅是第二次。這是為了抗衡 iPhone 而特地增加的測試工作。
從去年開始,微軟就讓小範圍用戶使用模擬器來偵錯工具,直到今年,才允許用真機調試。針對不同的手機,還有特定的測試項,例如軟鍵盤的聯想功能,在有的手機上是打開,有的手機上的關閉的。
“粗手指”的問題
在剛開始的手,微軟遇到了“粗手指”的問題,就是在螢幕上輸入字元時,使用者的手指可能會出現漂移和錯位。
“我們必須考慮到使用者的這種錯誤輸入,所以要糾正它。”Parthasarathy Sundararajan 說,他是測試組的成員之一。
在不改變鍵盤外觀的情況下,Windows Phone 7 預測最有可能的輸入。例如,用戶輸入了“accordio”,那接下來的一個字元應該是“n”而不是“b”。
Tom Adams 是另一名成員,他一直使用一部 BlackJack 2 手機,他曾經對軟鍵盤持懷疑態度。但現在他已經再也不需要硬鍵盤的手機了。他說如果可能的話,會說服妻子一起來使用觸控式螢幕手機。
“我妻子的手機是帶鍵盤的,但我非常好奇她是否習慣軟鍵盤。”
微軟甚至還研究各種手機鍵盤被按下的聲音,他們對比了許多手機,一遍又一遍地重複體驗那些聲音。最終選擇一種最佳方案。
微軟對測試工作的投入,讓 Windows Phone 7 的品質遠超它的前輩。這對手機製造商也很有好處,製造商只需要在微軟的原型機上稍微改動一點就夠了。實際上,微軟已經嚴格控制了晶片,螢幕,甚至 UI ,留給製造商發揮的餘地很小。
微軟希望這些規格化的產品,能讓開發者更容易開發協力廠商程式,而且能確保任何程式在每一款 Windows Phone 7 上都完美運行。
“Android 不能給開發者承諾這些,而我們可以。”Laybourn最後說到。