網(wǎng)絡(luò)游戲性能測試方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種網(wǎng)絡(luò)游戲性能測試方法,包括:采用自動化測試工具錄制各種角色操作形成測試腳本,對測試腳本進行處理并生成測試腳本集;連接測試腳本集和游戲服務(wù)器,采用自動化測試工具設(shè)置模擬游戲角色及個數(shù),根據(jù)預(yù)先設(shè)置的模擬游戲角色及角色交互規(guī)則調(diào)用與模擬游戲角色相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的互動操作;采用自動化測試工具監(jiān)控游戲服務(wù)器的性能變化、收集測試腳本運行結(jié)果并輸出性能測試報告。本發(fā)明還公開一種網(wǎng)絡(luò)游戲性能測試系統(tǒng)。
【專利說明】網(wǎng)絡(luò)游戲性能測試方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種網(wǎng)絡(luò)游戲性能測試方法及系統(tǒng)。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)游戲正式發(fā)布前,一般需要對該游戲系統(tǒng)進行性能測試,通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。在短時間內(nèi),由一定數(shù)量級的游戲角色(即游戲中由用戶操作的游戲角色)同時進行游戲,以測試游戲服務(wù)器及服務(wù)器程序的穩(wěn)定性以及可靠性。
[0003]當前主要有三種類型的網(wǎng)絡(luò)游戲,分別是:傳統(tǒng)的C/S架構(gòu)的網(wǎng)絡(luò)游戲、B/S架構(gòu)的網(wǎng)頁游戲、WAP網(wǎng)絡(luò)游戲,在不同類型的網(wǎng)絡(luò)游戲中,游戲角色操作均可劃分為兩大類:
[0004]I)是游戲客戶端與游戲服務(wù)器的交互,如:登陸,創(chuàng)建角色,購買道具之類。這類交互數(shù)據(jù)包包括游戲客戶端發(fā)送請求包給游戲服務(wù)器,游戲客戶端接收游戲服務(wù)器返回的應(yīng)答包。
[0005]2)是角色與角色之間的交互,如:游戲角色之間的聊天,游戲角色之間的戰(zhàn)斗。例如,當游戲客戶端A要與游戲客戶端B交互時,這類交互數(shù)據(jù)包包括游戲客戶端A發(fā)送要與游戲客戶端B交互的操作請求信息給游戲服務(wù)器,游戲服務(wù)器再把操作請求信息發(fā)送到游戲客戶端B,游戲客戶端B通過游戲服務(wù)器發(fā)送交互信息至游戲客戶端A。
[0006]針對上述類型的網(wǎng)絡(luò)游戲,現(xiàn)有主要的性能測試方法有如下幾種:
[0007]I)機器人模擬技術(shù):自主研發(fā)一系列機器人程序,每個機器人都分別模擬一個在網(wǎng)絡(luò)游戲中由游戲用戶操作的游戲角色,然后通過批量控制機器人程序?qū)崿F(xiàn)多用戶操作,達到性能測試的效果。
[0008]2)采用自動化測試工具進行性能測試:錄制底層協(xié)議來模擬用戶訪問游戲服務(wù)器,與游戲服務(wù)器進行交互。
[0009]3)進行內(nèi)測、公測、封測等開放性能測試,讓大量的游戲用戶在測試游戲服務(wù)器中進行游戲,進行真實的性能測試。
[0010]現(xiàn)有性能測試方法的缺點如下:
[0011]I)機器人模擬技術(shù)和自動化測試工具進行性能測試的缺點是:機器人或自動化測試工具生生成的測試腳本只能模擬游戲角色和游戲服務(wù)器的數(shù)據(jù)交互,但無法實現(xiàn)不同游戲角色之間的互動與交流,因此所模擬的游戲角色的行為呆板,難以模擬大量游戲角色之間的復(fù)雜行為,即游戲中各個游戲角色之間的各種交互行為,例如:聊天、組隊、多人副本、PK等),從而難以滿足游戲測試的需要。
[0012]2)公測/內(nèi)測/封測需要前期宣傳,成本投入偏高,參與測試的人數(shù)和規(guī)模不確定。
【發(fā)明內(nèi)容】
[0013]為了解決現(xiàn)有技術(shù)采用機器人或自動化測試工具生生成的測試腳本只能模擬游戲角色和游戲服務(wù)器的數(shù)據(jù)交互,但無法實現(xiàn)不同游戲角色之間的互動與交流的技術(shù)缺陷,本發(fā)明提供一種網(wǎng)絡(luò)游戲性能測試方法及系統(tǒng)。
[0014]本發(fā)明采用的一個技術(shù)方案是:
[0015]提供一種網(wǎng)絡(luò)游戲性能測試方法,包括步驟S101、采用自動化測試工具錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本,根據(jù)角色操作類型拆分操作腳本生成測試腳本,對測試腳本進行處理并生成測試腳本集;S102、采用自動化測試工具設(shè)置模擬游戲角色的個數(shù),連接測試腳本集和游戲服務(wù)器,根據(jù)預(yù)先設(shè)置的模擬游戲角色以及角色交互規(guī)則調(diào)用相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的交互操作;S103、采用自動化測試工具監(jiān)控游戲服務(wù)器的性能變化、收集測試腳本運行結(jié)果并輸出不同并發(fā)游戲用戶條件下的初始性能測試數(shù)據(jù),所述初始性能測試數(shù)據(jù)包含操作響應(yīng)時間、吞吐量、每秒操作數(shù)、游戲服務(wù)器CPU以及內(nèi)存信息;S104、將所述初始性能測試數(shù)據(jù)與測試前協(xié)商制定的關(guān)鍵性能指標進行對比分析,評估該游戲系統(tǒng)可支持的用戶級別以及在不同用戶級別下對應(yīng)的系統(tǒng)性能,并根據(jù)所述不同用戶級別下對應(yīng)的系統(tǒng)性能輸出性能測試報告。
[0016]本發(fā)明采用的另一個技術(shù)方案是:
[0017]提供一種網(wǎng)絡(luò)游戲性能測試系統(tǒng),包括測試計算機、游戲服務(wù)器、游戲客戶端,所述測試計算機包括自動化測試工具、測試腳本集生成模塊、運行模塊、實時監(jiān)控模塊以及測試結(jié)果生成模塊;所述測試腳本集生成模塊用于采用自動化測試工具錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本,根據(jù)角色操作類型拆分操作腳本生成測試腳本,對測試腳本進行處理并生成測試腳本集;所述運行模塊用于采用自動化測試工具設(shè)置模擬游戲角色的個數(shù),連接測試腳本集和游戲服務(wù)器,根據(jù)預(yù)先設(shè)置的模擬游戲角色以及角色交互規(guī)則調(diào)用相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的交互操作;所述實時監(jiān)控模塊用于采用自動化測試工具監(jiān)控游戲服務(wù)器的性能變化、收集測試腳本運行結(jié)果并輸出不同并發(fā)游戲用戶條件下的初始性能測試數(shù)據(jù),所述初始性能測試數(shù)據(jù)包含操作響應(yīng)時間、吞吐量、每秒操作數(shù)、游戲服務(wù)器CPU以及內(nèi)存信息;所述測試結(jié)果生成模塊用于將所述初始性能測試數(shù)據(jù)與測試前協(xié)商制定的關(guān)鍵性能指標進行對比分析,評估該游戲系統(tǒng)可支持的用戶級別以及在不同用戶級別下對應(yīng)的系統(tǒng)性能,并根據(jù)所述不同用戶級別下對應(yīng)的系統(tǒng)性能輸出性能測試報告。`
[0018]本發(fā)明的網(wǎng)絡(luò)游戲性能測試方法和系統(tǒng),通過實時監(jiān)控模塊和自動化工具錄制腳本相結(jié)合模擬游戲系統(tǒng)中游戲用戶的各種角色操作,解決機器人程序或自動化測試工具無法實現(xiàn)游戲角色的交互問題;能根據(jù)測試需要多線程調(diào)用測試腳本,模擬多個虛擬游戲角色操作,實現(xiàn)對游戲系統(tǒng)的性能測試;利用自動化測試工具強大的性能監(jiān)控和分析功能,實現(xiàn)對游戲系統(tǒng)性能測試。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明一實施方式中一種網(wǎng)絡(luò)游戲性能測試系統(tǒng)的架構(gòu)圖;
[0020]圖2是本發(fā)明一實施方式中一種網(wǎng)絡(luò)游戲性能測試方法的執(zhí)行流程圖;
[0021]主要元件符號說明
[0022]測試計算機10
[0023]游戲服務(wù)器20[0024]游戲客戶端30
[0025]自動化測試工具11
[0026]測試腳本集生成模塊12
[0027]運行模塊13
[0028]實時監(jiān)控模塊14
[0029]測試結(jié)果生成模塊15
【具體實施方式】
[0030]為詳細說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖詳予說明。
[0031]請一并參閱圖1,是本發(fā)明一實施方式中一種網(wǎng)絡(luò)游戲性能測試系統(tǒng)的架構(gòu)圖。該網(wǎng)絡(luò)游戲性能測試系統(tǒng),包括測試計算機10、游戲服務(wù)器20、游戲客戶端30,所述測試計算機10包括自動化測試工具11、測試腳本集生成模塊12、運行模塊13、實時監(jiān)控模塊14以及測試結(jié)果生成模塊15。
[0032]所述測試腳本集生成模塊12用于采用自動化測試工具11錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本,根據(jù)角色操作類型拆分操作腳本生成測試腳本,對測試腳本進行處理并生成測試腳本集。
[0033]所述運行模塊13用于采用自動化測試工具11設(shè)置模擬游戲角色的個數(shù),連接測試腳本集和游戲服務(wù)器,根據(jù)預(yù)先設(shè)置的模擬游戲角色以及角色交互規(guī)則調(diào)用相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的交互操作。
[0034]所述實時監(jiān)控模塊14用于采用自動化測試工具11監(jiān)控游戲服務(wù)器20的性能變化、收集測試腳本運行結(jié)果并輸出不同并發(fā)游戲用戶條件下的初始性能測試數(shù)據(jù),所述初始性能測試數(shù)據(jù)包含操作響應(yīng)時間、吞吐量、每秒操作數(shù)、游戲服務(wù)器CPU以及內(nèi)存信息。
[0035]所述測試結(jié)果生成模塊15用于將所述初始性能測試數(shù)據(jù)與測試前協(xié)商制定的關(guān)鍵性能指標進行對比分析,評估該游戲系統(tǒng)可支持的用戶級別以及在不同用戶級別下對應(yīng)的系統(tǒng)性能,并根據(jù)所述不同用戶級別下對應(yīng)的系統(tǒng)性能輸出性能測試報告。
[0036]在本實施方式中,所述測試腳本集生成模塊12包括登錄模塊、錄制模塊、腳本參數(shù)化模塊、腳本配置模塊、腳本拆分模塊、腳本集生成模塊。
[0037]登錄模塊用于通過自動化測試工具啟動并調(diào)用游戲客戶端30進行登錄操作;錄制模塊用于通過自動化測試工具調(diào)用登陸成功的游戲客戶端30和游戲服務(wù)器進行游戲交互操作,錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本;腳本參數(shù)化模塊用于對錄制的操作腳本進行參數(shù)化:把不同請求中和游戲角色相關(guān)信息分別用參數(shù)替換,并將參數(shù)值存入?yún)?shù)文件中,所述參數(shù)包括游戲角色賬號、角色操作類型、角色操作信息;腳本配置模塊用于對錄制的操作腳本進行配置,所述配置包含加入操作間隔時間、加入集合點、以及在每個交互操作加入檢查點;腳本拆分模塊用于按角色操作類型把錄制的操作腳本進行拆分,使每個游戲角色賬號操作的游戲角色的交互操作形成一個單獨的測試腳本;腳本集生成模塊用于為每個測試腳本打上一個與角色操作類型唯一對應(yīng)的操作標識ID,然后匯總測試腳本生成測試腳本集。
[0038]在本實施方式中,所述運行模塊13包括設(shè)置模塊、連接模塊、判斷模塊、執(zhí)行模塊。
[0039]設(shè)置模塊用于通過自動化測試工具根據(jù)參數(shù)文件設(shè)置參與測試的游戲角色賬號、模擬游戲角色個數(shù)和測試持續(xù)時間;連接模塊用于通過自動化測試工具調(diào)用與游戲角色賬號相應(yīng)的登錄腳本,監(jiān)控游戲服務(wù)器返回登錄成功報文,使所有的測試腳本與游戲服務(wù)器建立TCP連接;判斷模塊用于當所述連接模塊簡歷TCP連接成功后,發(fā)送請求報文至游戲服務(wù)器,監(jiān)控游戲服務(wù)器返回的交互信息報文,按數(shù)據(jù)包大小字段拆分交互信息報文,分別提取操作類型和消息元素,判斷提取的操作類型和消息元素與預(yù)先設(shè)置的角色交互規(guī)則中的操作類型和操作結(jié)果狀態(tài)字段是否匹配;執(zhí)行模塊用于當所述判斷模塊判定匹配時,把游戲服務(wù)器返回的交互信息報文的全部消息元素存放在角色交互規(guī)則的角色操作信息字段中,并通知自動化測試工具從測試腳本集中依次調(diào)用與該角色交互規(guī)則中操作標識ID對應(yīng)的測試腳本。
[0040]請參閱圖2,是本發(fā)明一實施方式中一種網(wǎng)絡(luò)游戲性能測試方法的執(zhí)行流程圖,該網(wǎng)絡(luò)游戲性能測試方法包括:
[0041]步驟S101、采用自動化測試工具錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本,根據(jù)角色操作類型拆分操作腳本生成測試腳本,對測試腳本進行處理并生成測試腳本集。其中,所述游戲數(shù)據(jù)包括:游戲客戶端和游戲服務(wù)器在每次游戲交互操作過程中的交互信息、以及網(wǎng)絡(luò)游戲從開始到結(jié)束的完整運行邏輯,即游戲流程。所述交互信息包括數(shù)據(jù)輸出信息、數(shù)據(jù)輸入信息。所述操作腳本包含游戲交互操作過程中所有的游戲客戶端請求和游戲服務(wù)器應(yīng)答。
[0042]步驟S102、采用自動化測試工具設(shè)置模擬游戲角色及個數(shù),連接測試腳本集和游戲服務(wù)器,根據(jù)預(yù)先設(shè)置的模擬游戲角色以及角色交互規(guī)則調(diào)用相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的交互操作。
[0043]步驟S103、采用自動化測試工具監(jiān)控游戲服務(wù)器的性能變化、收集測試腳本運行結(jié)果并輸出不同并發(fā)游戲用戶條件下的初始性能測試數(shù)據(jù),所述初始性能測試數(shù)據(jù)包含操作響應(yīng)時間、吞吐量、每秒操作數(shù)、游戲服務(wù)器CPU以及內(nèi)存信息。
[0044]步驟S104、將所述初始性能測試數(shù)據(jù)與測試前制定的關(guān)鍵性能指標進行對比分析,評估游戲服務(wù)器可支持的游戲角色級別以及在不同游戲角色級別下對應(yīng)的系統(tǒng)性能,并根據(jù)所述不同游戲角色級別下對應(yīng)的系統(tǒng)性能輸出性能測試報告。
[0045]其中,自動化測試工具安裝在測試計算機上,待測試的游戲客戶端安裝在測試設(shè)備上,上述網(wǎng)絡(luò)游戲一般是指MMORPG游戲,上述測試設(shè)備可以是的計算機、手機、PAD等。
[0046]下面結(jié)合游戲用戶撮合戰(zhàn)斗為實例,對本發(fā)明的網(wǎng)絡(luò)游戲性能測試方法進行進一步詳細的說明。在游戲用戶撮合戰(zhàn)斗實例中,游戲流程包括:登錄、創(chuàng)建房間、進入房間、撮合、戰(zhàn)斗、發(fā)動技能攻擊、戰(zhàn)斗結(jié)束等。
[0047]在本實施方式中,所述步驟SlOl具體包括如下步驟:
[0048]步驟S1011、通過自動化測試工具啟動并調(diào)用游戲客戶端進行登錄操作。
[0049]步驟S1012、通過自動化測試工具調(diào)用登陸成功的游戲客戶端和游戲服務(wù)器進行游戲交互操作,錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本。
[0050]步驟S1013、對錄制的操作腳本進行參數(shù)化:把不同請求中和游戲角色相關(guān)信息分別用參數(shù)替換,并將參數(shù)值存入?yún)?shù)文件中。如此,測試執(zhí)行時腳本自動從參數(shù)文件中讀取相應(yīng)參數(shù)值,所述參數(shù)包括游戲角色賬號、角色操作類型、角色操作信息等。
[0051]步驟S1014、對錄制的操作腳本進行配置,所述配置包含加入操作間隔時間、加入集合點、以及在每個交互操作加入檢查點。其中,操作間隔時間用于模擬真實游戲用戶的思考時間,可以反應(yīng)不同操作熟練程度的游戲用戶;集合點用于模擬大量游戲用戶在同一個時間點的游戲操作;檢查點用于在交互操作后面增加結(jié)果判定,檢查該交互操作是否有得到預(yù)期的返回值或圖片信息等。
[0052]步驟S1015、按角色操作類型把錄制的操作腳本進行拆分,使每個游戲角色賬號操作的游戲角色的交互操作形成一個單獨的測試腳本。即,每個測試腳本分別模擬一個在網(wǎng)絡(luò)游戲中由游戲角色賬號操作的游戲角色。
[0053]步驟S1016、為每個測試腳本打上一個與角色操作類型唯一對應(yīng)的操作標識ID,然后匯總測試腳本生成測試腳本集。
[0054]具體地,所述步驟S102包括如下步驟:
[0055]步驟S1021、通過自動化測試工具根據(jù)參數(shù)文件設(shè)置參與測試的游戲角色賬號、模擬游戲角色個數(shù)和測試持續(xù)時間。
[0056]步驟S1022、通過自動化測試工具調(diào)用與游戲角色賬號相應(yīng)的登錄腳本,監(jiān)控游戲服務(wù)器返回登錄成功報文,使所有的測試腳本與游戲服務(wù)器建立TCP連接,然后進入步驟S1023。在本步驟中,登錄成功時游戲服務(wù)器返回的登陸成功報文包含:游戲角色賬號信息、游戲服務(wù)器ID、房間列表信息。
[0057]步驟S1023、發(fā)送請求報文至游戲服務(wù)器,監(jiān)控游戲服務(wù)器返回的交互信息報文,按數(shù)據(jù)包大小字段拆分交互信息報文,分別提取操作類型和消息元素,判斷提取的操作類型和消息元素與預(yù)先設(shè)置的角色交互規(guī)則中的操作類型和操作結(jié)果狀態(tài)字段是否匹配,若是,執(zhí)行步驟S1024。
[0058]不同的操作類型有不同的結(jié)果狀態(tài),所以要分別提取返回的交互信息報文中的操作類型、操作結(jié)果狀態(tài)字段。角色交互規(guī)則中預(yù)設(shè)不同操作類型可能的結(jié)果狀態(tài),提取字段進行匹配比較,如果操作類型、結(jié)果狀態(tài)字段這兩組字符相同,則判斷為與交互規(guī)則匹配,決定下一個階段的操作標識ID,即決定調(diào)用哪個測試腳本。
[0059]請參閱表一,是交互信息報文的數(shù)據(jù)結(jié)構(gòu),交互信息報文的字段包括數(shù)據(jù)包大小、操作類型、消息元素。
[0060]數(shù)據(jù)包大小(MsgSize)字段表示數(shù)據(jù)包的大小,用于分割不同的消息包,不同類型的數(shù)據(jù)包的大小可以不相同,因此,任何類型的數(shù)據(jù)包中都具有該字段,通過該字段即可獲知該數(shù)據(jù)包的大小。
[0061]操作類型(MsgType)字段是一個字符串,表示角色操作類型,用于區(qū)分不同種類的角色交互信息。
[0062]消息元素(MsgObj)字段是一個字符串,用于區(qū)分同一操作類型下不同的信息內(nèi)容。例如,消息元素字段中可以是游戲客戶端游所模擬的游戲角色的名字,表明該數(shù)據(jù)包是由某個游戲角色對應(yīng)的游戲客戶端模擬寫入的信息。
[0063]表一請求報文的結(jié)構(gòu)
[0064]
【權(quán)利要求】
1.一種網(wǎng)絡(luò)游戲性能測試方法,其特征在于,包括: S101、采用自動化測試工具錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本,根據(jù)角色操作類型拆分操作腳本生成測試腳本,對測試腳本進行處理并生成測試腳本集; S102、采用自動化測試工具設(shè)置模擬游戲角色及個數(shù),連接測試腳本集和游戲服務(wù)器,根據(jù)預(yù)先設(shè)置的模擬游戲角色以及角色交互規(guī)則調(diào)用相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的交互操作; S103、采用自動化測試工具監(jiān)控游戲服務(wù)器的性能變化、收集測試腳本運行結(jié)果并輸出不同并發(fā)游戲用戶條件下的初始性能測試數(shù)據(jù),所述初始性能測試數(shù)據(jù)包含操作響應(yīng)時間、吞吐量、每秒操作數(shù)、游戲服務(wù)器CPU以及內(nèi)存信息; S104、將所述初始性能測試數(shù)據(jù)與測試前協(xié)商制定的關(guān)鍵性能指標進行對比分析,評估該游戲系統(tǒng)可支持的用戶級別以及在不同用戶級別下對應(yīng)的系統(tǒng)性能,并根據(jù)所述不同用戶級別下對應(yīng)的系統(tǒng)性能輸出性能測試報告。
2.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)游戲性能測試方法,其特征在于,所述步驟SlOl具體包括如下步驟: S1011、通過自動化測試工具啟動并調(diào)用游戲客戶端進行登錄操作; S1012、通過自動化測試工具調(diào)用登陸成功的游戲客戶端和游戲服務(wù)器進行游戲交互操作,錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本; S1013、對錄制的操作腳本進行參數(shù)化:把不同請求中和游戲角色相關(guān)信息分別用參數(shù)替換,并將參數(shù)值存入?yún)?shù)文件中,所述參數(shù)包括游戲角色賬號、角色操作類型、角色操作信息; S1014、對錄制的操作腳本進行配置,所述配置包含加入操作間隔時間、加入集合點、以及在每個交互操作加入檢查點; S101S、按角色操作類型把錄制的操作腳本進行拆分,使每個游戲角色賬號操作的游戲角色的交互操作形成一個單獨的測試腳本; S1016、為每個測試腳本打上一個與角色操作類型唯一對應(yīng)的操作標識ID,然后匯總測試腳本生成測試腳本集。
3.根據(jù)權(quán)利要求2所述的一種網(wǎng)絡(luò)游戲性能測試方法,其特征在于,所述步驟S102包括如下步驟: S1021、通過自動化測試工具根據(jù)參數(shù)文件設(shè)置參與測試的游戲角色賬號、模擬游戲角色個數(shù)和測試持續(xù)時間; S1022、通過自動化測試工具調(diào)用與游戲用戶賬號相應(yīng)的登錄腳本,監(jiān)控游戲服務(wù)器返回登錄成功報文,使所有的測試腳本與游戲服務(wù)器建立TCP連接,然后進入步驟S1023 ; S1023、發(fā)送請求報文至游戲服務(wù)器,監(jiān)控游戲服務(wù)器返回的交互信息報文,按數(shù)據(jù)包大小字段拆分交互信息報文,分別提取操作類型和消息元素,判斷提取的操作類型和消息元素與預(yù)先設(shè)置的角色交互規(guī)則中的操作類型和操作結(jié)果狀態(tài)字段是否匹配,若是,執(zhí)行步驟S1024 ; S1024、把游戲服務(wù)器返回的交互信息報文的全部消息元素存放在角色交互規(guī)則的角色操作信息字段中,并通知自動化測試工具從測試腳本集中依次調(diào)用與該角色交互規(guī)則中操作標識ID對應(yīng)的測試腳本。
4.一種網(wǎng)絡(luò)游戲性能測試系統(tǒng),其特征在于,包括測試計算機、游戲服務(wù)器、游戲客戶端,所述測試計算機包括自動化測試工具、測試腳本集生成模塊、運行模塊、實時監(jiān)控模塊以及測試結(jié)果生成模塊; 所述測試腳本集生成模塊用于采用自動化測試工具錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本,根據(jù)角色操作類型拆分操作腳本生成測試腳本,對測試腳本進行處理并生成測試腳本集; 所述運行模塊用于采用自動化測試工具設(shè)置模擬游戲角色及個數(shù),連接測試腳本集和游戲服務(wù)器,根據(jù)預(yù)先設(shè)置的模擬游戲角色以及角色交互規(guī)則調(diào)用相應(yīng)的測試腳本,并運行測試腳本以模擬角色間的交互操作; 所述實時監(jiān)控模塊用于采用自動化測試工具監(jiān)控游戲服務(wù)器的性能變化、收集測試腳本運行結(jié)果并輸出不同并發(fā)游戲用戶條件下的初始性能測試數(shù)據(jù),所述初始性能測試數(shù)據(jù)包含操作響應(yīng)時間、吞吐量、每秒操作數(shù)、游戲服務(wù)器CPU以及內(nèi)存信息; 所述測試結(jié)果生成模塊用于將所述初始性能測試數(shù)據(jù)與測試前協(xié)商制定的關(guān)鍵性能指標進行對比分析,評估該游戲系統(tǒng)可支持的用戶級別以及在不同用戶級別下對應(yīng)的系統(tǒng)性能,并根據(jù)所述不同用戶級別下對應(yīng)的系統(tǒng)性能輸出性能測試報告。
5.根據(jù)權(quán)利要求4所述的一種網(wǎng)絡(luò)游戲性能測試系統(tǒng),其特征在于,所述測試腳本集生成模塊包括: 登錄模塊,用于通過自動化測試工具啟動并調(diào)用游戲客戶端進行登錄操作; 錄制模塊,用于通過自動化測試工具調(diào)用登陸成功的游戲客戶端和游戲服務(wù)器進行游戲交互操作,錄制獲取網(wǎng)絡(luò)游戲完整運行后的游戲數(shù)據(jù)和操作腳本; 腳本參數(shù)化模塊,用于對錄制的操作腳本進行參數(shù)化:把不同請求中和游戲角色相關(guān)信息分別用參數(shù)替換,并將參數(shù)值存入?yún)?shù)文件中,所述參數(shù)包括游戲角色賬號、角色操作類型、角色操作信息等; 腳本配置模塊,用于對錄制的操作腳本進行配置,所述配置包含加入操作間隔時間、加入集合點、以及在每個交互操作加入檢查點; 腳本拆分模塊,用于按角色操作類型把錄制的操作腳本進行拆分,使每個游戲角色賬號操作的游戲角色的交互操作形成一個單獨的測試腳本;以及 腳本集生成模塊,用于為每個測試腳本打上一個與角色操作類型唯一對應(yīng)的操作標識ID,然后匯總測試腳本生成測試腳本集。
6.根據(jù)權(quán)利要求5述的一種網(wǎng)絡(luò)游戲性能測試系統(tǒng),其特征在于,所述運行模塊包括: 設(shè)置模塊,用于通過自動化測試工具根據(jù)參數(shù)文件設(shè)置參與測試的游戲角色賬號、模擬游戲角色個數(shù)和測試持續(xù)時間; 連接模塊,用于通過自動化測試工具調(diào)用與游戲角色賬號相應(yīng)的登錄腳本,監(jiān)控游戲服務(wù)器返回登錄成功報文,使所有的測試腳本與游戲服務(wù)器建立TCP連接; 判斷模塊,用于當所述連接模塊簡歷TCP連接成功后,發(fā)送請求報文至游戲服務(wù)器,監(jiān)控游戲服務(wù)器返回的交互信息報文,按數(shù)據(jù)包大小字段拆分交互信息報文,分別提取操作類型和消息元素,判斷提取的操作類型和消息元素與預(yù)先設(shè)置的角色交互規(guī)則中的操作類型和操作結(jié)果狀態(tài)字段是否匹配;以及 執(zhí)行模塊,用于當所述判斷模塊判定匹配時,把游戲服務(wù)器返回的交互信息報文的全部消息元素存放在角色交互規(guī)則的角色操作信息字段中,并通知自動化測試工具從測試腳本集中依次調(diào)用與 該角色交互規(guī)則中操作標識ID對應(yīng)的測試腳本。
【文檔編號】G06F11/36GK103593294SQ201310595306
【公開日】2014年2月19日 申請日期:2013年11月21日 優(yōu)先權(quán)日:2013年11月21日
【發(fā)明者】劉德建, 陳宏展, 黃雪華, 郭云 申請人:福建天晴數(shù)碼有限公司