開發與測試一直有人認為是不可以平行進行的,必需要先開發后測試,但是軟件的開發過程又要求測試必須早期介入,但在這里這種矛盾得到了很好的解決。我們采用了每日編譯,將測試執行和開發結合在一起,并在開發階段以編碼--測試--編碼--測試的方式來體現。也就是說,程序片段一旦編寫完成,就會立即進行測試。普通情況下,先進行的測試是單元測試,但是一個程序片段也需要相關的集成測試,甚至有時還需要一些特殊測試。特別是關于接口測試,像游戲程序與任務角本、圖片的結合,大家都認為需要提前測試,通過每日編你可以把已經寫好的程序片段接合起來,形成部分的集成測試,從而有效的體現的接口優先測試的原則。同時由于軟件測試與開發是并行進行的,并且實行的是軟件缺陷優先修改的策略,所以很少會出現缺陷后期無法修改的情況,并且由于前期的測試案例的設計與自動化工具的準備,我們不需要投入太多的人力就可以極高的保證游戲軟件的產品質量,特別是重要系統的質量。由于我們的游戲程序是每日不斷的完善,所以集成測試也在同步的進行之中,當開發進入最后階段時,集成測試也同步的完成了。這里有一個原則,也就是我前面所說的,測試的主體方法和結構應在游戲設計階段完成,并在開發階段進行補充(比如在游戲開發中會有相應的變動,或是某個轉移變地址的變化,這就需要實時的更新)。這種方法會對基于代碼的測試(開發階段與集成階段)產生很重要的影響,但是不管在那個階段,如果在執行前多做一點計劃和設計,都會大幅度的提高測試效率,改善測試結果,同時還有利于測試案例的重用與測試數據的分析,所以我們的測試計劃是在策劃時就形成了,為后繼的測試形成了良好的基礎。{#pagae#}
集成測試階段
集成測試是對整個系統的測試。由于前期測試與開發的并行,集成測試已經基本完成,這時只需要對前期在設計階段中設計的系統測試案例運行一下就OK 了。我們主要的重心在集成測試中的兼容性測試,由于游戲測試的特殊性,對兼容性的要求特別高,所以我們采用了外部與內部同部進行的方式,內部我們有自己的平臺試驗室,搭建主流的硬軟件測試環境,同時我們還通過一些專業的兼容性測試機構對我們的游戲軟件做兼容性分析,讓我們的游戲軟件可以跑在更多的機器上。
游戲可玩性測試
游戲可玩性測試也是非常重要的一塊,主要包含四個方面:
游戲世界的搭建,包含聊天功能,交易系統,組隊等可以讓玩家在游戲世界交互的平臺。
游戲世界事件的驅動,主要指任務。
游戲世界的競爭與平衡。
游戲世界文化蘊涵,游戲的風格與體現。
這種測試主要體現在游戲可玩性方面,雖然策劃時我們對可玩性作了一定的評估,但這是總體上的,但一些具體的涉及到某個數據的分析,比如PK參數的調整,技能的增加等一些增強可玩性的測試則需要職業玩家對它進行分析,這里我們主要通過三種方式來進行:
內部的測試人員,他們都是精選的職業玩家分析人員,對游戲有很深的認識,在內部測試時,對上面的四點進行分析。
利用外部游戲媒體專業人員對游戲作分析與介紹,既可以達到宣傳的效果,又可以達到測試的目的,通常這種方式是比較好的。
利用外部一定數量的玩家,對外圍系統的測試,他們是普通的玩家,但卻是我們最主要的目標,主要的來源是大中院校的學生等等,主要測試游戲的可玩性與易用性,發現一些外圍的Bug。
游戲進入到最后階段時,還要做內測,公測,有點像應用軟件的beta版的測試,讓更多的人參與測試,測試大量玩家下的運行情況。
可玩性測試是游戲重要的一塊,只有玩家的認同,我們才可能成功。
性能測試與優化
最后要單獨提一下的是性能優化,在單機版的時代,性能的要求并不是很高,但是在網絡版的時代,則是兩個完全不同的概念,主要包含了以下幾個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。通常情況下,三方面有效、合理的結合,可以達到對系統性能全面的分析和瓶頸的預測。不過在測試過程中有這樣一個原則,就是由于測試是在集成測試完成或接近完成時進行,要求測試的功能點能夠走通,這時你首先要進行優化的是數據庫或是網絡本身的配制,只有這樣才可以規避改動程序的風險。同時性能的測試與優化是一個逐步完善的過程,需要前期的很多的工作,比如性能需求,測試工具等等,不過由于前期工作的完善,這些都在前期完成了。這里我只做原則性的描述。
數據庫的優化的原則主要是這樣的,首先是索引進行優化,由于索引的優化不需要對表結構進行任何改動,是最簡單的一種,又不需要改動程序就可能提升性能若干倍,不過要注意的是索引不是萬能的,若是無限的增加會對增刪改造成很大的影響。其次是對表,視圖,存儲過程的優化。不過在分析之前需要知道優化的目標,客戶行為中那些SQL是執行的最多的,所以我們必需借助些SQL的跟蹤分析工具,例如SQLProfile,SQLExpert,等工具,這樣會迅速的定位問題。
關于網絡的優化,這里我所說的并不是針對網絡本身的優化,而是對游戲本身的網絡通信的優化,所以它是與程序的優化是結合在一起的,首先也是發現問題,通過Monitor與Sniff先定位是什么應用占用了較多的網絡流量,由于網絡游戲的用戶巨大,所以這也是一個重在的問題。對于程序的性能優化,最主要的是找到運行時間最長的函數,只有優化它,性能才有大幅度的提升,具體的方法我就不做詳細的描述了。
總述
游戲測試是一個新的領域,它既有通用測試的特點,又有自己的特點,有許多未知的路要走,每天都在總結,希望給大家帶來一些幫助,同時在這里也謝謝所有支持我的同事。
文章來源于領測軟件測試網 http://www.kjueaiud.com/