• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            網(wǎng)絡(luò)游戲測試過程

            網(wǎng)絡(luò)游戲測試過程??
            ――落葉夏日(陳衛(wèi)俊)

            游戲測試起因
            近幾年來,網(wǎng)絡(luò)游戲成了網(wǎng)絡(luò)最新的弄潮兒,從盛大之傳奇般的掘起,吸引了無數(shù)公司的眼球。但由于隨著玩家的品位的升高,代理費用的上升,單一的代理國外游戲的模式已經(jīng)很難在國內(nèi)立足,而有中國傳統(tǒng)文化特色的網(wǎng)絡(luò)游戲則在國內(nèi)大受歡迎,比如劍俠情緣,大話西游等一些國內(nèi)的精典之作已經(jīng)進(jìn)入了一流網(wǎng)游的陣營。與此同時隨著大家對網(wǎng)游穩(wěn)定性,可玩性要求的升高,網(wǎng)絡(luò)游戲測試開始成為大家關(guān)注的話題。
            游戲測試與軟件測試的區(qū)別
            游戲測試作為軟件測試的一部分,它具備了軟件測試所有的一切共同的特性:
            測試的目的是發(fā)現(xiàn)軟件中存在的缺陷。
            測試都是需要測試人員按照產(chǎn)品行為描述來實施。產(chǎn)品行為描述可以是書面的規(guī)格說明書,需求文檔,產(chǎn)品文件,或是用戶手冊,源代碼,或是工作的可執(zhí)行程序。
            每一種測試都需要產(chǎn)品運行于真實的或是模擬環(huán)境之下。
            每一種測試都要求以系統(tǒng)方法展示產(chǎn)品功能,以證明測試結(jié)果是否有效,以及發(fā)現(xiàn)其中出錯的原因,從而讓程序人員進(jìn)行改進(jìn)。
            總而言之,測試就是發(fā)現(xiàn)問題并進(jìn)行改進(jìn),從而提升軟件產(chǎn)品的質(zhì)量。游戲測試也具備了以上的所有特性,不過由于游戲的特殊性,所以游戲測試則主要分為兩部分組成,一是傳統(tǒng)的軟件測試,二游戲本身的測試,由于游戲特別是網(wǎng)絡(luò)游戲,它相當(dāng)于網(wǎng)上的虛擬世界,是人類社會的另一種方式的體現(xiàn),所以也包含了人類社會的一部分特性,同時它又是游戲所以還涉及到娛樂性,可玩性等獨有特性,所以測試的面相當(dāng)?shù)膹V。 我們稱之為游戲世界測試,主要有以下幾個特性:
            游戲情節(jié)的測試,主要指游戲世界中的任務(wù)系統(tǒng)的組成,有人也稱為游戲世界的事件驅(qū)動,我喜歡稱為游戲情感世界的測試。
            游戲世界的平衡測試,主要表現(xiàn)在經(jīng)濟(jì)平衡,能力平衡(包含技能,屬性等等),保證游戲世界競爭公平。
            游戲文化的測試,比如整個游戲世界的風(fēng)格,是中國文化主導(dǎo),還是日韓風(fēng)格等等,大到游戲整體,小到NPC(游戲世界人物)對話,比如一個書生,他的對話就必需斯文,不可以用江湖語言J。
            游戲測試概述
            很多人有這樣一個觀點:“就是在軟件開發(fā)完畢后,再進(jìn)行測試。”殊不知,這種關(guān)點是有悖于軟件開發(fā)的生命周期的,軟件缺陷的發(fā)現(xiàn)必須是越早越好,這樣才可以有效的規(guī)避風(fēng)險,而在“最后進(jìn)行測試”的測試觀念的指導(dǎo)下測試工作必將會產(chǎn)生很多問題,這種觀念的錯誤在于:生命周期中的“測試階段”表明在該階段測試工作是主要的工作,而不是說,測試工作只發(fā)生在“測試階段”。通常,到了測試階段,測試的主要任務(wù)是運行測試,形成測試報告。而想要提高游戲的質(zhì)量,則必需要做到測試的早期介入,諸如測試計劃,測試用例的確定以及測試代碼的編寫等等都是要在更早的階段進(jìn)行。如果你把測試完全放在最后階段,就錯過了發(fā)現(xiàn)構(gòu)架設(shè)計和游戲邏輯設(shè)計中存在嚴(yán)重問題的最好時機(jī),到那時,要修復(fù)這些缺陷將很不方便,因為缺陷已經(jīng)擴(kuò)散到系統(tǒng)中去了,所以這樣的錯誤將很難尋找與修復(fù),代價更高。
            要了解如何測試游戲必需了解如何做游戲,了解它的開發(fā)過程,才能真正的測好游戲。游戲要成功,其基本的必要條件有三。分別為Vision(設(shè)計)、technology(技術(shù))和Process(過程)。三個條件,缺一不可如圖所示:
            ????
            圖:游戲開發(fā)三大基石
            Vision則是對游戲還沒有實現(xiàn)的總體上的把握,前瞻性的理解與策略的考量。
            Technology:有了vision,如果沒有技術(shù)的話,則各種美妙的想法只能停留在虛無縹緲的階段,通過技術(shù)來實現(xiàn)Vision。
            Process:有了Vision作為指導(dǎo),有了技術(shù)作為保證,也不一定能夠把好的想法轉(zhuǎn)換成高質(zhì)量的游戲。要創(chuàng)造高品質(zhì)的游戲,尚缺重要的一環(huán),即過程,制造游戲是一個非常是一個長時間的動態(tài)過程。游戲產(chǎn)品的質(zhì)量則是要靠動態(tài)過程的動態(tài)質(zhì)量來進(jìn)行保證。過程由很多復(fù)雜的相互牽制的環(huán)節(jié)與部件組成,如果任意的環(huán)節(jié)或者是部件出了問題都會對最終的產(chǎn)品形成質(zhì)量上的影響。因此對這個動態(tài)的過程,一定要有規(guī)劃與控制,以保證按步就班,按質(zhì)按時完成工作。
            游戲測試與開發(fā)過程的關(guān)系
            CMM(Software Capability Maturity Model)軟件成熟模型,大家都比較熟悉了,但在實施的過程中卻存在這樣那樣的問題,對于游戲開發(fā)就更沒有一個固定的路可以講了,我們的團(tuán)隊是一個長期的游戲開發(fā)團(tuán)隊,對游戲開發(fā)有著很深的認(rèn)識,我們認(rèn)為游戲的Process(過程)實際上也是軟件過程,不過是特殊的游戲軟件開發(fā)過程,各個生命周期還是相通的。所以我們總結(jié)一套以測試作為質(zhì)量驅(qū)動的、屬于自己的開發(fā)過程。下圖是游戲的迭代式開發(fā)過:
            ????
            圖:游戲迭代式開發(fā)與測試
            由于網(wǎng)絡(luò)游戲的生命周期也是3、4年,所以采用迭代式的開發(fā)過程,既可以適應(yīng)網(wǎng)絡(luò)游戲本身這種長周期的開發(fā),又可以利用RUP的迭代式開發(fā)的優(yōu)點與CMM的里程碑控制,從而達(dá)到對游戲產(chǎn)品的全生命周期的保證。
            在游戲開發(fā)過程中,通用軟件的需求分析階段被策劃所代替,但起的作用是一樣的,明確游戲的設(shè)計目標(biāo)(包括風(fēng)格,游戲玩家群),游戲世界的組成,為后期的程序設(shè)計,美工設(shè)計,測試提出的明確的要求。由于開發(fā)是一個階段的過程,所以測試與開發(fā)的結(jié)合就比較容易,從圖上我們可以看到測試的工作與游戲的開發(fā)是同步進(jìn)行的,每一個開發(fā)階段中測試都進(jìn)行了參與,能夠深入的了解到系統(tǒng)的整體與大部分的技術(shù)細(xì)節(jié),從而從很大程度上提高了測試人員對錯誤問題判斷的準(zhǔn)確性,并且可以有效的保證重要游戲系統(tǒng)的穩(wěn)定。
            游戲策劃與測試計劃
            測試過程不可能在真空中進(jìn)行。如果測試人員不了解游戲是由那幾個部分組成的,那么執(zhí)行測試就非常的困難,同時測試計劃可以明確測試的目標(biāo),需要什么資源,進(jìn)度的安排,通過測試計劃,既可以讓測試人員了解此次游戲測試中那些是測試重點,又可以與產(chǎn)品開發(fā)小組進(jìn)行交流。在企業(yè)開發(fā)中,測試計劃書來源于需求說明文檔,同樣在游戲開發(fā)過程中,測試計劃的來源則是策劃書。策劃書包含了游戲定位,風(fēng)格,故事情節(jié),要求的配制等等。在策劃評審中我們的高級測試人員可以參與進(jìn)來,得到詳細(xì)的游戲策劃書,從里面了解到游戲的組成,可玩性,平衡(經(jīng)濟(jì)與能力),與形式(單機(jī)版還是網(wǎng)絡(luò)游戲),而我們測試在這一階段主要的事情就是通過策劃書來制定詳細(xì)的測試計劃,主要分兩個方面一是游戲程序本身的測試計劃,比如任務(wù)系統(tǒng),聊天,組隊,地圖等等由程序來實現(xiàn)的功能測試計劃,二是游戲可玩性有測試計劃,比如經(jīng)濟(jì)平衡標(biāo)準(zhǔn)是否達(dá)到要求,各個門派技能平衡測試參數(shù)與方法,游戲風(fēng)格的測試,三是關(guān)于性能測試的計劃,比如客戶端的要求,網(wǎng)絡(luò)版的對服務(wù)器的性能要求。同時測試計劃書中還寫明了基本的測試方法,要設(shè)計的自動化工具的需求,為后期的測試打下良好的基礎(chǔ)。同時由于測試人員參與到策劃評審,資深的游戲測試人員與產(chǎn)品經(jīng)理由于對游戲也有很深入的了解,會對策劃提出自己的看法,包含可玩性,用戶群,性能要求等等并形成對產(chǎn)品的風(fēng)險評估分析報告,但這份報告不同于策劃部門自己的風(fēng)險分析報告,主要從旁觀者的角度對游戲本身的品質(zhì)作充分的論證,從而更有效的對策劃起到控制的作用。
            游戲設(shè)計與測試
            設(shè)計階段是做測試案例設(shè)計的最好時機(jī)。很多組織要么根本不做測試計劃和測試設(shè)計,要么在即將開始執(zhí)行測試之前才飛快地完成測試計劃和設(shè)計。在這種情況下,測試只是驗證了程序的正確性,而不是驗證整個系統(tǒng)本該實現(xiàn)的東西。而我們的測試則會很明確,因為我們的測試計劃已經(jīng)寫的很明確,需要測試那些游戲系統(tǒng),但是我們還需要了解系統(tǒng)的組成,而設(shè)計階段則是設(shè)計系統(tǒng)的過程,所有的重要系統(tǒng)均是用UML狀態(tài)圖進(jìn)行了詳細(xì)的描述,比如用戶登陸情況。如圖2:
            ????
            圖2用戶登陸情況
            在我們的團(tuán)隊中資深的測試人員要具備的一項基本的素質(zhì)就是可以針對UML的用例圖,時序圖,狀態(tài)圖來設(shè)計出重要系統(tǒng)的測試案例,只有重要系統(tǒng)的質(zhì)量得到充分的測試,游戲程序的質(zhì)量才可以得到充分的保證。比如上圖中就是一個用戶登陸游戲系統(tǒng)的時序圖。從這里我們可以很明確的了解玩家是如何驗證并登陸系統(tǒng)的,在這個過程中要與那些對象進(jìn)行交互,比如這里我們就是三個系統(tǒng)之間的交互,客戶端(玩家部分),網(wǎng)關(guān),賬號服務(wù)之間的一個時序變化關(guān)系,為了能夠完整的對這個流程進(jìn)行測試,我們必需設(shè)計出可以覆蓋整個流程的測試案例,并考慮其中可能的非法情況,因為這個時序圖只是考慮了用戶正常登陸成功的情況,并沒有考慮密碼錯誤,通信失敗等許多可能存有的情況,并形成完整的測試案例庫,從而對登陸系統(tǒng)的系統(tǒng)化測試做了充分的準(zhǔn)備。同時通過這張圖,性能分析人員還可以分析出可能存的性能瓶頸,比如這里可能有的瓶頸如下,總網(wǎng)關(guān)是否可以達(dá)到多少用戶的并發(fā),是如果達(dá)不到,是否可以采用分布式部署或是支持負(fù)載平衡,三者之間的網(wǎng)絡(luò)帶寬的比例分配,賬號服務(wù)器是否可以承載多個網(wǎng)關(guān)的連接請求,最大連接請求可以達(dá)到多少等等,同時會針對這些風(fēng)險做性能測試的設(shè)計,并提出自動化測試的需求,比如模擬玩家登陸的壓力工具等等。
            同時在設(shè)計評審時,測試人員的介入可以充分的對當(dāng)前的系統(tǒng)構(gòu)架發(fā)表自己的意見,由于測試人員的眼光是最苛刻的,并且有多年的測試經(jīng)驗,可以比較早的發(fā)現(xiàn)曾經(jīng)出現(xiàn)的設(shè)計上的問題,比如在玩家轉(zhuǎn)換服務(wù)器時是否作了事務(wù)的支持與數(shù)據(jù)的校驗,在過去設(shè)計中由于沒有事務(wù)支持與數(shù)據(jù)的校驗從而導(dǎo)致玩家數(shù)據(jù)丟失,而這些風(fēng)險可以在早期就規(guī)避掉。上面所說的是對游戲程序本身的測試設(shè)計,對于游戲情節(jié)的測試則可以從策劃獲得,由于前期的策劃階段只是對游戲情節(jié)大方向上的描述,并沒有針對某一個具體的情節(jié)進(jìn)行設(shè)計,進(jìn)入設(shè)計階段時,某個游戲情節(jié)邏輯已經(jīng)完整的形成了,策劃可以給出情節(jié)的詳細(xì)設(shè)計說明書,稱為任務(wù)說明書,通過任務(wù)說明書我們可以設(shè)計出任務(wù)測試案例,比如某一個門派的任務(wù)由那些組成,我們可以設(shè)計出完整的任務(wù)測試案例,從而保證測試可能最大化的覆蓋到所有的任務(wù)邏輯,如果是簡單任務(wù),還可以提出自動化需求,采用機(jī)器人自動完成。
            游戲測試與開發(fā)
            開發(fā)與測試一直有人認(rèn)為是不可以平行進(jìn)行的,必需要先開發(fā)后測試,但是軟件的開發(fā)過程又要求測試必須早期介入,但在這里這種矛盾得到了很好的解決。我們采用了每日編譯,將測試執(zhí)行和開發(fā)結(jié)合在一起,并在開發(fā)階段以編碼--測試--編碼--測試的方式來體現(xiàn)。也就是說,程序片段一旦編寫完成,就會立即進(jìn)行測試。普通情況下,先進(jìn)行的測試是單元測試,但是一個程序片段也需要相關(guān)的集成測試,甚至有時還需要一些特殊測試。特別是關(guān)于接口測試,像游戲程序與任務(wù)角本、圖片的結(jié)合,大家都認(rèn)為需要提前測試,通過每日編你可以把已經(jīng)寫好的程序片段接合起來,形成部分的集成測試,從而有效的體現(xiàn)的接口優(yōu)先測試的原則。同時由于軟件測試與開發(fā)是并行進(jìn)行的,并且實行的是軟件缺陷優(yōu)先修改的策略,所以很少會出現(xiàn)缺陷后期無法修改的情況,并且由于前期的測試案例的設(shè)計與自動化工具的準(zhǔn)備,我們不需要投入太多的人力就可以極高的保證游戲軟件的產(chǎn)品質(zhì)量,特別是重要系統(tǒng)的質(zhì)量。由于我們的游戲程序是每日不斷的完善,所以集成測試也在同步的進(jìn)行之中,當(dāng)開發(fā)進(jìn)入最后階段時,集成測試也同步的完成了。這里有一個原則,也就是我前面所說的,測試的主體方法和結(jié)構(gòu)應(yīng)在游戲設(shè)計階段完成,并在開發(fā)階段進(jìn)行補充(比如在游戲開發(fā)中會有相應(yīng)的變動,或是某個轉(zhuǎn)移變地址的變化,這就需要實時的更新)。這種方法會對基于代碼的測試(開發(fā)階段與集成階段)產(chǎn)生很重要的影響,但是不管在那個階段,如果在執(zhí)行前多做一點計劃和設(shè)計,都會大幅度的提高測試效率,改善測試結(jié)果,同時還有利于測試案例的重用與測試數(shù)據(jù)的分析,所以我們的測試計劃是在策劃時就形成了,為后繼的測試形成了良好的基礎(chǔ)。
            集成測試階段
            集成測試是對整個系統(tǒng)的測試。由于前期測試與開發(fā)的并行,集成測試已經(jīng)基本完成,這時只需要對前期在設(shè)計階段中設(shè)計的系統(tǒng)測試案例運行一下就OK了。我們主要的重心在集成測試中的兼容性測試,由于游戲測試的特殊性,對兼容性的要求特別高,所以我們采用了外部與內(nèi)部同部進(jìn)行的方式,內(nèi)部我們有自己的平臺試驗室,搭建主流的硬軟件測試環(huán)境,同時我們還通過一些專業(yè)的兼容性測試機(jī)構(gòu)對我們的游戲軟件做兼容性分析,讓我們的游戲軟件可以跑在更多的機(jī)器上。
            游戲可玩性測試
            游戲可玩性測試也是非常重要的一塊,主要包含四個方面:
            游戲世界的搭建,包含聊天功能,交易系統(tǒng),組隊等可以讓玩家在游戲世界交互的平臺。
            游戲世界事件的驅(qū)動,主要指任務(wù)。
            游戲世界的競爭與平衡。
            游戲世界文化蘊涵,游戲的風(fēng)格與體現(xiàn)。
            這種測試主要體現(xiàn)在游戲可玩性方面,雖然策劃時我們對可玩性作了一定的評估,但這是總體上的,但一些具體的涉及到某個數(shù)據(jù)的分析,比如PK參數(shù)的調(diào)整,技能的增加等一些增強可玩性的測試則需要職業(yè)玩家對它進(jìn)行分析,這里我們主要通過三種方式來進(jìn)行:
            內(nèi)部的測試人員,他們都是精選的職業(yè)玩家分析人員,對游戲有很深的認(rèn)識,在內(nèi)部測試時,對上面的四點進(jìn)行分析。
            利用外部游戲媒體專業(yè)人員對游戲作分析與介紹,既可以達(dá)到宣傳的效果,又可以達(dá)到測試的目的,通常這種方式是比較好的。
            利用外部一定數(shù)量的玩家,對外圍系統(tǒng)的測試,他們是普通的玩家,但卻是我們最主要的目標(biāo),主要的來源是大中院校的學(xué)生等等,主要測試游戲的可玩性與易用性,發(fā)現(xiàn)一些外圍的Bug。
            游戲進(jìn)入到最后階段時,還要做內(nèi)測,公測,有點像應(yīng)用軟件的beta版的測試,讓更多的人參與測試,測試大量玩家下的運行情況。
            可玩性測試是游戲重要的一塊,只有玩家的認(rèn)同,我們才可能成功。
            性能測試與優(yōu)化
            最后要單獨提一下的是性能優(yōu)化,在單機(jī)版的時代,性能的要求并不是很高,但是在網(wǎng)絡(luò)版的時代,則是兩個完全不同的概念,主要包含了以下幾個方面:應(yīng)用在客戶端性能的測試、應(yīng)用在網(wǎng)絡(luò)上性能的測試和應(yīng)用在服務(wù)器端性能的測試。通常情況下,三方面有效、合理的結(jié)合,可以達(dá)到對系統(tǒng)性能全面的分析和瓶頸的預(yù)測。不過在測試過程中有這樣一個原則,就是由于測試是在集成測試完成或接近完成時進(jìn)行,要求測試的功能點能夠走通,這時你首先要進(jìn)行優(yōu)化的是數(shù)據(jù)庫或是網(wǎng)絡(luò)本身的配制,只有這樣才可以規(guī)避改動程序的風(fēng)險。同時性能的測試與優(yōu)化是一個逐步完善的過程,需要前期的很多的工作,比如性能需求,測試工具等等,不過由于前期工作的完善,這些都在前期完成了。這里我只做原則性的描述。
            數(shù)據(jù)庫的優(yōu)化的原則主要是這樣的,首先是索引進(jìn)行優(yōu)化,由于索引的優(yōu)化不需要對表結(jié)構(gòu)進(jìn)行任何改動,是最簡單的一種,又不需要改動程序就可能提升性能若干倍,不過要注意的是索引不是萬能的,若是無限的增加會對增刪改造成很大的影響。其次是對表,視圖,存儲過程的優(yōu)化。不過在分析之前需要知道優(yōu)化的目標(biāo),客戶行為中那些SQL是執(zhí)行的最多的,所以我們必需借助些SQL的跟蹤分析工具,例如SQLProfile,SQLExpert,等工具,這樣會迅速的定位問題。
            關(guān)于網(wǎng)絡(luò)的優(yōu)化,這里我所說的并不是針對網(wǎng)絡(luò)本身的優(yōu)化,而是對游戲本身的網(wǎng)絡(luò)通信的優(yōu)化,所以它是與程序的優(yōu)化是結(jié)合在一起的,首先也是發(fā)現(xiàn)問題,通過Monitor與Sniff先定位是什么應(yīng)用占用了較多的網(wǎng)絡(luò)流量,由于網(wǎng)絡(luò)游戲的用戶巨大,所以這也是一個重在的問題。對于程序的性能優(yōu)化,最主要的是找到運行時間最長的函數(shù),只有優(yōu)化它,性能才有大幅度的提升,具體的方法我就不做詳細(xì)的描述了。
            總述
            游戲測試是一個新的領(lǐng)域,它既有通用測試的特點,又有自己的特點,有許多未知的路要走,每天都在總結(jié),希望給大家?guī)硪恍椭?同時在這里也謝謝所有支持我的同事。

            posted on 2006-07-05 22:36 楊粼波 閱讀(311) 評論(0)  編輯 收藏 引用 所屬分類: 軟件工程

            久久免费香蕉视频| 久久一区二区三区99| 亚洲人成网站999久久久综合| 狠狠色婷婷久久一区二区| 久久精品国产秦先生| 久久人人爽人人爽人人片AV麻豆 | 久久婷婷综合中文字幕| 怡红院日本一道日本久久| 久久强奷乱码老熟女网站 | 久久精品亚洲乱码伦伦中文| 浪潮AV色综合久久天堂| 狠狠色丁香久久婷婷综合蜜芽五月 | 久久精品国产亚洲5555| 综合网日日天干夜夜久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国内精品欧美久久精品| 亚洲国产精品一区二区久久| 久久精品国产亚洲av麻豆色欲 | 中文无码久久精品| 亚洲成色999久久网站| 久久成人国产精品免费软件| 99久久精品九九亚洲精品| 欧洲精品久久久av无码电影| 久久人人爽人人澡人人高潮AV| 免费精品99久久国产综合精品| 久久香蕉超碰97国产精品| 伊人热热久久原色播放www| 国内精品久久久久国产盗摄| 精品久久一区二区| 狠狠88综合久久久久综合网| 国产精品久久久久jk制服| 亚洲国产精品一区二区久久hs| 久久久久亚洲AV无码网站| 久久精品国产亚洲AV影院| 亚洲午夜无码久久久久小说| 久久久久国产一级毛片高清板| 成人亚洲欧美久久久久 | 91性高湖久久久久| 久久久久久综合一区中文字幕 | 国产成年无码久久久免费| 国产精品中文久久久久久久|