• <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>

            牽著老婆滿街逛

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

            游戲測試過程

            標題?? 游戲測試過程???? cwj007 [原作]?
            關鍵字?? 游戲測試過程
            出處???

            游戲測試過程
            游戲測試起因
            ?近兩年,IT業(yè)一直經(jīng)歷著“寒冬”,但是游戲軟件業(yè)卻呈現(xiàn)出了勃勃生機。網(wǎng)絡游戲僅在中國游戲市場出現(xiàn)不過兩年,到今年1月,正式投入商業(yè)運營的游戲數(shù)目已超過100款,但眾所周知,都是國外的(主要是韓國的游戲)統(tǒng)治著國內(nèi)大部分的市場,國內(nèi)游戲軟件想要突圍而出,主要從二個方面,一是可玩性,由于中國有上下五千年的傳統(tǒng)文化,博大精深,是我們得天獨厚的優(yōu)勢,二是游戲的質(zhì)量,游戲測試作為游戲開發(fā)中質(zhì)量保證的最重要的環(huán)節(jié),在游戲設計與開發(fā)的過程中發(fā)揮著越來越重要的作用。
            游戲測試與軟件測試的差異
            ?游戲測試作為軟件測試的一部分,它具備了軟件測試所有的一切共同的特性:
            ?測試的目的是發(fā)現(xiàn)軟件中存在的缺陷。
            ?測試都是需要測試人員按照產(chǎn)品行為描述來實施。產(chǎn)品行為描述可以是書面的規(guī)格說明書,需求文檔,產(chǎn)品文件,或是用戶手冊,源代碼,或是工作的可執(zhí)行程序。
            ?每一種測試都需要產(chǎn)品運行于真實的或是模擬環(huán)境之下。
            ?每一種測試都要求以系統(tǒng)方法展示產(chǎn)品功能,以證明測試結(jié)果是否有效,以及發(fā)現(xiàn)其中出錯的原因,從而讓程序人員進行改進。
            總而言之,測試就是發(fā)現(xiàn)問題并進行改進,從而提升軟件產(chǎn)品的質(zhì)量。游戲測試也具備了以上的所有特性,不過由于游戲的特殊性,所以游戲測試則主要分為兩部分組成,一是傳統(tǒng)的軟件測試,二游戲本身的測試,由于游戲特別是網(wǎng)絡游戲,它相當于網(wǎng)上的虛擬世界,是人類社會的另一種方式的體現(xiàn),所以也包含了人類社會的一部分特性,同時它又是游戲所以還涉及到娛樂性,可玩性等獨有特性,所以測試的面相當?shù)膹V。 我們稱之為游戲世界測試,主要有以下幾個特性:
            ?游戲情節(jié)的測試,主要指游戲世界中的任務系統(tǒng)的組成,有人也稱為游戲世界的事件驅(qū)動,我喜歡稱為游戲情感世界的測試。
            ?游戲世界的平衡測試,主要表現(xiàn)在經(jīng)濟平衡,能力平衡(包含技能,屬性等等),保證游戲世界競爭公平。
            ?游戲文化的測試,比如整個游戲世界的風格,是中國文化主導,還是日韓風格等等,大到游戲整體,小到NPC(游戲世界人物)對話,比如一個書生,他的對話就必需斯文,不可以用江湖語言J。
            游戲測試概述
            ?很多人有這樣一個關點:“就是在軟件開發(fā)完畢后,再進行測試。”殊不知,這種關點是有悖于軟件開發(fā)的生命周期的,軟件缺陷的發(fā)現(xiàn)必須是越早越好,這樣才可以有效的規(guī)避風險,而在“最后進行測試”的測試觀念的指導下測試工作必將會產(chǎn)生很多問題,這種觀念的錯誤在于:生命周期中的“測試階段”表明在該階段測試工作是主要的工作,而不是說,測試工作只發(fā)生在“測試階段”。通常,到了測試階段,測試的主要任務是運行測試,形成測試報告。而想要提高游戲的質(zhì)量,則必需要做到測試的早期介入,諸如測試計劃,測試用例的確定以及測試代碼的編寫等等都是要在更早的階段進行。如果你把測試完全放在最后階段,就錯過了發(fā)現(xiàn)構(gòu)架設計和游戲邏輯設計中存在嚴重問題的最好時機,到那時,要修復這些缺陷將很不方便,因為缺陷已經(jīng)擴散到系統(tǒng)中去了,所以這樣的錯誤將很難尋找與修復,代價更高。
            ?要了解如何測試游戲必需了解如何做游戲,了解它的開發(fā)過程,才能真正的測好游戲。游戲要成功,其基本的必要條件有三。分別為Vision(設計)、technoogy(技術)和Process(過程)。三個條件,缺一不可如圖所示:
            Vision

            Technoogy

            Process

            ?

            ?


            圖:游戲開發(fā)三大基石
            ?Vision則是對游戲還沒有實現(xiàn)的總體上的把握,前瞻性的理解與策略的考量。
            ?Technoogy:有了vision,如果沒有技術的話,則各種美妙的想法只能停留在虛無縹緲的階段,通過技術來實現(xiàn)Vision。
            ?Process:有了Vision作為指導,有了技術作為保證,也不一定能夠把好的想法轉(zhuǎn)換成高質(zhì)量的游戲。要創(chuàng)造高品質(zhì)的游戲,尚缺重要的一環(huán),即過程,制造游戲是一個非常是一個長時間的動態(tài)過程。游戲產(chǎn)品的質(zhì)量則是要靠動態(tài)過程的動態(tài)質(zhì)量來進行保證。過程由很多復雜的相互牽制的環(huán)節(jié)與部件組成,如果任意的環(huán)節(jié)或者是部件出了問題都會對最終的產(chǎn)品形成質(zhì)量上的影響。因此對這個動態(tài)的過程,一定要有規(guī)劃與控制,以保證按部就班,按質(zhì)按時完成工作。
            游戲測試與開發(fā)過程的關系
            CMM(Software Capabiity Maturity Mode)軟件成熟模型,大家都比較熟悉了,但在實施的過程中卻存在這樣那樣的問題,對于游戲開發(fā)就更沒有一個固定的路可以講了,我們的團隊是一個長期的游戲開發(fā)團隊,對游戲開發(fā)有著很深的認識,我們認為游戲的Process(過程)實際上也是軟件過程,不過是特殊的游戲軟件開發(fā)過程,各個生命周期還是相通的。所以我們總結(jié)一套以測試作為質(zhì)量驅(qū)動的、屬于自己的開發(fā)過程。下圖是游戲的迭代式開發(fā)過:

            ?

            ?

            圖:游戲迭代式開發(fā)與測試
            由于網(wǎng)絡游戲的生命周期也是3、4年,所以采用迭代式的開發(fā)過程,既可以適應網(wǎng)絡游戲本身這種長周期的開發(fā),又可以利用RUP的迭代式開發(fā)的優(yōu)點與CMM的里程碑控制,從而達到對游戲產(chǎn)品的全生命周期的保證。
            在游戲開發(fā)過程中,通用軟件的需求分析階段被策劃所代替,但起的作用是一樣的,明確游戲的設計目標(包括風格,游戲玩家群),游戲世界的組成,為后期的程序設計,美工設計,測試提出的明確的要求。由于開發(fā)是一個階段的過程,所以測試與開發(fā)的結(jié)合就比較容易,從圖上我們可以看到測試的工作與游戲的開發(fā)是同步進行的,每一個開發(fā)階段中測試都進行了參與,能夠深入的了解到系統(tǒng)的整體與大部分的技術細節(jié),從而從很大程度上提高了測試人員對錯誤問題判斷的準確性,并且可以有效的保證重要游戲系統(tǒng)的穩(wěn)定。
            游戲策劃與測試計劃
            ?測試過程不可能在真空中進行。如果測試人員不了解游戲是由那幾個部分組成的,那么執(zhí)行測試就非常的困難,同時測試計劃可以明確測試的目標,需要什么資源,進度的安排,通過測試計劃,既可以讓測試人員了解此次游戲測試中那些是測試重點,又可以與產(chǎn)品開發(fā)小組進行交流。在企業(yè)開發(fā)中,測試計劃書來源于需求說明文檔,同樣在游戲開發(fā)過程中,測試計劃的來源則是策劃書。策劃書包含了游戲定位,風格,故事情節(jié),要求的配制等等。在策劃評審中我們的高級測試人員可以參與進來,得到詳細的游戲策劃書,從里面了解到游戲的組成,可玩性,平衡(經(jīng)濟與能力),與形式(單機版還是網(wǎng)絡游戲),而我們測試在這一階段主要的事情就是通過策劃書來制定詳細的測試計劃,主要分兩個方面一是游戲程序本身的測試計劃,比如任務系統(tǒng),聊天,組隊,地圖等等由程序來實現(xiàn)的功能測試計劃,二是游戲可玩性有測試計劃,比如經(jīng)濟平衡標準是否達到要求,各個門派技能平衡測試參數(shù)與方法,游戲風格的測試,三是關于性能測試的計劃,比如客戶端的要求,網(wǎng)絡版的對服務器的性能要求。同時測試計劃書中還寫明了基本的測試方法,要設計的自動化工具的需求,為后期的測試打下良好的基礎。同時由于測試人員參與到策劃評審,資深的游戲測試人員與產(chǎn)品經(jīng)理由于對游戲也有很深入的了解,會對策劃提出自己的看法,包含可玩性,用戶群,性能要求等等并形成對產(chǎn)品的風險評估分析報告,但這份報告不同于策劃部門自己的風險分析報告,主要從旁觀者的角度對游戲本身的品質(zhì)作充分的論證,從而更有效的對策劃起到控制的作用。

            游戲設計與測試
            ?設計階段是做測試案例設計的最好時機。很多組織要么根本不做測試計劃和測試設計,要么在即將開始執(zhí)行測試之前才飛快地完成測試計劃和設計。在這種情況下,測試只是驗證了程序的正確性,而不是驗證整個系統(tǒng)本該實現(xiàn)的東西。而我們的測試則會很明確,因為我們的測試計劃已經(jīng)寫的很明確,需要測試那些游戲系統(tǒng),但是我們還需要了解系統(tǒng)的組成,而設計階段則是設計系統(tǒng)的過程,所有的重要系統(tǒng)均是用UM狀態(tài)圖進行了詳細的描述,比如用戶登陸情況。

            ?


            圖2用戶登陸情況

            在我們的團隊中資深的測試人員要具備的一項基本的素質(zhì)就是可以針對UM的用例圖,時序圖,狀態(tài)圖來設計出重要系統(tǒng)的測試案例,只有重要系統(tǒng)的質(zhì)量得到充分的測試,游戲程序的質(zhì)量才可以得到充分的保證。比如上圖中就是一個用戶登陸游戲系統(tǒng)的時序圖。從這里我們可以很明確的了解玩家是如何驗證并登陸系統(tǒng)的,在這個過程中要與那些對象進行交互,比如這里我們就是三個系統(tǒng)之間的交互,客戶端(玩家部分),網(wǎng)關,賬號服務之間的一個時序變化關系,為了能夠完整的對這個流程進行測試,我們必需設計出可以覆蓋整個流程的測試案例,并考慮其中可能的非法情況,因為這個時序圖只是考慮了用戶正常登陸成功的情況,并沒有考慮密碼錯誤,通信失敗等許多可能存有的情況,并形成完整的測試案例庫,從而對登陸系統(tǒng)的系統(tǒng)化測試做了充分的準備。同時通過這張圖,性能分析人員還可以分析出可能存的性能瓶頸,比如這里可能有的瓶頸如下,總網(wǎng)關是否可以達到多少用戶的并發(fā),是如果達不到,是否可以采用分布式部署或是支持負載平衡,三者之間的網(wǎng)絡帶寬的比例分配,賬號服務器是否可以承載多個網(wǎng)關的連接請求,最大連接請求可以達到多少等等,同時會針對這些風險做性能測試的設計,并提出自動化測試的需求,比如模擬玩家登陸的壓力工具等等。
            同時在設計評審時,測試人員的介入可以充分的對當前的系統(tǒng)構(gòu)架發(fā)表自己的意見,由于測試人員的眼光是最苛刻的,并且有多年的測試經(jīng)驗,可以比較早的發(fā)現(xiàn)曾經(jīng)出現(xiàn)的設計上的問題,比如在玩家轉(zhuǎn)換服務器時是否作了事務的支持與數(shù)據(jù)的校驗,在過去設計中由于沒有事務支持與數(shù)據(jù)的校驗從而導致玩家數(shù)據(jù)丟失,而這些風險可以在早期就規(guī)避掉。上面所說的是對游戲程序本身的測試設計,對于游戲情節(jié)的測試則可以從策劃獲得,由于前期的策劃階段只是對游戲情節(jié)大方向上的描述,并沒有針對某一個具體的情節(jié)進行設計,進入設計階段時,某個游戲情節(jié)邏輯已經(jīng)完整的形成了,策劃可以給出情節(jié)的詳細設計說明書,稱為任務說明書,通過任務說明書我們可以設計出任務測試案例,比如某一個門派的任務由那些組成,我們可以設計出完整的任務測試案例,從而保證測試可能最大化的覆蓋到所有的任務邏輯,如果是簡單任務,還可以提出自動化需求,采用機器人自動完成。
            游戲測試與開發(fā)
            ?開發(fā)與測試一直有人認為是不可以平行進行的,必需要先開發(fā)后測試,但是軟件的開發(fā)過程又要求測試必須早期介入,但在這里這種矛盾得到了很好的解決。我們采用了每日編譯,將測試執(zhí)行和開發(fā)結(jié)合在一起,并在開發(fā)階段以編碼--測試--編碼--測試的方式來體現(xiàn)。也就是說,程序片段一旦編寫完成,就會立即進行測試。普通情況下,先進行的測試是單元測試,但是一個程序片段也需要相關的集成測試,甚至有時還需要一些特殊測試。特別是關于接口測試,像游戲程序與任務角本、圖片的結(jié)合,大家都認為需要提前測試,通過每日編你可以把已經(jīng)寫好的程序片段接合起來,形成部分的集成測試,從而有效的體現(xiàn)的接口優(yōu)先測試的原則。同時由于軟件測試與開發(fā)是并行進行的,并且實行的是軟件缺陷優(yōu)先修改的策略,所以很少會出現(xiàn)缺陷后期無法修改的情況,并且由于前期的測試案例的設計與自動化工具的準備,我們不需要投入太多的人力就可以極高的保證游戲軟件的產(chǎn)品質(zhì)量,特別是重要系統(tǒng)的質(zhì)量。由于我們的游戲程序是每日不斷的完善,所以集成測試也在同步的進行之中,當開發(fā)進入最后階段時,集成測試也同步的完成了。這里有一個原則,也就是我前面所說的,測試的主體方法和結(jié)構(gòu)應在游戲設計階段完成,并在開發(fā)階段進行補充(比如在游戲開發(fā)中會有相應的變動,或是某個轉(zhuǎn)移變地址的變化,這就需要實時的更新)。這種方法會對基于代碼的測試(開發(fā)階段與集成階段)產(chǎn)生很重要的影響,但是不管在那個階段,如果在執(zhí)行前多做一點計劃和設計,都會大幅度的提高測試效率,改善測試結(jié)果,同時還有利于測試案例的重用與測試數(shù)據(jù)的分析,所以我們的測試計劃是在策劃時就形成了,為后繼的測試形成了良好的基礎。
            集成測試階段
            集成測試是對整個系統(tǒng)的測試。由于前期測試與開發(fā)的并行,集成測試已經(jīng)基本完成,這時只需要對前期在設計階段中設計的系統(tǒng)測試案例運行一下就OK了。我們主要的重心在集成測試中的兼容性測試,由于游戲測試的特殊性,對兼容性的要求特別高,所以我們采用了外部與內(nèi)部同部進行的方式,內(nèi)部我們有自己的平臺試驗室,搭建主流的硬軟件測試環(huán)境,同時我們還通過一些專業(yè)的兼容性測試機構(gòu)對我們的游戲軟件做兼容性分析,讓我們的游戲軟件可以跑在更多的機器上。
            游戲可玩性測試
            游戲可玩性測試也是非常重要的一塊,主要包含四個方面:
            1. 游戲世界的搭建,包含聊天功能,交易系統(tǒng),組隊等可以讓玩家在游戲世界交互的平臺。
            2. 游戲世界事件的驅(qū)動,主要指任務。
            3. 游戲世界的競爭與平衡。
            4. 游戲世界文化蘊涵,游戲的風格與體現(xiàn)。
            這種測試主要體現(xiàn)在游戲可玩性方面,雖然策劃時我們對可玩性作了一定的評估,但這是總體上的,但一些具體的涉及到某個數(shù)據(jù)的分析,比如PK參數(shù)的調(diào)整,技能的增加等一些增強可玩性的測試則需要職業(yè)玩家對它進行分析,這里我們主要通過三種方式來進行:
            1. 內(nèi)部的測試人員,他們都是精選的職業(yè)玩家分析人員,對游戲有很深的認識,在內(nèi)部測試時,對上面的四點進行分析。
            2. 利用外部游戲媒體專業(yè)人員對游戲作分析與介紹,既可以達到宣傳的效果,又可以達到測試的目的,通常這種方式是比較好的。
            3. 利用外部一定數(shù)量的玩家,對外圍系統(tǒng)的測試,他們是普通的玩家,但卻是我們最主要的目標,主要的來源是大中院校的學生等等,主要測試游戲的可玩性與易用性,發(fā)現(xiàn)一些外圍的Bug。
            4. 游戲進入到最后階段時,還要做內(nèi)測,公測,有點像應用軟件的beta版的測試,讓更多的人參與測試,測試大量玩家下的運行情況。
            可玩性測試是游戲最重要的一塊,只有玩家的認同,我們才可能成功。
            性能測試與優(yōu)化
            ?最后要單獨提一下的是性能優(yōu)化,在單機版的時代,性能的要求并不是很高,但是在網(wǎng)絡版的時代,則是兩個完全不同的概念,主要包含了以下幾個方面:應用在客戶端性能的測試、應用在網(wǎng)絡上性能的測試和應用在服務器端性能的測試。通常情況下,三方面有效、合理的結(jié)合,可以達到對系統(tǒng)性能全面的分析和瓶頸的預測。不過在測試過程中有這樣一個原則,就是由于測試是在集成測試完成或接近完成時進行,要求測試的功能點能夠走通,這時你首先要進行優(yōu)化的是數(shù)據(jù)庫或是網(wǎng)絡本身的配制,只有這樣才可以規(guī)避改動程序的風險。同時性能的測試與優(yōu)化是一個逐步完善的過程,需要前期的很多的工作,比如性能需求,測試工具等等,不過由于前期工作的完善,這些都在前期完成了。這里我只做原則性的描述。
            ?數(shù)據(jù)庫的優(yōu)化的原則主要是這樣的,首先是索引進行優(yōu)化,由于索引的優(yōu)化不需要對表結(jié)構(gòu)進行任何改動,是最簡單的一種,又不需要改動程序就可能提升性能若干倍,不過要注意的是索引不是萬能的,若是無限的增加會對增刪改造成很大的影響。其次是對表,視圖,存儲過程的優(yōu)化。不過在分析之前需要知道優(yōu)化的目標,客戶行為中那些SQ是執(zhí)行的最多的,所以我們必需借助些SQ的跟蹤分析工具,例如SQProfie,SQExpert,等工具,這樣會迅速的定位問題。
            ?關于網(wǎng)絡的優(yōu)化,這里我所說的并不是針對網(wǎng)絡本身的優(yōu)化,而是對游戲本身的網(wǎng)絡通信的優(yōu)化,所以它是與程序的優(yōu)化是結(jié)合在一起的,首先也是發(fā)現(xiàn)問題,通過Monitor與Sniff先定位是什么應用占用了較多的網(wǎng)絡流量,由于網(wǎng)絡游戲的用戶巨大,所以這也是一個重在的問題。對于程序的性能優(yōu)化,最主要的是找到運行時間最長的函數(shù),只有優(yōu)化它,性能才有大幅度的提升,具體的方法我就不做詳細的描述了。
            總述
            ?游戲測試是一個新的領域,它既有通用測試的特點,又有自己的特點,有許多未知的路要走,每天都在總結(jié),希望給大家?guī)硪恍椭?同時在這里也謝謝所有支持我的同事。

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

            久久九九久精品国产| 久久精品国产福利国产秒| 999久久久无码国产精品| 亚洲国产精品嫩草影院久久 | 日韩十八禁一区二区久久| 国产情侣久久久久aⅴ免费| 亚洲国产精品18久久久久久| 久久综合久久综合亚洲| 久久久久一本毛久久久| 久久精品国产国产精品四凭| 久久久99精品一区二区| 国产精品午夜久久| 久久夜色精品国产www| 久久播电影网| 少妇熟女久久综合网色欲| 狠狠色丁香久久婷婷综合| 色婷婷综合久久久久中文一区二区| 久久精品国产精品亚洲精品| 亚洲va久久久噜噜噜久久男同 | 国产精品久久久99| 久久精品国产福利国产琪琪| 日本加勒比久久精品| 97久久国产综合精品女不卡| 精品久久久久久成人AV| 成人精品一区二区久久| 亚洲欧美日韩久久精品| 人妻无码αv中文字幕久久琪琪布| 久久久久人妻精品一区二区三区| 欧美久久综合性欧美| 午夜视频久久久久一区| 99久久er这里只有精品18| 欧美777精品久久久久网| 欧美日韩成人精品久久久免费看 | 国产91久久精品一区二区| 婷婷综合久久中文字幕| 97精品依人久久久大香线蕉97 | 久久精品国产亚洲AV忘忧草18 | 久久婷婷五月综合成人D啪| 亚洲中文字幕无码久久精品1| 久久综合九色综合精品| 久久综合香蕉国产蜜臀AV|