移動設備的游戲測試方法與系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及計算機軟件測試技術領域,尤其涉及一種移動設備的游戲測試方法與 系統(tǒng)。
【背景技術】
[0002] 在移動設備的游戲上線前,為了確保游戲質量和用戶體驗,測試人員需要多次在 眾多移動設備(如智能手機、掌上電腦等)上進行游戲客戶端(即各個運行游戲的移動設 備)兼容性和性能測試,其中性能測試中涉及的性能參數(shù)。然而,移動設備的類型和型號眾 多,例如,由于Android(安卓)系統(tǒng)的開放策略,Android設備型號眾多,設備技術標準不 統(tǒng)一,Android系統(tǒng)的碎片化非常嚴重。如何方便高效地在眾多Android設備上進行游戲 客戶端兼容性和性能測試是提高測試效率重要的內(nèi)容之一。
[0003]目前移動設備的游戲運行兼容性和性能測試采用的常用方法是測試人員通過USB Hub(集線器)將多臺移動設備接在計算機上,在計算機上將游戲安裝包手動或利用腳本批 量安裝到各個移動設備上,然后手動在每臺移動設備上啟動運行游戲軟件。在運行游戲過 程中,通過人工地觀察游戲在各個移動設備上是否存在兼容性問題(如貼圖丟失、屏幕黑 邊等)來完成兼容性的測試;并且,在各個移動設備上測試游戲運行時的性能,獲取性能數(shù) 據(jù)。
[0004] 現(xiàn)有游戲客戶端的游戲測試方案雖然能夠依賴大型服務器的性能實現(xiàn)對眾多移 動設備進行統(tǒng)一管理,并能將在PC(個人計算機)端通過SSH(Secure Shell,安全外殼協(xié) 議)遠程訪問移動設備并獲取性能數(shù)據(jù),但由于移動設備是通過一臺大型服務器來進行調(diào) 度管理的,數(shù)據(jù)的獲取需要通過各臺PC逐一訪問移動設備,不可避免存在如下幾個問題:
[0005] 第一,無法根據(jù)需測試的移動設備的數(shù)量靈活的選擇PC機的數(shù)量,造成設備利用 率不高;第二,測試數(shù)據(jù)的獲取是通過PC端來實現(xiàn),而不是分別在移動設備上同時允許并 獲取性能數(shù)據(jù)和截圖,在所需測試的移動設備數(shù)量較多時,整個過程的測試時間過長;第 三,獲取游戲運行時的游戲界面后,需人工查看游戲在各種移動設備上的截取圖像是否存 在黑邊和貼圖丟失等現(xiàn)象,通過人為地判斷游戲在各種移動設備上的兼容性問題,而游戲 運行過程中需收集的截圖數(shù)據(jù)眾多,現(xiàn)有技術缺乏自動化的判定方法,增加整個測試時間 和降低測試整體效率;而人為的數(shù)據(jù)判定存在一定的誤差。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明所要解決的技術問題是,提供一種移動設備的游戲測試技術方案,實現(xiàn)對 多個移動設備的并行調(diào)度和自動化測試,簡化測試流程和縮短測試時間,提高移動設備的 游戲測試效率。
[0007] 為解決以上技術問題,一方面,本發(fā)明實施例提供一種移動設備的游戲測試方法, 包括:
[0008] 通過多個Web接口接收用戶發(fā)出的測試請求,根據(jù)所述測試請求選中一個或多個 從機節(jié)點,對從機節(jié)點所連接的各個移動設備的使用狀態(tài)進行檢測,并將測試任務分配給 空閑的一個或多個移動設備上執(zhí)行;
[0009] 接收用戶上傳的測試文件,通過所述從機節(jié)點將所述測試文件以及與所述測試請 求相對應的測試用例同步分發(fā)到空閑的移動設備上;
[0010] 控制所述移動設備安裝啟動游戲軟件,并在游戲軟件的運行中定時讀取移動設備 的系統(tǒng)文件,獲取所述游戲軟件在各個移動設備上運行時的性能參數(shù);
[0011] 對所述性能參數(shù)進行解析,生成測試結果并將所述測試結果存儲在與所述Web接 口連接的數(shù)據(jù)庫中。
[0012] 在一種可實現(xiàn)的方式中,所述測試文件包括游戲安裝包和游戲自動化運行腳本; 貝1J,所述接收用戶上傳的測試文件,通過所述從機節(jié)點將所述測試文件以及與所述測試請 求相對應的測試用例同步分發(fā)到空閑的移動設備上,具體為:
[0013] 將所述游戲自動化運行腳本以及所述測試用例封裝為壓縮文件后,將所述壓縮文 件和所述游戲安裝包分配至各個從機節(jié)點;
[0014] 所述從機節(jié)點將所述壓縮文件和所述游戲安裝包同步分發(fā)給與所述從機節(jié)點連 接的一個或多個空閑的移動設備上。
[0015] 進一步地,所述控制所述移動設備安裝啟動游戲軟件,具體為:
[0016] 控制接收到所述壓縮文件和所述游戲安裝包的移動設備對所述壓縮文件進行解 析,獲得所述游戲自動化運行腳本和所述測試用例;
[0017] 根據(jù)所述游戲自動化運行腳本中的指令,控制在所述移動設備中安裝所述游戲安 裝包,啟動安裝后的游戲軟件運行所述測試用例。
[0018] 進一步地,所述方法還包括:
[0019] 在所述游戲軟件的運行中定時對游戲界面進行截圖,獲得在各個移動設備上實時 運行的游戲界面的場景圖像;
[0020] 將所述場景圖像與參考圖像進行相似度比較,以判斷所述游戲軟件在各個移動設 備上運行時的兼容性;
[0021] 將所述場景圖像以及所述兼容性的判斷結果存儲在與所述Web接口連接的數(shù)據(jù) 庫中。
[0022] 進一步地,所述方法還包括:
[0023] 控制在移動設備上啟動后臺服務;
[0024] 通過所述后臺服務在游戲軟件的運行中定時讀取所述移動設備的系統(tǒng)文件,獲得 所述移動設備的性能參數(shù);以及,通過所述后臺服務在游戲軟件的運行中定時對所述移動 設備的游戲界面進行截圖,獲得移動設備上實時運行的游戲界面的場景圖像。
[0025] 進一步地,所述方法還包括:
[0026] 將所述性能參數(shù)、所述場景圖像以及所述場景圖像與參考圖像的相似度生成測試 報告,將所述測試報告存儲在所述數(shù)據(jù)庫中;所述性能數(shù)據(jù)包括CPU占用率、內(nèi)存占用率、 流量消耗量、電量消耗量、游戲安裝啟動時間中的一項或多項;
[0027] 并將所述數(shù)據(jù)庫中存儲的一種或多種存儲數(shù)據(jù)通過Web形式輸出顯示。
[0028] 進一步地,所述方法還包括:
[0029] 當所述場景圖像與所述參考圖像不相似時,根據(jù)所述參考圖像對所述場景圖像進 行差分處理;
[0030] 對進行差分處理后的場景圖像進行濾波和邊緣檢測,標記出在所述場景圖像上與 所述參考圖像不相似區(qū)域;
[0031] 將標有不相似區(qū)域的場景圖像存儲在與所述Web接口連接的數(shù)據(jù)庫中。
[0032] 在一種可實現(xiàn)的方式中,將所述場景圖像與參考圖像進行相似度比較,以判斷所 述游戲軟件在各個移動設備上運行時的兼容性,具體為:
[0033] 分別計算所述場景圖像與所述參考圖像的亮度的相似度、對比度的相似度,以及 結構的相似度;
[0034] 將所述亮度的相似度、所述對比度的相似度以及所述結構的相似度三者的乘積作 為所述場景圖像與所述參考圖像的結構相似性指標;
[0035] 在所述結構相似性指標的值大于指定閾值時,判定所述場景圖像與所述參考圖像 結構相似,并且所述游戲軟件能在所述移動設備上兼容運行。
[0036] 優(yōu)選地,在所述分別計算所述場景圖像與所述參考圖像的亮度的相似度、對比度 的相似度,以及結構的相似度之前,還包括:
[0037] 采用抗鋸齒濾鏡對所述場景圖像進行插值,將所述場景圖像縮放至與所述參考圖 像相同的尺寸。
[0038] 進一步地,在所述分別計算所述場景圖像與所述參考圖像的亮度的相似度、對比 度的相似度,以及結構的相似度時,還包括:
[0039] 在多個方向上計算所述場景圖像與所述參考圖像的亮度的相似度、對比度的相似 度,以及結構的相似度;
[0040] 選取所述結構相似性指標的最大值所在的方向作為所述場景圖像與所述參考圖 像相似度最高的方向。
[0041] 在又一種可實現(xiàn)的方式中,在所述分別計算所述場景圖像與所述參考圖像的亮度 的相似度、對比度的相似度,以及結構的相似度時,還包括:
[0042] 將所述場景圖像劃分為多個固定大小的圖像塊;
[0043] 分別計算每個圖像塊與所述參考圖像的亮度的相似度、對比度的相似度,以