遊戲引擎服務端應該也要具備測試模組

2022-04-02 10:23:05 字數 1031 閱讀 1935

公司做網頁遊戲5年之久,今年公司在向手遊方面擴充套件。公司在開發過程中,主程決定遊戲模組的開發時間,一般星期一布置下任務,星期四做完,星期五測試員測試通過,按照這樣,程式設計師也就不用去加班了。其實在模組的實現過程中,往往前端的設計會經常變更。當要變更服務端的時候,往往是遊戲規則有所變化,**改動少,同時客戶端可能也要隨之發生變化。而客戶端比較注重細節,為了迎合玩家,往往ui以及控制項的表現都要經常發生變化。當服務端完成時,往往客戶端還在忙於貼圖修飾等等。服務端程式設計師就等著,客戶端直到星期四的才做完,於是乎服務端和客戶端開始除錯,突然服務端跳出一些bug,每發現bug都要停止服務端,修改**,重新編譯,在重新測試,要是所編寫的**比較底層,編譯要等很長時間(服務端用的是c++),這樣反覆(所謂的聯調),是很糾結的。有人可能提議,程式設計師就不能用自己腦袋來檢視**,把問題儘量減少。這樣做能夠檢查一些肉眼所能夠察覺的**;但是我覺得解決bug的效率不夠好,需得讓程式執行起來,檢視其執行的計算返回的資料,才能肅清大量的bug;而這樣是需要有客戶端的訊息進行觸發的。

我的解決方案是模擬客戶端的訊息,來解決這些問題。一般遊戲服務端的行為由三種方式來觸發:a.自身的非同步事件(也就是到了某個時間點,會自動觸發);b.自身的同步事件(也就是當發生了某件事情,會順帶立即觸發其他的事情);c.來自客戶端的訊息。a和b是服務端所自帶的,已經具備。所要設計的主要是客戶端訊息的模擬。客戶端的訊息我們可以讓服務端給自身傳送資料來實現,這時候觸發器和服務端共用同一格式的資料訊息。我們還可以通過配置檔案來設定事件觸發的頻率,服務端程式設計師只需要寫少量的測試驅動程式就ok了。同時這樣子也可以測試模組在極限的情況下服務端承受能力(我經常碰到一些bug只有在快速點選滑鼠的時候才會出現)。

我只是把我的方案進行分享而已,同時我又見到公司服務端的框架設計不夠好,而且底層的**是dll庫的,對普通員工隱藏。所以一些有點想法的員工要在**基礎上進行優化,是比較困難的; 更何況,別說擴充套件了。大系統,牽一髮而動全身。

author: charellkingqu

created: 2014-03-10 一 20:56

emacs 24.3.1 (org mode 8.2.5h)

validate

服務端測試

首先服務端的測試包含哪些東西呢?實際上,服務端的測試簡單來說就是除了前端以外的的測試,總的來說可以分為以下兩類 1.web或者的提供業務邏輯的服務端介面測試 介面測試佔據工作工作中的80 介面測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。下面粗略的列舉出測試的幾個...

服務端測試總結

涉及呼叫其它內部 外部服務的,尤其是非同步呼叫 mq通知等,有時還要考慮呼叫返回超時或錯誤時候的處理 如果有此邏輯的話 所以我們要搞清楚邏輯呼叫關係和系統架構 觸發批處理程式呼叫的 定時任務要考慮到 有快取時的資料一致性 分庫分表的資料一致性 重要服務的主備切換場景 分頁的處理,翻頁以及相關的邊界 ...

服務端通訊程式測試

include include void main confirm that the winsock dll supports 2.2.note that if the dll supports versions greater than 2.2 in addition to 2.2,it will...