[發(fā)明專利]一種服務(wù)器壓力測試方法及裝置在審
| 申請?zhí)枺?/td> | 201710118390.6 | 申請日: | 2017-03-01 |
| 公開(公告)號: | CN107102935A | 公開(公告)日: | 2017-08-29 |
| 發(fā)明(設(shè)計)人: | 劉子強 | 申請(專利權(quán))人: | 網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34 |
| 代理公司: | 深圳新創(chuàng)友知識產(chǎn)權(quán)代理有限公司44223 | 代理人: | 徐羅艷 |
| 地址: | 310000 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 服務(wù)器 壓力 測試 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及服務(wù)器壓力測試領(lǐng)域,具體涉及一種基于有限狀態(tài)機的服務(wù)器壓力測試方法及相應(yīng)的裝置。
背景技術(shù)
網(wǎng)絡(luò)游戲中會有成千上萬的玩家同時對游戲服務(wù)器進行訪問,服務(wù)器可能由于負(fù)載壓力過大而導(dǎo)致響應(yīng)遲緩、宕機等情況,嚴(yán)重影響玩家的游戲體驗。因此,在網(wǎng)絡(luò)游戲開發(fā)過程中,服務(wù)器壓力測試是一個非常重要的環(huán)節(jié)。目前,網(wǎng)絡(luò)游戲服務(wù)器壓力測試主要是通過壓力測試腳本來模擬玩家的操作,在同一時刻對游戲服務(wù)器發(fā)起訪問,以此來估算服務(wù)器可以承載的同時訪問的壓力峰值,并定位服務(wù)器的性能瓶頸。
現(xiàn)有的壓測工具(“壓測”即壓力測試)通常是對各個業(yè)務(wù)邏輯或子邏輯分別單獨地進行測試,測試不同的功能時需要不同的壓測腳本。此類設(shè)計主要有以下缺點:
1)可擴展性不強。當(dāng)游戲功能擴展后,壓測腳本需要大范圍迭代才能滿足新的壓測需求;
2)難以獲取壓測機器人的實時運行狀態(tài)。現(xiàn)有的壓測機器人主要分為帶有服務(wù)器答復(fù)檢查和不帶服務(wù)器答復(fù)檢查兩種。其中,不帶服務(wù)器答復(fù)檢查的壓測機器人,無法獲取其實際運行狀態(tài);而帶有服務(wù)器答復(fù)檢查的機器人,也只能獲取其某個操作的執(zhí)行情況,不便于查看壓測機器人實際所處的狀態(tài)(例如在進行組隊壓力測試時,壓測機器人收到組隊命令后一直處于未組隊狀態(tài)。如果采用現(xiàn)有的壓測方法去查看壓測機器人組隊失敗究竟是由于請求發(fā)送失敗、服務(wù)器沒有應(yīng)答還是其他原因,需要查看大量日志才能明確壓測機器人所處的實時狀態(tài))。如果在壓測過程中服務(wù)器發(fā)生故障,不便于故障排查。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提出一種基于有限狀態(tài)機而設(shè)計的服務(wù)器壓力測試方法,以解決現(xiàn)有的服務(wù)器壓力測試方法存在的可擴展性不足、無法靈活適應(yīng)游戲更新以及無法實時查看壓測機器人運行狀態(tài)的技術(shù)問題。
本發(fā)明為解決上述技術(shù)問題所提供的技術(shù)方案如下:
一種服務(wù)器壓力測試方法,用于游戲服務(wù)器的壓力測試,包括以下步驟:
步驟1、針對一獨立的服務(wù)器壓力測試任務(wù),提取壓測機器人的多個狀態(tài),用于構(gòu)建一有限狀態(tài)機;
步驟2、根據(jù)測試需求,定義狀態(tài)之間的跳轉(zhuǎn)關(guān)系,以及定義壓測機器人進入各狀態(tài)時需要執(zhí)行的操作;
步驟3、將單個狀態(tài)與進入該單個狀態(tài)時需要執(zhí)行的操作進行綁定,以形成一邏輯分支;
步驟4、對步驟1中所提取的所有狀態(tài)均分別執(zhí)行步驟3,從而形成多個邏輯分支;其中,所述多個邏輯分支基于所述跳轉(zhuǎn)關(guān)系而連接形成所述有限狀態(tài)機;
步驟5、根據(jù)所述跳轉(zhuǎn)關(guān)系執(zhí)行所述有限狀態(tài)機中的所述多個邏輯分支,即實施壓測機器人訪問服務(wù)器的行為;
步驟6、同時啟動多個壓測機器人執(zhí)行步驟5,以進行服務(wù)器壓力測試。
本發(fā)明提供的上述服務(wù)器壓力測試方法,針對某一獨立的測試任務(wù)(對應(yīng)于游戲中的某一功能模塊),將在該游戲功能中玩家(在測試中以壓測機器人來模擬玩家)所涉及的所有離散的狀態(tài)集中起來,并通過定義狀態(tài)之間的跳轉(zhuǎn)關(guān)系和進入每個狀態(tài)時需要執(zhí)行的操作,根據(jù)跳轉(zhuǎn)關(guān)系將這所有的離散狀態(tài)及其跳轉(zhuǎn)行為描述為有限狀態(tài)機,只要觸發(fā)有限狀態(tài)機進行狀態(tài)跳轉(zhuǎn),壓測機器人即開始執(zhí)行對應(yīng)的所述操作,模擬玩家的行為訪問服務(wù)器,便可進行服務(wù)器壓力測試。
與現(xiàn)有的服務(wù)器壓力測試方法相比,本發(fā)明基于有限狀態(tài)機的服務(wù)器壓力測試方法具有以下有益效果:
1)由于有限狀態(tài)機中集中了玩家的所有狀態(tài),因此能夠?qū)λ锌赡艿耐婕倚袨檫M行服務(wù)器壓力測試,具有全面覆蓋的優(yōu)點;
2)由于各狀態(tài)是離散的,當(dāng)游戲更新例如增加或減少某個業(yè)務(wù)環(huán)節(jié)時,相應(yīng)的測試環(huán)節(jié)也要改變,此時只需增加/刪除有限狀態(tài)機中的相應(yīng)狀態(tài)及其對應(yīng)操作即可;而現(xiàn)有的方法,需要對測試腳本作出大量的迭代、更新;
3)由于壓測機器人在既定的各個狀態(tài)之間跳轉(zhuǎn),某一時刻壓測機器人的狀態(tài)是固定且唯一的,這對于查詢壓測過程中壓測機器人的實時狀態(tài)非常方便,而現(xiàn)有技術(shù)的通過腳本進行測試的方式,無法查看目前運行到哪個狀態(tài)。
更優(yōu)選地,在步驟1之前還包括步驟0:
步驟0、依據(jù)游戲的不同功能,將服務(wù)器壓力測試拆分為多個獨立的服務(wù)器壓力測試任務(wù),針對每個獨立的服務(wù)器壓力測試任務(wù)來分別構(gòu)建對應(yīng)的有限狀態(tài)機。
更優(yōu)選地,步驟1中提取壓測機器人的多個狀態(tài)具體包括:基于唯一性進行最小粒度狀態(tài)劃分,枚舉出在所述服務(wù)器壓力測試任務(wù)中壓測機器人所處的所有離散狀態(tài)。
更優(yōu)選地,還包括采用試錯法進行狀態(tài)遺漏測試,以防止進行所述枚舉時狀態(tài)遺漏。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司,未經(jīng)網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710118390.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





