1. 程式人生 > >遊戲測試與軟體測試的區別

遊戲測試與軟體測試的區別

(這裡的遊戲測試專指各種電子遊戲 ,特別是網路遊戲)。

從軟體角度講,電子遊戲本身也是一種軟體,屬於軟體的一類,因此遊戲測試和軟體測試必然有其共同點,本文不詳細討論這部分,而主要討論其差異。

首先,我們從軟體的開發過程入手: 通常一個軟體的開發過程如下:接受訂單 需求分析 設計文件 程式設計 程式實現 整合測試 阿爾法測試 貝塔測試軟體釋出遊戲也是一種軟體,開發過程也逃不出這個框架,但是從開發的第一步開始,遊戲就與一般的軟體存在了比較大的差異: 首先:通常,軟體的開發是由客戶訂單開始的,使用者是明確的,使用者的需求也是相對明確的。而遊戲的開發,通常並沒有客戶訂單,使用者群的定位也是遊戲策劃根據市場調研等資訊設定的,因此使用者的需求相對來說更加不明確。對於遊戲來說,即使明確了使用者群,使用者的需求也是來自於遊戲策劃根據間接資訊分析出來的,而並非使用者的直接需求。因此,對於遊戲測試來說,相對軟體測試就多了一個步驟:對需求文件本身的測試,而一般的軟體測試是沒有這個步驟的。 對於測試來說,這一點直接影響到測試標準的制定。通常,測試是以設計文件為標準,檢驗軟體是否滿足使用者需求,但是對於遊戲測試來說,很難說以設計文件為標準就能夠滿足使用者的需求。 雖然,軟體測試同樣也存在類似的問題,但是並沒有嚴重到需要一個專門的針對文件的測試過程的程度,而對於遊戲來說這個步驟的重要性已經逐漸被認同。畢竟根據測試理論,越早發現bug修正的成本越低,而在文件階段發現並修正bug顯然要比程式碼實現以後進行修正的成本低得多。

其次:一般軟體開發的過程以軟體釋出作為終點,而對於遊戲來說,特別是網路遊戲,釋出僅僅是一個開始。遊戲釋出後,在遊戲運營過程中,開發團隊仍然需要對運營中的遊戲作不斷地維護更新以及後續版本的設計開發。 運營中的維護更新和後續版本的設計是根據運營情況把握使用者的需求變化,並對變化的需求進行滿足的過程,這個開發過程往往時間週期很短,並且開發的內容與遊戲原本的內容之間的關聯十分複雜和緊密,此時的遊戲測試任務往往不是通常軟體測試(特別是白盒測試)的手段能夠勝任的。

另外,遊戲相對於普通軟體還有一個差異:一般應用軟體的使用者使用軟體的目的目標是明確的,並且軟體會提供相應的操作手冊對使用者的行為進行指引和限制;而遊戲使用者進行遊戲的目的和目標往往不是很明確,並且遊戲也不能像應用軟體一樣對使用者的操作作出太多的限制。因此,玩家在遊戲中的行為更加不可控,這對於遊戲測試員來說更是一個嚴重的挑戰,遊戲測試員需要考慮到玩家可能進行的所有行為的可能性。

 綜合以上幾個方面的原因,我認為遊戲測試要比普通的軟體測試複雜得多。 測試的定位和意義: 遊戲測試在開發中的定位是什麼呢?玩遊戲找bug?這顯然是錯誤的,我的理解如下:

     1:協助開發人員改進產品質量,儘量多儘量早得發現產品中存在的缺陷,並協助開發人員消除缺陷,促使產品能夠更好的滿足使用者需求,並節約開發成本。協助開發人員包括兩個方面: A:協助設計人員完善設計 B:查詢bug並協助程式設計師修正bug 找到bug並對bug進行定位是測試員最基本的工作之一,定位bug包括兩個方面: A:儘量100%重現bug,找到bug出現的充分條件 B:儘量精準的定位bug,找到bug出現的充要條件 理論上所有的bug都是能夠找到其充要條件的,但是實際情況要根據專案需要,以及測試團隊和程式團隊的能力、工作量對比靈活掌握。

     2:對產品進行質量評測,提供給開發團隊、運營團隊以及各級領導作為決策的參考依據之一。 我認為這是測試團隊的重要職能之一,如果忽略了這個職能,則很容易有“遊戲測試就是玩遊戲找bug”的錯誤認識。