戰(zhàn)艦世界|熱補(bǔ)?。簻y試與錯誤修正
所有的消息全都來自于官網(wǎng)。
內(nèi)容太長,崩崩就不一一解讀了,不過里面有樣?xùn)|西挺有意思:

所以你們懂了沒有,本來還以為老八的炮聲是WG單獨(dú)做出來的,原來就特么的是一個BUG,而且為了這個BUG,玩家甚至愿意付費(fèi)三萬鋼。
還記得之前直播的時候,有粉絲問我我的老八炮聲為什么和別的船差不多,合著不是我出了BUG,而是我壓根就沒出BUG(當(dāng)然也有可能是我配置比較低的原因)。
本篇專欄的主要內(nèi)容是WG研發(fā)團(tuán)隊(duì)針對BUG的處理方式,有興趣的可以讀一讀。


電玩玩家們都曾碰過程序錯誤。
自從游戲產(chǎn)業(yè)出現(xiàn)以來,這些類型的錯誤就一直困擾著玩家。 我們對其已經(jīng)習(xí)以為常,并不那么友好地稱之為「Bug」(錯誤)。 錯誤無處不在,《戰(zhàn)艦世界》也不例外。 我們的產(chǎn)品包含數(shù)百萬行不斷更新的代碼、大量的內(nèi)容,以及玩家電腦和游戲服務(wù)器之間復(fù)雜的交互系統(tǒng)。 這些都衍生出大量的關(guān)聯(lián),其中可能發(fā)生錯誤。 今天,您將了解我們?nèi)绾螠p少主服務(wù)器的錯誤數(shù)量,以及我們?nèi)绾涡拚切┍缓雎缘腻e誤。

什么是錯誤?
大多數(shù)游戲玩家可能都很熟悉錯誤一詞。
錯誤指的是程序運(yùn)作的實(shí)際結(jié)果與預(yù)期結(jié)果不同。
在游戲早期,我們把錯誤分為兩大類:游戲內(nèi)容中的錯誤和代碼中的錯誤。 如今的錯誤類型更加多元。

如何進(jìn)行測試?
品質(zhì)保證(QA)團(tuán)隊(duì)負(fù)責(zé)找出和修正《戰(zhàn)艦世界》中的錯誤。
《戰(zhàn)艦世界》大多數(shù)開發(fā)團(tuán)隊(duì)都設(shè)有QA部門。 例如:
內(nèi)容:檢查模型、聲音、視效和其他內(nèi)容。
游戲邏輯:檢查游戲機(jī)制是否正常運(yùn)作。
服務(wù)器核心:檢查游戲服務(wù)器是否正常運(yùn)作。
QA 的工作是了解特定事物在游戲中的實(shí)行方式。 為此,他們研究文件并與開發(fā)人員溝通。 之后,他們開發(fā)測試流程和計(jì)劃,以檢查程序是否按預(yù)期運(yùn)作。
測試程序時會進(jìn)行負(fù)面與正面測試:
正面測試采用的場景,與程序的正常和預(yù)期行為一致。 例如,檢查用戶在輸入正確密碼后是否能進(jìn)入游戲客戶端。
負(fù)面測試指的則是刻意進(jìn)行錯誤的操作(異常場景)。 例如,檢查在輸入錯誤密碼或不輸入密碼后,是否能登錄游戲客戶端。
若有必要,還將進(jìn)行其他類型的檢查:性能測試、用戶親和性測試等。
在《戰(zhàn)艦世界》中,測試可以簡化為數(shù)個主要階段。
內(nèi)部測試:
在功能創(chuàng)建的所有階段進(jìn)行各種類型的功能測試,例如:
構(gòu)思
設(shè)計(jì)
開發(fā)
整合測試,即檢查游戲的所有個別部件在結(jié)合起來及并入主要游戲代碼之后,是否能正常運(yùn)作。
在進(jìn)行外部測試之前測試整合后的版本是否存在明顯缺陷。
建置是游戲客戶端的某個版本,可用于測試。
像《戰(zhàn)艦世界》這樣的大型計(jì)劃,即便是最大規(guī)模的 QA 團(tuán)隊(duì),也不可能完全追蹤所有關(guān)聯(lián)及結(jié)果。
因此,外部測試的展開會與內(nèi)部測試的最終階段同時進(jìn)行:
由小部分志愿者測試游戲的釋出前建置(超級測試和公會測試)。
開放給所有玩家的公開測試。
外部測試也讓我們能在各種類型的軟硬件配置上,測試游戲的運(yùn)作。
《戰(zhàn)艦世界》開發(fā)團(tuán)隊(duì)也參與外部測試。 我們在工作室中有個叫做紅綠燈的機(jī)制。 所有團(tuán)隊(duì)在公測服務(wù)器上游玩后,會在這個特殊頁面中提出反饋。 在此頁面中,工作人員可以就每個新測試版本的內(nèi)容給予反饋和進(jìn)行評估,以在總結(jié)測試結(jié)果時納入考量。
我們根據(jù)外部測試的結(jié)果,修正當(dāng)前游戲建置最后一批找出的錯誤。 若無法修正錯誤,我們甚至可能會從來臨版本更新中移除某些內(nèi)容。
0.10.9 版本更新的非對稱戰(zhàn)斗便是一個例子。 公開測試階段中發(fā)現(xiàn)了某個錯誤,該錯誤導(dǎo)致此模式無法正常運(yùn)作,需要額外的時間來修正。 因此,我們從該版本更新中移除了這個模式。

錯誤的發(fā)生
為什么正式服務(wù)器會出現(xiàn)錯誤? 錯誤會出現(xiàn)有各種原因,且發(fā)生在不同的開發(fā)階段。 常見錯誤包括代碼錯誤和人為因素,較不明顯的交互和錯誤則發(fā)生在為新版本建立設(shè)計(jì)文件的階段。
錯誤也可能早在構(gòu)想階段就存在了,且仍會被視為錯誤。
例如,航空母艦航空中隊(duì)在被攻擊后會立即開啟暫時不受傷害的機(jī)制,早先可以用來克服敵人的防空區(qū),也可以歸結(jié)為錯誤。 在航空母艦更新的設(shè)計(jì)階段,我們未能預(yù)見這種特殊的使用機(jī)制,該錯誤后來獲得修正。
為避免類似情況,我們盡量在討論新構(gòu)想的階段就開始測試。
此外,由于游戲中存在各種相互關(guān)聯(lián)和沖突,在獨(dú)立情況下完美運(yùn)作的游戲元素在與其他元素結(jié)合時可能會「故障」。
例如,在排名戰(zhàn)更新的一次內(nèi)部測試中,我們發(fā)現(xiàn)它導(dǎo)致公會戰(zhàn)斗的運(yùn)作出現(xiàn)錯誤 — 因?yàn)榕鋵r間無限長,導(dǎo)致玩家無法開始戰(zhàn)斗。 造成這種情況的起因關(guān)聯(lián)并不明顯,但還好被發(fā)現(xiàn)了,并未影響到正式服務(wù)器。
導(dǎo)致錯誤的另一個原因 — 這相當(dāng)難以追蹤 — 是玩家們電腦配置的巨大差異,再加上復(fù)雜的客戶端與服務(wù)器架構(gòu),可能導(dǎo)致游戲代碼在某些電腦上不能正常運(yùn)作。
例如在某個版本更新中,由于日本的日期格式與歐洲或美國使用的格式不同,游戲代碼無法處理這些信息,導(dǎo)致某些玩家的戰(zhàn)后統(tǒng)計(jì)畫面無法顯示。
玩家認(rèn)為是錯誤的有時可能不是錯誤,因?yàn)橥婕铱吹降某绦蛐袨閷?shí)際上是預(yù)期的結(jié)果。 在這類情況下,重要的是分析玩家的反饋,并在可能的情況下做出更動。 反之亦然 — 錯誤有時會成為游戲的一部分,我們可能因此刻意不進(jìn)行修正。
例如,X?Shikishima?的獨(dú)特火炮聲在可聽范圍的設(shè)置上曾出現(xiàn)錯誤(可在比預(yù)期更大的范圍內(nèi)聽到),這個錯誤后來修正了。 但是,玩家們認(rèn)為火炮聲在修正后失去其特質(zhì),因此我們又把這個錯誤引入游戲。
錯誤也可以初步歸因于數(shù)據(jù)中心或網(wǎng)絡(luò)供應(yīng)商的技術(shù)問題。 遺憾的是,在這種情況下我們無能為力,我們并不是每次都能幫到玩家,無論我們是否知道問題的根源。
希望玩家們能理解,我們不可能找出所有錯誤。 QA 團(tuán)隊(duì)的工作成果是新功能按預(yù)期運(yùn)作,沒有重大錯誤和缺陷,并且可在正式服務(wù)器上發(fā)布。

修正
為什么有些錯誤需要這么長的時間來修正? 修正錯誤所需的時間主要取決于其性質(zhì)。 有些缺陷在錯誤分析階段就需要投入大量時間。 要修正錯誤,我們必須準(zhǔn)確將其再現(xiàn),并了解這個錯誤發(fā)生的原因。
例如,最近有個錯誤導(dǎo)致艦艇轉(zhuǎn)向時無法正確發(fā)射魚雷。 這是個游戲邏輯錯誤,而對游戲邏輯做任何修改和修正總伴隨著巨大風(fēng)險(xiǎn),因?yàn)檫@絕對會影響所有玩家和游戲基礎(chǔ) — 游戲玩法。
因此,要修正這樣的錯誤,我們必須準(zhǔn)確分析玩家的投訴和各種報(bào)告,找到問題的原因,并制定和驗(yàn)證解決方案。 在特殊情況下,我們可能需要重寫游戲代碼來修正錯誤,或使用新技術(shù)進(jìn)行優(yōu)化。 這個過程被稱為重構(gòu)。 盡管從玩家的角度來看似乎沒有什么變化,但這個過程需要相當(dāng)長的時間。
此外,修正錯誤的時間取決于向玩家提供修正的方式。 例如:
某些錯誤只需在游戲服務(wù)器端進(jìn)行小修正就足夠了,而且大多數(shù)玩家甚至不會注意到。
如果錯誤也影響到玩家的客戶端,或者有必要進(jìn)行服務(wù)器維護(hù)來修正錯誤,情況就比較復(fù)雜。 在這種情況下,我們可以準(zhǔn)備一個小修補(bǔ)并在服務(wù)器上花額外功夫。 在此期間,服務(wù)器將不對玩家開放。
某些錯誤的修正,需要對代碼進(jìn)行大量修改和額外測試,所以只能在下一個主要游戲版本更新釋出時才能發(fā)布修正。
關(guān)于如何釋出修正和修正優(yōu)先級的決定,取決于多項(xiàng)因素:
錯誤的嚴(yán)重性:無法運(yùn)作的隨機(jī)戰(zhàn)斗應(yīng)盡快修正,但艦艇性能規(guī)格中的錯字則不急。
規(guī)模:有些錯誤會影響到所有玩家;有些錯誤則影響千分之一的玩家。
風(fēng)險(xiǎn)和必要的修正測試:如上所述,草率修正游戲邏輯只會讓事情變得更糟。
服務(wù)器器維護(hù)所需時間以及更新大?。阂拚e誤,我們需要關(guān)閉服務(wù)器幾個小時,而玩家需要下載相當(dāng)大的修補(bǔ)。 在這種情況下,有必要再三考慮是否需要立即修復(fù)錯誤,因?yàn)樵S多玩家將在很長一段時間內(nèi)無法進(jìn)入游戲。
遺憾的是,雖然我們渴望修正所有可能的錯誤,但《戰(zhàn)艦世界》團(tuán)隊(duì)的資源有限,因此我們專注于修正最關(guān)鍵和最常遇到的錯誤。

如何舉報(bào)錯誤
您可以通過以下資源向我們舉報(bào)錯誤:
玩家服務(wù)
游戲論壇
《戰(zhàn)艦世界》官方 Discord 服務(wù)器
為幫助我們更快、更有效地修正錯誤,請您在報(bào)告中注明以下內(nèi)容:
關(guān)于錯誤的描述。
截圖、視頻、回放,或任何有關(guān)該錯誤的視覺確認(rèn)。 若您附上了戰(zhàn)斗回放,請務(wù)必注明錯誤發(fā)生的時間。
WGCheck 文件。 關(guān)于此文件的詳細(xì)信息請參閱這篇文章。
在今天的文章中,我們盡力以最簡單的方式,與您分享我們在與錯誤奮戰(zhàn)中的隱形戰(zhàn)線。 我們要感謝您提出錯誤舉報(bào)、回饋、參與我們的測試以及游玩《戰(zhàn)艦世界》! 如果沒有您的貢獻(xiàn),我們將無法迅速發(fā)現(xiàn)并修正游戲中出現(xiàn)的各種錯誤。

最后貼個亞服的招募鏈接:https://wows.asia/puabb,任何剛建號的萌新(尚未戰(zhàn)斗超過十五局)以及長時間(90天以上)沒有登陸游戲的老玩家都可以進(jìn)行招募成為戰(zhàn)友。如果您已和我招募成功,請私信ID。
被招募者系統(tǒng)會贈送高賬,達(dá)到一定等級后系統(tǒng)還會額外贈送金幣船。
注意!招募者可以獲得被招募者氪金百分之十的返金,如果介意,多多抱歉!
直播間鏈接:http://live.bilibili.com/2972092
任何有關(guān)wws的游戲問題都可以給我留言,一定盡量給大家作出解答。
歡迎加入戰(zhàn)艦世界吹水聊天群(群名:今天也要吃的香?。?40709111
里面的人都超會說話噠~
公益計(jì)劃——軍團(tuán)信息欄
還沒有加入軍團(tuán)的大大們可以瞅一瞅哈~
