一、测试概述
网页五子棋项目运用 Java 语言与 Spring 框架开发,具备用户登录注册、人机对战、在线匹配对局、房间邀请对局及积分排行榜等功能。本次测试旨在评估项目各功能的完整性、稳定性与交互性,依据各文章所描述的功能设计和实现细节进行全面测试。
二、测试环境
- 硬件环境:CPU 为 Intel Core i5-7500,内存 8GB,硬盘 500GB。
- 软件环境:操作系统为 Windows 10,浏览器为 Chrome 110,服务器为 Tomcat 9.0,数据库为 MySQL 8.0。
三、测试方法
采用黑盒测试方法,依据功能需求设计测试用例,对每个功能模块进行功能测试;通过模拟多用户在线匹配、频繁落子操作等进行性能测试;检查界面布局、交互操作等进行界面与交互测试。
四、测试内容与结果
(一)用户模块
- 用户表与实体类:数据库中用户表结构与设计一致,字段类型和约束正确。实体类的 Getter 和 Setter 方法可正常读写数据,数据封装和传输准确。
- 登录注册功能:输入正确的用户名和密码能成功登录,注册新用户时,用户名唯一性约束生效,重复注册提示错误。输入错误的用户名或密码登录时,提示 “用户名或密码错误”,功能正常。
(二)游戏大厅模块
- 页面显示:游戏大厅页面能正确显示用户信息,匹配游戏按钮样式和位置符合设计,页面布局合理,无元素错乱。
- 匹配按钮功能:点击 “开始匹配” 按钮,能成功向服务器发送匹配请求,在匹配队列功能正常的情况下,可正常匹配对手;点击 “取消匹配” 按钮,能取消匹配请求,从匹配队列中移除用户。
(三)匹配模块
- 在线用户维护:用户登录成功后,能正确维护其 WebSocket 会话,在线状态更新及时。重复登录时,后登录的用户会收到 “用户已在别处登录” 提示,且被强制下线,功能正常。
- 匹配逻辑:不同段位的用户能按规则加入相应匹配队列,匹配线程能有效扫描队列,成功匹配两个用户并向双方发送匹配成功响应,匹配功能正常。但在高并发场景下,匹配效率有所下降,出现短暂延迟。
(四)游戏房间模块
- 房间管理:房间管理器能正常创建、添加和删除游戏房间,通过房间 ID 和用户 ID 可准确获取对应的房间信息,房间管理功能稳定。
- 前端页面:游戏房间前端页面布局合理,棋盘绘制清晰,等待玩家连接提示正常显示。在连接游戏服务器后,能正常进入游戏对战界面。
(五)对战功能
- WebSocket 交互:客户端与服务器间的 WebSocket 连接稳定,连接建立时,服务器能按约定发送游戏初始信息,玩家落子请求和响应能正确传输,数据交互准确。
- 落子与胜负判断:玩家落子操作能实时发送至服务器,服务器准确处理落子请求并判断胜负。五子连珠时能正确判定获胜方,给双方玩家发送正确的落子响应,胜负判断功能可靠。
- 掉线处理:对手掉线时,当前玩家能收到通知并判定获胜,游戏房间能及时释放,掉线处理机制有效。但在网络波动较大时,可能出现短暂卡顿和误判。
(六)细节优化
- 用户数据更新:游戏结束后,用户的比赛信息(积分、对战次数、获胜次数)能正确更新到数据库,在游戏大厅获取用户信息时,能显示最新数据,数据更新功能正常。
- 游戏结束提示:游戏结束提示优化后,不再出现模态弹窗阻塞页面的情况,最后一个棋子能正常绘制,提示信息清晰且可引导玩家返回大厅,体验良好。
- 页面跳转优化:使用 location.replace () 进行页面跳转后,浏览器不再缓存页面,避免了回退键导致的页面状态异常问题,页面跳转功能稳定。
五、测试结论
网页五子棋项目的核心功能基本可用,各模块之间交互正常,在功能完整性、稳定性和用户体验方面达到了一定的要求。但在高并发场景和网络波动环境下,匹配效率和对战稳定性有待提升。建议优化匹配算法和网络传输机制,提高系统的性能和稳定性,以进一步完善项目。