《精靈寶可夢:Go》帶來的軟件質量啟示
譯文如果您的應用擁有2100萬活躍用戶,且隨時保持在線,那么需要處理的質量難題一定不計其數。為了避免出現嚴重問題,我們將共同探討如何搶先一步搞定體驗保障工作。
《精靈寶可夢:Go》終于上線。這款手游的人氣有多高?很簡單,其已經成為全美有史以來最流行的移動游戲,目前擁有2100萬活躍用戶。
但興奮的玩家們在游戲時卻發現了大量問題。我個人就發現自己無法使用谷歌憑證完成登錄,因為其“無法接入該服務器”。后來雖然登錄完成,但卻由于“GPS連接丟失”而無法捉住身邊的妙蛙種子。網上報告該游戲問題的帖子層出不窮,同時也給出了一些潛在的解決方案。Google Play與iTunes出現了大量用于“修復”該游戲問題并保持玩家順利游玩的相關應用。
我們不禁要問:為什么會有這么多故障?
難道是游戲開發者們沒有為洶涌的玩家做好充分準備?或者,他們沒有測試全部可能用例——包括地理位置、設備、操作系統、硬件等等?
在上線后的頭一周,幾乎每天都會出現《精靈寶可夢:Go》服務器崩潰以及影響人們使用體驗的報告。值得慶幸的是,這些都沒有影響到這款游戲的人氣。目前其開發商Niantic公司已經掌握并修復了多種問題,然而隨著此游戲在更多國家的上線,恐怕他們還要面臨規模更大、強度更為夸張的沖擊。
憑借著對游戲的熱愛,下面我們一起來看應當從中吸取的四項軟件質量保障教訓:
教訓一:你的實際水平由短板決定——測試并監控API
《精靈寶可夢:Go》的核心在于API。無論是登錄應用、識別位置、查看增強現實效果、收集寶可夢小怪物、對戰還是開著游戲街,這一切都依靠著API實現數據與請求傳遞。其中部分API由Niantic公司獨立開發,也有一些屬于流行的公共API——例如谷歌地理API。
然而很多玩家發現游戲無法檢測到GPS位置,或者有時會給出錯誤位置。
相關問題包括:
• API端點可用性
• 響應請求的具體速度
• 載荷的功能正確性
由于整款游戲基于地理位置的正確性與嚴謹性而建立,因此即使是小小的誤差也會影響到用戶體驗。游戲廠商不僅需要在部署之前測試不同API功能,還應當立足不同場景監控API功能的正確性——包括地理位置、設備、操作系統與服務供應商對效果的影響。
教訓二:驗證用戶生成的數據
事實上,《精靈寶可夢:Go》并不是Niantic公司的首款增強現實游戲。早在2011年,他們就曾發布了Ingress的beta版本,其允許用戶在世界各地的標志性建筑及歷史地點收集“門戶位置”。正是憑借著這部分數據,該公司才能夠建立起《精靈寶可夢:Go》中的競技場與寵物商店數據庫。
雖然群眾提供的數據非常龐大,但仍然有可能帶來錯誤的結果。另外,其指向的某些偏僻位置甚至有可能給玩家帶來人身安全風險。誰該對此進行控制?當然是游戲廠商!
教訓三:測試并監控前端
在《精靈寶可夢:Go》這款游戲中,需要由API與GUI相配合以共同完成信息收集,這也意味著對二者進行測試變得非常重要。
前端圖形用戶界面(簡稱GUI)不僅需要API響應,同時亦需要配合設備硬件/傳感器數據。舉例來說,玩家所處地點由基于位置的傳感器GPS提供,而其反過來又會影響到游戲GUI的表現。這意味著測試人員需要利用集成化GUI與API測試工具進行問題分析。
與此同時,要建立起規模化且堅實的自動化測試戰略,我們還需要關注GUI與API層的行為優化。我們以此為基礎建立更多單元測試,而后是API測試,最后完成數量進一步減少的UI測試。
由于游戲廠商有著極為龐大的全球化推廣野心,因此為了在不同區域提供一致的使用體驗,前端錯誤或可用性問題必須得到高度重視。
教訓四:準備好應對一切潛在用戶場景
與任何一款應用一樣,《精靈寶可夢:Go》所面對的用戶也是形形色色。他們來自不同的國家、身處不同地點、利用不同設備訪問應用,但卻希望獲得同樣的性能表現。
事實上根據我的個人經驗,這款游戲在Android設備上非常耗電,我甚至不得不在嘗試了幾天之后選擇將其刪除。
我認為游戲開發商在增強現實游戲領域才剛剛起步,這類應用能夠帶來新的發展方向與潛在可能性,但同時也面臨著種種前所未有的挑戰。第一次嘗試做到這樣已經足夠令人贊嘆,也希望他們能夠在未來繼續積累經驗,真正在軟件質量層面帶來讓每個人滿意的成果。
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
原文標題:4 Software Quality Lessons From Pokemon Go's Wild First Week
原文鏈接:https://dzone.com/articles/4-software-quality-lessons-from-pokemon-gos-wild-f
核子可樂譯