目錄
項目介紹
測試用例設計
部分功能測試示例?
自動化測試
測試范圍
排除范圍
?自動化測試目錄?編輯
?執行全部自動化測試用例
性能說明
總結
性能測試
結果分析
測試總結?
項目介紹
? ? ? ? 該項目基于WebSocket實現實時通信,采用SSM框架構建在線五子棋多人聯機對戰網頁。前端通過HTML+CSS+JS實現實時棋盤更新,后端采用分層設計(API層、Config層、Game層、Pojo層),確保高內聚低耦合。功能包括用戶登錄、注冊、實時匹配對戰、棋盤狀態同步、游戲結果記錄及積分排名。通過多線程技術處理并發請求,保障高并發情況下的流暢運行和系統穩定性。
測試用例設計
????????設計測試用例一般從功能測試、界面測試、性能測試、易用性測試、安全性測試、兼容性測試等六個方面進行設計,多人五子棋聯機對戰平臺是一個web網頁,主要針對核心功能進行測試,測試功能點如下:
部分功能測試示例?
直接點擊提交注冊, 提示用戶名不能為空, 校驗正常
?輸入用戶名, 點擊提交注冊, 提示密碼不能為空, 校驗正常
輸入用戶名,但是兩次輸入的密碼不一致, 提示密碼不一致, 校驗正常?
輸入合法的用戶名和密碼, 注冊通過, 校驗正常
?成功登錄后,檢查對戰大廳模態窗, 在線人數顯示, 玩家信息, 排行榜, 匹配按鈕狀態, 校驗正常
?點擊匹配, 檢查頁面樣式變換是否正常, 匹配按鈕狀態切換是否正常, 校驗正常
?
匹配成功,檢查頁面元素變換是否正常, 提示彈幕是否正常, 校驗正常
進入對局, 檢查雙方落子交互同步是否正常, 校驗正常
?對局勝利, 檢查玩家返回游戲大廳, 積分變換,勝率變換是否正常, 校驗正常
自動化測試
????????本次自動化測試覆蓋以下核心頁面及功能模塊,暫不包含五子棋對戰交互測試(因棋盤基于Canvas實現,棋子定位難度較高):
測試范圍
1. 注冊頁面(RegisterPage)
用例編號 測試場景 驗證點 REG-01 頁面元素加載檢查 用戶名輸入框、密碼輸入框、確認密碼輸入框、提交按鈕正常顯示 REG-02 用戶已存在 提示“注冊失敗” REG-03 密碼不一致 提示“密碼不一致” REG-04 密碼為空 提示“密碼不能為空” REG-05 成功注冊 跳轉至登錄頁面 總計:5 個用例
2. 登錄頁面(LoginPage)
用例編號 測試場景 驗證點 LOGIN-01 頁面元素加載檢查 用戶名輸入框、密碼輸入框、提交按鈕正常顯示 LOGIN-02 密碼錯誤 提示“登錄失敗” LOGIN-03 用戶不存在 提示“登錄失敗” LOGIN-04 成功登錄 跳轉至游戲大廳 總計:4 個用例
3. 游戲大廳(GamehallPage)
用例編號 測試場景 驗證點 HALL-01 頁面元素加載檢查 用戶信息、排行榜、匹配按鈕正常顯示 HALL-02 排行榜查看與關閉 排行榜數據加載正常 HALL-03 多用戶并發匹配 第二個玩家成功加入并觸發匹配 總計:3 個用例
4. 對戰房間(GamePage)
用例編號 測試場景 驗證點 GAME-01 頁面元素加載檢查 棋盤和行棋日志正常顯示 GAME-02 玩家主動退出游戲 返回大廳并關閉連接 GAME-03 勝利結算及積分更新 積分變化并返回大廳 總計:3 個用例
最終統計
測試模塊 用例數量 注冊頁面 5 登錄頁面 4 游戲大廳 3 對戰房間 3 總計 16
排除范圍
五子棋對戰交互:因棋盤通過Canvas渲染,棋子動態生成且缺乏可定位元素,暫未納入自動化測試。
復雜異常場景:如網絡中斷、服務端異常等需手動驗證的場景。
多人五子棋聯機對戰平臺 碼云鏈接:
GobangAutoTest · 高耳機/test_web - 碼云 - 開源中國https://gitee.com/High-Earphonescode/test_web/tree/master/GobangAutoTest
?自動化測試目錄
?執行全部自動化測試用例
整體運行時間約41.2秒,測試用例全部通過?
性能說明
動態元素處理策略
????????彈幕/POP元素:通過顯式等待(
ExpectedConditions
)確保獲取最新內容,避免殘留彈幕干擾????????強制等待:因云服務器帶寬限制,部分操作用
Thread.sleep()
保底(如彈窗消失、頁面跳轉)???????? ? ? ? 這些因素限制了自動化測試的整體運行時長?
// 示例:顯式等待彈幕加載(GamehallPage.java) wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".toast.Andu"))); Thread.sleep(300); // 確保動畫完成
總結
????????當前腳本在動態元素穩定性和云環境適應性間取得了平衡,后續可通過漸進式優化進一步提升效率。
性能測試
????????本次性能測試采用Jmeter測試工具,針對登錄接口開展梯度壓力測試。鑒于服務器資源有限,測試范圍僅聚焦于該接口。
? ? ? ? 配置: 從 0 秒開始,線程數逐漸增加,每 2 秒增加 5 個線程,直到達到 20 個線程。 在 20 秒時,線程數保持不變,持續 20 秒。 從 40 秒開始,線程數逐漸減少,每 2 秒減少 5 個線程,直到所有線程停止。
結果分析
響應時間表現
? ? ? ? 根據“Response Times Over Time”圖表數據,系統響應時間在測試周期內呈現一定浮動,盡管在測試后期出現階段性增長,但整體仍在可接受范圍內。這表明系統在高負載場景下具備一定的彈性適應能力,但可能存在進一步優化的空間以提升穩定性和響應效率。
事務吞吐量表現
? ? ? ? 通過“Transactions per Second”圖表觀察到,系統事務吞吐量在測試過程中先呈現溫和上升趨勢,隨后在后期出現小幅調整。這種動態變化可能反映了系統在不同負載階段的資源分配策略,初步推測系統具備良好的初始擴展性,但持續高吞吐能力仍有提升潛力。
異常請求分析
? ? ? ? 經“匯總報告”與“聚合報告”綜合統計,本次測試中異常請求占比僅為0.12%,體現了系統在極端負載下的穩健性。極低的錯誤率表明核心架構具備較強容錯能力,但個別非預期行為仍需深入分析,以確保系統在全場景下的可靠性。
結論
? ? ? ? 綜合測試數據,系統在高負載環境下展現了良好的基礎性能,但仍存在細微優化空間。
測試總結?
????????在本次五子棋對戰平臺的自動化測試過程中,整體測試工作順利完成,所有測試用例均通過驗證,系統核心功能運行穩定。測試過程中發現的問題(如動態元素加載時序、彈幕殘留等)均已通過顯式等待和條件判斷機制得到有效解決。特別是在多用戶并發匹配和游戲狀態切換等關鍵流程中,系統表現符合預期,驗證了基礎功能的可靠性。
????????然而,受限于當前云服務器帶寬資源,測試執行效率受到一定影響。為確保測試穩定性,腳本中不得不增加部分硬性等待(Thread.sleep()
),導致整體測試時間延長至41.2秒。此外,由于Canvas棋盤的技術限制,未能實現對落子交互的自動化驗證,這部分功能仍需依賴手動測試覆蓋。針對登錄接口所開展的梯度壓力測試,其最終結果與預期高度相符,表明該接口在不同負載條件下均能保持較為出色的性能表現。
?