多人五子棋联机对战平台 测试报告

目录

项目介绍

测试用例设计

部分功能测试示例 

自动化测试

测试范围

排除范围

 自动化测试目录​编辑

 执行全部自动化测试用例

性能说明

总结

性能测试

结果分析

测试总结 


项目介绍

        该项目基于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棋盘的技术限制,未能实现对落子交互的自动化验证,这部分功能仍需依赖手动测试覆盖。针对登录接口所开展的梯度压力测试,其最终结果与预期高度相符,表明该接口在不同负载条件下均能保持较为出色的性能表现。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/77574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVAEE(网络原理—UDP报头结构)

我们本篇文章要讲的是UDP的报头结构以及注意事项。 下面呢,我先说一下UDP是什么? 1.UDP是什么? UDP是一种网络协议。网络协议是计算机网络中,为了使不同设备之间能够准确、高效地进行数据交换和通信,而预先制定的一…

STM32学习笔记汇总

所有学习资料均参考b站江科大,和铁山羊 一.创建工程(比较麻烦,而且时间长了就容易忘记) 二.点灯大师(成功的第一步) 三.不同的烧录器使用(Jlink-stlink)

【MySQL】SQL语句在MySQL中的执行过程?主要存储引擎区别?

MySQL SQL语句执行过程详解 作为面试官,我来详细剖析一条SQL语句在MySQL中的完整执行过程,这是每个后端开发者都应该掌握的核心知识。 一、连接阶段 建立连接 客户端通过TCP/IP协议与MySQL服务器建立连接(默认3306端口)服务器验证用户名、密码和权限…

【记录】服务器安装ffmpeg

前言 因为项目中需要用到 ffmpeg 进行图像的一些操作,本文记录下在服务器安装 ffmpeg 的全过程,还是具有一定挑战性的。 系统详情 本文使用的操作系统详情如下 通过 命令 cat /etc/os-release 获取 虽然操作系统为 Rocky Linux,但安装过程是通用的,因为本文记录的是从源代码…

Django之modelform使用

Django新增修改数据功能优化 目录 1.新增数据功能优化 2.修改数据功能优化 在我们做数据优化处理之前, 我们先回顾下传统的写法, 是如何实现增加修改的。 我们需要在templates里面新建前端的页面, 需要有新增还要删除, 比如说员工数据的新增, 那需要有很多个输入框, 那html…

HTML5 应用程序缓存:原理、实践与演进

在 Web 技术的发展历程中,HTML5 引入的应用程序缓存(Application Cache)曾是提升 Web 应用离线体验的重要技术。它允许 Web 应用进行缓存,使用户在没有因特网连接时也能访问应用,为 Web 应用带来了显著的优势。然而&am…

【问题笔记】解决python虚拟环境运行脚本无法激活问题

【问题笔记】解决python虚拟环境运行脚本无法激活问题 错误提示问题所在解决方法**方法 1:临时更改执行策略****方法 2:永久更改执行策略** **完整流程示例** 错误提示 PS F:\PythonProject\0419graphrag-local-ollama-main> venv1\Scripts\activate…

解决echarts饼图label显示不全的问题

解决办法 添加如下配置: labelLayout: {hideOverlap: false},

Pandas数据合并与重塑

在数据处理与分析的领域中,Pandas 无疑是一颗璀璨的明星。它提供了丰富且强大的功能,让我们能够轻松应对各种复杂的数据操作。其中,数据合并与重塑是两个至关重要的环节,它们能够帮助我们整合不同来源的数据,调整数据的…

Nodejs数据库单一连接模式和连接池模式的概述及写法

概述 单一连接模式和连接池模式是数据库连接的两种主要方式: 单一连接模式: 优点:实现简单,适合小型应用缺点:每次请求都需要创建新连接,连接创建和销毁开销大,并发性能差,容易出…

将 DeepSeek 集成到 Spring Boot 项目实现通过 AI 对话方式操作后台数据

文章目录 项目简介GiteeMCP 简介环境要求项目代码核心实现代码MCP 服务端(批量注册 Tool)MCP 客户端(调用 DeepSeek) DeepSeek APIDockersse 连接ws 连接(推荐)http 连接 Cherry Studio配置模型配置 MCP调用…

【HDFS入门】HDFS性能调优实战:压缩与编码技术深度解析

目录 1 HDFS性能调优概述 2 HDFS压缩技术原理与应用 2.1 常见压缩算法比较 2.2 压缩流程架构 2.3 压缩配置实践 3 列式存储编码技术 3.1 ORC与Parquet对比 3.2 ORC文件结构 3.3 Parquet编码流程 4 性能调优实战建议 4.1 压缩选择策略 4.2 编码优化技巧 5 性能测试…

HCIP --- OSPF综合实验

一、拓扑图 二、实验要求 1,R5为ISP,其上只能配置IP地址;R4作为企业边界路由器,出口公网地址需要通过PPP协议获取,并进行chap认证。 2,整个0SPF环境IP基于172.16.0.8/16划分。 3,所有设备均可访问R5的环…

c++:线程(std::thread)

目录 从第一性原理出发:为什么需要线程? ✅ 本质定义: 📌 使用基本语法: 线程之间的“并发”与“并行”的区别 线程安全与数据竞争(Race Condition) 如何让线程“安全地”访问数据&#x…

PCL软件架构

Point Cloud Library (PCL) 采用模块化设计,提供了丰富的点云处理功能。以下是PCL的核心架构和主要类的详细介绍。 一、PCL整体架构 PCL的架构可以分为以下几个主要层次: 数据表示层:基础点云数据结构和基本操作 算法层:各种点云处理算法实现 I/O层:点云数据的输入输出 …

CCLinkIE转EtherCAT边缘计算网关构建智能产线:跨协议设备动态组网与数据优化传输

一、行业背景 随着新能源汽车市场爆发式增长,汽车制造企业对产线效率、设备协同性及柔性生产能力的要求显著提升。传统产线多采用CC-LinkIEFieldBasic(CCLINKIEFB)协议的三菱PLC控制系统,而新一代伺服驱动设备普遍采用EtherCAT协…

模态双侠闯江湖:SimTier 分层破局,MAKE 智炼新知

目录 利用多模态表示提升淘宝展示广告效果:挑战、方法与洞察摘要1 引言2 预备知识推荐模型中的ID特征基于ID的模型结构 3 多模态表示的预训练3.1 语义感知对比学习3.2 预训练数据集的构建3.3 优化 4 与推荐模型的集成4.1 观察和见解4.2 方法一:SimTier4.…

基于大模型的下肢静脉曲张全流程预测与诊疗方案研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 1.3 研究方法与数据来源 二、下肢静脉曲张概述 2.1 定义与病理生理 2.2 风险因素与临床表现 2.3 诊断方法与现有治疗手段 三、大模型预测原理与构建 3.1 大模型技术简介 3.2 预测模型的数据收集与预处理 3.…

跨站脚本(XSS) 的详细分类、对比及解决方案

以下是 跨站脚本(XSS) 的详细分类、对比及解决方案: 一、XSS的分类与详解 1. 反射型XSS(非持久型XSS) 定义:攻击载荷通过URL参数传递,服务器直接返回到页面中,需用户主动触发。 工…

thinkphp实现图像验证码

示例 服务类 app\common\lib\captcha <?php namespace app\common\lib\captcha;use think\facade\Cache; use think\facade\Config; use Exception;class Captcha {private $im null; // 验证码图片实例private $color null; // 验证码字体颜色// 默认配置protected $co…