一種游戲用自動化測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及測試領(lǐng)域,具體涉及一種游戲用自動化測試方法。
【背景技術(shù)】
[0002]軟件測試是利用測試工具按照測試方案和用例對產(chǎn)品進行功能和性能測試,對測試出現(xiàn)的問題進行分析和評估,以確保開發(fā)的產(chǎn)品適合需求。在對軟件產(chǎn)品進行自動化測試的過程中,通常需要測試人員掌握腳本語言,然后按照腳本語言的語法要求進行測試腳本的編碼與調(diào)試。
[0003]目前測試游戲常用的一種自動化測試方法是黑盒自動化測試,其通過對測試的操作過程進行錄制生成測試腳本,然后通過對測試腳木進行回放來多次執(zhí)行同樣的測試過程。但是,由于這些通過錄制建立的測試腳本通常都是用腳本語言以硬編碼的方式編寫的,其只在有幾種環(huán)境或者特定條件下才可以工作,并且極小的變更都會導(dǎo)致無法正確執(zhí)行測試。通常游戲開發(fā)階段,游戲開發(fā)人員主動把游戲的運行狀態(tài)通過文件或通訊的手段傳送出來,測試人員再根據(jù)得到的相關(guān)傳送數(shù)據(jù)為外界自動化測試工具提供判定條件。這種測試方法不能獲取到游戲的運行狀態(tài),只是一味的執(zhí)行操作,對于測試途中出現(xiàn)的意外也檢測不出來,甚至連測試用例是否成功與失敗的判定標準都沒有。因此,這種測試方法對游戲開發(fā)人員過度依賴,不能主動的獲取到游戲的運行狀態(tài),非常的被動。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本申請?zhí)峁┮环N游戲用自動化測試方法,測試過程中能夠?qū)崟r獲取游戲的運行變化狀態(tài),避免自動化測試由于誤操作導(dǎo)致的問題,提高了測試的準確性及游戲的穩(wěn)定性。
[0005]為解決以上技術(shù)問題,本發(fā)明提供的技術(shù)方案是一種游戲用自動化測試方法,包括以下步驟:
[0006]S1、判斷待測試游戲是否嵌入自動化插件,若是沒有嵌入,則進入黑盒自動化測試,否則進入嵌入式自動化測試;
[0007]S2、自動化測試設(shè)備中的自動化工具錄制用戶的操作步驟;
[0008]S3、運行測試用例腳本,驅(qū)動設(shè)備執(zhí)行所述腳本,完成自動化測試;
[0009]S4、生成測試報告。
[0010]進一步地,所述自動化插件是Unity插件或Cocos2dx插件。
[0011]進一步地,所述步驟S2還可以是:自定義測試用例腳本。
[0012]進一步地,所述步驟S3具體包括:
[0013]S31、判斷測試用例腳本中預(yù)先設(shè)置的測試點;
[0014]S32、自動化測試工具獲取正在測試的游戲的運行狀態(tài)和數(shù)據(jù);
[0015]S33、驗證步驟S32中獲取的數(shù)據(jù)與步驟S31中測試點是否合理,若驗證通過,繼續(xù)自動化測試,否則判斷為測試用例執(zhí)行結(jié)果不通過,作異常處理。
[0016]進一步地,所述步驟S3可以驅(qū)動單臺設(shè)備或者多臺設(shè)備。
[0017]進一步地,所述步驟S3之前還包括:所述自動化插件和游戲同時運行,自動化插件遍歷游戲Π控件,獲取到游戲的數(shù)據(jù)信息。
[0018]進一步地,所述獲取到的游戲數(shù)據(jù)存儲在所述設(shè)備的文件中。
[0019]進一步地,所述步驟S32還包括分析已獲取到的游戲運行狀態(tài)和數(shù)據(jù)。
[0020]進一步地,所述測試用例腳本包括至少兩種測試語言的測試腳本。
[0021]進一步地,所述自動化插件用于進行游戲界面控件識別,提供編寫腳本的檢查判斷條件項。
[0022]本申請與現(xiàn)有技術(shù)相比,其詳細說明如下:
[0023]1、測試過程中能夠?qū)崟r的獲取游戲的運行狀態(tài)和數(shù)據(jù)。在自動化測試的時候有明確的判斷標準,不會導(dǎo)致錯誤的操作,能做出準確的測試報告;
[0024]2、在做自動化測試的時候。如果游戲發(fā)生錯誤,能獲取到錯誤,并能分析錯誤,主動找出游戲的錯誤原因;
[0025]3、在做性能測試的時候,能實時的記錄運行設(shè)備的性能數(shù)據(jù),在做自動化測試的時候也把性能測試完成了;
[0026]4、能同時驅(qū)動多臺設(shè)備同時運行游戲,可分配不同的任務(wù),提高測試效率,節(jié)約人力成本。
【附圖說明】
[0027]圖1是本申請游戲用自動化測試方法系統(tǒng)流程圖;
[0028]圖2是本申請游戲用自動化測試方法測試流程圖。
【具體實施方式】
[0029]本發(fā)明的核心思路是測試過程中能實時地獲取游戲的運行狀態(tài)和游戲數(shù)據(jù)。在自動化測試的時候有明確的判斷標準,如果游戲發(fā)生錯誤,能獲取到錯誤信息,并分析錯誤,主動找出游戲的錯誤原因,進而避免錯誤的操作,做出準確的測試報告。
[0030]為了使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合具體實施例對本發(fā)明作進一步的詳細說明。
[0031]本申請實施例提供一種游戲用自動化測試方法,參見圖1本申請游戲用自動化測試方法系統(tǒng)流程圖,包括以下幾個步驟:
[0032]步驟S1、判斷待測試游戲是否嵌入Unity插件或Cocos2dx插件,若是沒有嵌入,則進入黑盒自動化測試,否則進入嵌入式自動化測試;
[0033]步驟S2、自動化測試設(shè)備中的自動化工具錄制用戶的操作步驟或者自定義測試用例腳本;
[0034]步驟S3、運行測試用例腳本,驅(qū)動單臺或多臺設(shè)備執(zhí)行所述腳本,完成自動化測試;
[0035]步驟S4、生成測試報告,包括測試結(jié)果、性能測試報告和運行錯誤分析報告。
[0036]本申請實施例中,所述步驟S3具體包括以下步驟,如圖2所示:
[0037]步驟S31、獲取測試用例腳本中預(yù)先設(shè)置的測試點;
[0038]步驟S32、自動化測試工具獲取正在測試的游戲的運行狀態(tài)和數(shù)據(jù);
[0039]步驟S33、驗證步驟S32中獲取的數(shù)據(jù)與步驟S31中測試點是否合理,若驗證通過,繼續(xù)自動化測試,否則判斷為測試用例執(zhí)行結(jié)果不通過,作異常處理。
[0040]具體測試時,所述自動化插件和游戲同時運行,自動化插件遍歷游戲Π控件,調(diào)用一些函數(shù)如:GetChilren(),GetPosit1n O等,獲取控件名稱、坐標、顯示內(nèi)容等屬性,獲取到游戲的數(shù)據(jù)信息。將這些信息存儲在所述設(shè)備的文件中。測試時,自動化測試工具讀取該文件中的數(shù)據(jù),獲取到的游戲運行狀態(tài)和數(shù)據(jù)并分析,進行自動化測試。
[0041]所述測試用例腳本包括至少兩種測試語言的測試腳本。
[0042]所述自動化插件用于進行游戲界面控件識別,提供編寫腳本的檢查判斷條件項。
[0043]實施例一:嵌入Unity插件的游戲自動化測試方法
[0044]測試流程:游戲嵌入插件_>自動化工具編寫測試腳本(腳本中包含測試點)_>運行測試腳本_>驅(qū)動游戲運行并觸發(fā)測試點檢查_>根據(jù)測試點的檢查結(jié)果打印出測試報生口 ο
[0045]需要說明的是:測試點一般設(shè)置為游戲獨有的界面控件標識,如:游戲主界面Π控件“PlayerName (100,100),Property (true) ”,表示玩家名稱,坐標橫 100,縱 100,屬性為顯示,然后自動化工具使游戲進入主界面時就會檢測這個檢查點,判斷這個檢查點是否存在,坐標是否正確,屬性是否顯示正常。
[0046]自動化工具獲取到的游戲狀態(tài)就是每一個游戲界面的所有Π控件信息,如:名稱、坐標、屬性。通過設(shè)置的檢測點與實時獲取到的游戲控件狀態(tài)對比,就能判斷該檢查點是否通過。
[0047]如果設(shè)置的檢測點不至于使游戲阻塞或中斷,繼續(xù)執(zhí)行自動化測試,測試結(jié)束再在測試報告中標注設(shè)置的測試點有哪些通過,哪些失敗。如果設(shè)置的測試點導(dǎo)致游戲中斷或阻塞直接結(jié)束測試,生成測試報告。
[0048]以上僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出的是,上述優(yōu)選實施方式不應(yīng)視為對本發(fā)明的限制,本發(fā)明的保護范圍應(yīng)當以權(quán)利要求所限定的范圍為準。對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明的精神和范圍內(nèi),還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
【主權(quán)項】
1.一種游戲用自動化測試方法,其特征在于,包括以下步驟: 51、判斷待測試游戲是否嵌入自動化插件,若是沒有嵌入,則進入黑盒自動化測試,否則進入嵌入式自動化測試; 52、自動化測試設(shè)備中的自動化工具錄制用戶的操作步驟; 53、運行測試用例腳本,驅(qū)動設(shè)備執(zhí)行所述腳本,完成自動化測試; 54、生成測試報告。
2.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述自動化插件是Unity插件或Cocos2dx插件。
3.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述步驟S2還可以是:自定義測試用例腳本。
4.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述步驟S3具體包括: 531、判斷測試用例腳本中預(yù)先設(shè)置的測試點; 532、自動化測試工具獲取正在測試的游戲的運行狀態(tài)和數(shù)據(jù); 533、驗證步驟S32中獲取的數(shù)據(jù)與步驟S31中測試點是否合理,若驗證通過,繼續(xù)自動化測試,否則判斷為測試用例執(zhí)行結(jié)果不通過,作異常處理。
5.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述步驟S3可以驅(qū)動單臺設(shè)備或者多臺設(shè)備。
6.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述步驟S3之前還包括: 所述自動化插件和游戲同時運行,自動化插件遍歷游戲UI控件,獲取到游戲的數(shù)據(jù)信息。
7.根據(jù)權(quán)利要求5所述的游戲用自動化測試方法,其特征在于,所述獲取到的游戲數(shù)據(jù)存儲在所述設(shè)備的文件中。
8.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述步驟S32還包括分析已獲取到的游戲運行狀態(tài)和數(shù)據(jù)。
9.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述測試用例腳本包括至少兩種測試語言的測試腳本。
10.根據(jù)權(quán)利要求1所述的游戲用自動化測試方法,其特征在于,所述自動化插件用于進行游戲界面控件識別,提供編寫腳本的檢查判斷條件項。
【專利摘要】本發(fā)明公開一種游戲用自動化測試方法。該自動化測試方法包括:判斷待測試游戲是否嵌入自動化插件,若是沒有嵌入,則進入黑盒自動化測試,否則進入嵌入式自動化測試;自動化測試設(shè)備中的自動化工具錄制用戶的操作步驟;運行測試用例腳本,驅(qū)動設(shè)備執(zhí)行所述腳本,完成自動化測試;生成測試報告。測試過程中能夠?qū)崟r獲取游戲的運行變化狀態(tài),避免自動化測試由于誤操作導(dǎo)致的問題,提高了測試的準確性及游戲的穩(wěn)定性。
【IPC分類】G06F11-36
【公開號】CN104699617
【申請?zhí)枴緾N201510148351
【發(fā)明人】袁光盛, 劉德賢
【申請人】成都優(yōu)聚軟件有限責任公司
【公開日】2015年6月10日
【申請日】2015年3月31日