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