*用壓力測試來驗(yàn)證你的代碼的強(qiáng)壯性。如果你的游戲在極端條件下運(yùn)行的很好,比如,每秒有2000個(gè)怪獸出生和死亡,一個(gè)場景中同時(shí)放入500個(gè)有真實(shí)物理特性的物體,一幅地圖輪流載入200次,那么玩家作一些異常操作時(shí),宕機(jī)的可能性就會小很多。
*在修改Bug前,也為它編寫測試用例。這樣的話,可以確保這些Bug在今后的版本中不會重現(xiàn)。
*回歸測試。例如,圖像或狀態(tài)比較的話,使用指定的測試場景要比使用產(chǎn)品地圖更容易維護(hù)。如果你認(rèn)為測試用產(chǎn)品數(shù)據(jù)可能會經(jīng)常變動,那么你最好使用小的測試場景。否則,不斷的生成新的參考數(shù)據(jù)會使得開發(fā)團(tuán)隊(duì)產(chǎn)生疲倦和厭煩的情緒。
* 測試用例越簡單越好,不要奢望有非常大的覆蓋面。搭建一個(gè)易維護(hù)和可擴(kuò)展的自動化測試是一個(gè)長期的任務(wù)。一般來說,“底層”代碼,例如算術(shù)、碰撞檢測和渲染,更容易進(jìn)行自動化測試,對于游戲性和完整的游戲測試來說,還是需要經(jīng)過QA人員親自測試。當(dāng)然,QA部門的注意力也要從技術(shù)轉(zhuǎn)移到與游戲性相關(guān)的問題上去!暗紸房間后,因?yàn)橥L(fēng)口前面的箱子太高了,所以出不去”這樣的報(bào)告就會取代“當(dāng)我的角色轉(zhuǎn)動的時(shí)候,屏幕上出現(xiàn)了很多扭曲的三角面”。
持續(xù)集成
在一個(gè)復(fù)雜的軟件項(xiàng)目中引入自動化測試,你會發(fā)覺運(yùn)行它也需要一定的時(shí)間,我們看到的一些項(xiàng)目甚至需要幾個(gè)小時(shí)。如果讓開發(fā)者在他們的開發(fā)用機(jī)上運(yùn)行的話,測試會完全占用他們的機(jī)器,影響工作,那么結(jié)果就是他們不去運(yùn)行測試用例,很顯然,沒有被運(yùn)行的用例是沒有任何價(jià)值的。
解決方法就是搭建一臺或多臺專用的自動化測試機(jī)。它同時(shí)還運(yùn)行版本管理軟件(Subversion/CVS/Perforce),一旦發(fā)現(xiàn)提交了新代 碼,那么代碼就會被Check out并編譯,測試用例也會自動運(yùn)行。最后,系統(tǒng)會將測試結(jié)果報(bào)告以email的形式自動發(fā)送給最近提交代碼的開發(fā)者。
完全自動化、重復(fù)的 build和測試過程,這種過程每天運(yùn)行多次,在極限編程中,我們把它稱為:持續(xù)集成。為了更好的實(shí)行持續(xù)集成,像 Cruise Control或者Anthill這樣的開源代碼工具可以將版本管理軟件和自動build工具,例如ANT,整合起來。使用這樣的工具, 可以很輕松的搭建適合自己的持續(xù)集成系統(tǒng)。
我們發(fā)現(xiàn)搭建專用持續(xù)集成服務(wù)器使得開發(fā)過程變得更順暢,開發(fā)者可以更專注于自己的工作。與此同時(shí),測試可以被很好的運(yùn)行,一旦提交了錯誤的代碼,持續(xù)集成系統(tǒng)會自動通知開發(fā)者和項(xiàng)目經(jīng)理,因此開發(fā)者也可不必為此分心。自動化,自動化!
自動化測試和持續(xù)集成的使用為我們在游戲和工具的開發(fā)上帶來了極大的收益。例如,持續(xù)集成服務(wù)器根據(jù)Wiki中的變化,每天自動生成CHF (windows幫助文件)文件。而且,使用ANT和CruiseControl來制作軟件自動分發(fā)包會非常容易。這樣一來,用最新的代碼(或最新的 tag)創(chuàng)建一個(gè)完整的分發(fā)包就是舉手之勞。
此文章共有6頁 上一頁 1 2 3 4 5 6 下一頁
文章來源:中國項(xiàng)目管理資源網(wǎng)
軟件開發(fā)項(xiàng)目管理培訓(xùn)課程方案 |