自動化并非“萬金油” 四點原因難用于游戲領域
冒著被噴的風險,筆者嘗試著回答一個問題,即為什么在傳統軟件測試中大行其道的自動化測試會在游戲測試領域中出現水土不服呢?筆者并不反對自動化測試,甚至非常支持,也進行過一點點嘗試。筆者只是認為大規模的自動化測試并不適用于游戲測試領域。
在正式開始之前,筆者繼續給諸君講述一個真實的小故事。筆者的一個大學同學移民澳洲了,在一次他回國后的同學聚會中,他跟筆者說在澳洲看到了一臺特牛x的設備,這個設備可以自動的把廢舊的電纜剝開,從而獲取其中的銅線,效率非常高,問問筆者是否國內有需求,如果有可以引進到國內。當時我默默一笑,說這設備確實好,高效環保,但是不適合當前國情,估計沒人會買,國內的做法是直接雇幾個農閑時的村民,拿小刀直接割開電纜的外皮。方法土效率低,但是成本非常低。對比高端的自動化設備,大家覺得老板們會選哪種呢?要知道一臺設備的成本可不僅僅是設備本身,還有后期的保養、維修、用電等等。
有時候我們看問題還得跳出問題本身,尋求問題的根源,一件事物在當前階段的存在必然有其內在的因素或不得已。
好,扯遠了,我們回到開篇的問題,到底有哪些因素促使自動化測試在游戲行業(不僅是國內,包含歐美大廠)出現水土不服呢?筆者結合自身在傳統軟件與游戲行業的親身經驗,來跟大家一起分析一下。
一,成本問題。
首先我們來談一談錢這個很俗的事,一個團隊要不要做自動化測試,首先要考慮的可能不是技術方案而是我們可以投放到質量上的錢有多少。成本主要來源于2各方面,一是自動化測試工程師的人力成本,二是實現自動化測試開發和維護的時間成本。這兩方面的成本都會最終折算成錢體現在項目總成本上。
一名自動化測試工程師的人力成本基本上等價于2-4名普通的黑盒測試工程師,而在游戲項目中,黑盒測試工程師是不可或缺的(至于原因,我們下面再講),也就是說自動化測試工程師是額外投入的成本。投入的少,基本不起作用,投入的多,項目成本能不能扛得住也是個問題,尤其是對很多創業團隊而言。
另一個層面,自動化腳本的開發需要與程序和策劃有深度交互,這種深度交互會耗費其他人員非常多的時間,從而影響了其他人的工作進度,進而影響整個項目的進度。這一點是經常容易被忽視的一個成本。
二,游戲的感官特征。
游戲是感官性非常高的一類軟件,與視覺,聽覺,感覺有直接關系,這點與傳統軟件差別較大。測試過程中需要人去直觀的去體驗,比如圖標位置,音頻是否合適,關卡玩起來是不是流暢等等,這些是自動化測試無法替代的,也是上面說的黑盒測試在游戲項目中不可或缺的原因。
三,迭代速度。
游戲的迭代速度相比傳統軟件要更加快速,尤其是手游行業。一周一個甚至幾個版本都是正常現象。在這種迭代速度下,自動化測試顯然很難跟得上項目進度,很有可能一個功能已經上線了,自動化腳本開發還沒有完成。面對這種時間上的不匹配,很多事情變成然并卵了,自動化測試的作用也就相對被拉低了。
四,需求變更速度。
在游戲行業,需求變更的頻度遠遠超過傳統軟件行業。原因有很多,列舉幾點:一是市場變化太快,二是很多設計需要反反復復的驗證才能確定哪種體驗更好一些,三是移動互聯網時代產品與用戶的反饋時間被縮短,四是游戲功能之間的耦合度非常高,開發過程中某些功能的設計會導致其他功能變的不再適用,必須進行重新設計。
那么問題來了,需求變更如此頻繁,自動化測試怎么適應?可能昨天寫的腳本,今天發現就全廢了。目前筆者還沒想到很好的解決方案,歡迎大家一起探討。
結合上面的幾點,筆者并不認為全面的大規模的自動化測試適用于游戲測試領域,尤其是手游領域。可能小規?;蚓植孔詣踊瘻y試還值得嘗試一下,比如服務端的自動化測試(服務端變更相對不頻繁,與人為感官聯系不大,邏輯性代碼較多)。
自動化測試是一劑很好的方藥,對某些病癥有很好的療效,但不能被看作是包治百病的大力丸,吃錯了,也會死人的。
文章版權歸西部工控xbgk所有,未經許可不得轉載。