当前位置: 首页 > article >正文

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

目录

项目介绍

测试用例设计

部分功能测试示例 

自动化测试

测试范围

排除范围

 自动化测试目录​编辑

 执行全部自动化测试用例

性能说明

总结

性能测试

结果分析

测试总结 


项目介绍

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

 

相关文章:

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

目录 项目介绍 测试用例设计 部分功能测试示例 自动化测试 测试范围 排除范围 自动化测试目录​编辑 执行全部自动化测试用例 性能说明 总结 性能测试 结果分析 测试总结 项目介绍 该项目基于WebSocket实现实时通信,采用SSM框架构建在线五子棋多人联机…...

docker基本使用命令

一、镜像 1、拉取镜像 docker pull busybox docker pull nginx:1.26-alpine 2、查看本地镜像 [rootRocky-1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 4e1b6bae1e48 18 hours ago 192MB busybox lates…...

欣佰特携数十款机器人相关前沿产品,亮相第二届人形机器人和具身智能行业盛会

2025年4月15日至16日,备受关注的第二届中国人形机器人与具身智能产业大会已在北京成功举行。作为国内前沿科技及产品服务领域的重要参与者,欣佰特科技携众多前沿产品精彩亮相,全方位展示了其在人形机器人与具身智能领域的创新产品。 在本次大…...

windows安装hadoop-3.3.5(图文教程)

本章教程,记录在Windows操作系统上安装hadoop-3.3.5的整个过程。 一、基础环境准备 JDK版本:java version “1.8.0_431” ,并且配置JAVA_HOME系统环境变量 hadoop版本:3.3.5,配置HADOOP_HOME系统环境变量。 下载地址:https://archive.apache.org/dist/hadoop/common/hado…...

【eNSP实验】OSPF单区域配置

简介 OSPF(开放最短路径优先)是一种基于链路状态算法的内部网关协议(IGP),用于自治系统内部动态路由。其核心机制为:各路由器通过泛洪链路状态通告(LSA)同步网络拓扑,构…...

从 SQL2API 到 Text2API:开启数据应用开发的新征程

在技术革新浪潮的席卷下,数据应用开发领域正经历着深刻变革。曾经,构建数据 API 需要开发者具备扎实的数据库知识和编程技能,手动编写复杂的 SQL 查询与 API 代码,这一过程不仅耗时费力,还将众多非技术人员阻挡在数据应…...

4月18日日记(补)

昨天玩的太疯狂了最后也没来得及写日记,补上() 正常的早八微积分,英语,下午的思政课非常的疯狂啊,因为是代课老师,她给我们很多机会强大加分,大家都知道这是一个追分的好机会&#x…...

手撕 简易HashMap

put()、get()、remove() 方法 计算存储数组位置和k-vNode节点 public int indexOf(K key){return key.hashCode() & (table.length - 1);}static class Node<K, V>{K key;V value;Node<K, V> next;public Node(K key, V value){this.key key;this.value val…...

【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践

1 ES介绍及基本概念 ElasticSearch是一个基于Lucene 的分布式、高扩展、高实时的基于RESTful 风格API的搜索与数据分析引擎。 RESTful 风格API的特点&#xff1a; 接受HTTP协议的请求&#xff0c;返回HTTP响应&#xff1b;请求的参数是JSON&#xff0c;返回响应的内容也是JSON…...

鸿蒙语言基础

准备工作 去鸿蒙官网下载开发环境 点击右侧预浏览&#xff0c;刷新和插销按钮&#xff0c;插销表示热更新&#xff0c;常用按钮。 基础语法 string number boolean const常量 数组 let s : string "1111"; console.log("string", s);let n : number …...

在 Amazon Graviton 上运行大语言模型:CPU 推理性能实测与调优指南

引言 在生成式 AI 浪潮中&#xff0c;GPU 常被视为大模型推理的唯一选择。然而&#xff0c;随着 ARM 架构的崛起和量化技术的成熟&#xff0c;CPU 推理的性价比逐渐凸显。本文基于 Amazon Graviton 系列实例与 llama.cpp 工具链&#xff0c;实测了 Llama 3、DeepSeek 等模型的…...

每日定投40刀BTC(14)20250409 - 20250419

定投 坚持 《磨剑篇》浮生多坎壈&#xff0c;志业久盘桓。松柏凌霜易&#xff0c;骅骝涉险难。砺锋临刃缺&#xff0c;淬火取金残。但使精魂在&#xff0c;重开万象端。...

详解反射型 XSS 的后续利用方式:从基础窃取到高级组合拳攻击链

在网络安全领域&#xff0c;反射型跨站脚本攻击&#xff08;Reflected Cross-Site Scripting&#xff0c;简称反射型 XSS&#xff09;因其短暂的生命周期和临时性&#xff0c;常被视为“低危”漏洞&#xff0c;威胁性不如存储型或 DOM 型 XSS。然而&#xff0c;这种看法低估了它…...

服务治理-服务注册

一个服务在真实项目部署的时候&#xff0c;如果压力较大&#xff0c;会做多实例部署。 在IDEA里面做多实例部署的话&#xff0c;只需要配置多个启动项。...

NestJS——多环境配置方案(dotenv、config、@nestjs/config、joi配置校验)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…...

MongoDB导出和导入数据

安装mongodump工具 参考文章mongodump工具安装及使用详解_mongodump安装-CSDN博客 MongoDB导入导出和备份的命令工具从4.4版本开始不再自动跟随数据库一起安装&#xff0c;而是需要自己手动安装。 官方网站下载链接&#xff1a;Download MongoDB Command Line Database Tools …...

数据从辅存调入主存,页表中一定存在

在虚拟内存系统中&#xff0c;​数据从辅存调入主存时&#xff0c;页表中一定存在对应的页表项&#xff0c;但页表项的「存在状态」会发生变化。以下是详细分析&#xff1a; 关键逻辑 ​页表的作用 页表是虚拟内存的核心数据结构&#xff0c;记录了虚拟地址到物理地址的映射关系…...

Serving入门

ServingHelloWorld Serverless 一个核心思想就是按需分配&#xff0c;那么 Knative 是如何实现按需分配的呢&#xff1f;另外在前面已经了解到 Knative Serving 在没有流量的时候是可以把Pod 缩容到零的。接下来就通过一些例子体验一下 Knative 缩容到零和按需自动扩缩容的能力…...

硬件操作指南——ATK-MD0430 V20

使用CC2530控制正点原子ATK-MD0430 V20显示的完整指南 本文将详细介绍如何使用CC2530单片机控制正点原子ATK-MD0430 V20显示屏&#xff0c;包括IAR开发环境的配置、硬件连接、程序编写和调试等完整步骤。 一、开发环境准备 1. IAR开发环境安装与配置 首先需要安装IAR Embed…...

【HDFS入门】HDFS数据冗余与容错机制解析:如何保障大数据高可靠存储?

目录 1 HDFS冗余机制设计哲学 1.1 多副本存储策略的工程权衡 1.2 机架感知的智能拓扑算法 2 容错机制实现原理 2.1 故障检测的三重保障 2.2 数据恢复的智能调度 3 关键场景容错分析 3.1 数据中心级故障应对 3.2 数据损坏的校验机制 4 进阶优化方案 4.1 纠删码技术实…...

UE学习记录part19

231 insect: insect enemy type 创建dead动画资源 往insect head上添加socket 创建攻击root motion动画。motion warping需要与root motion合作使用 为buff_blue创建物理资产 设置simulate physic使sinsect死亡后能落到地板上而不是漂浮在空中&#xff0c;要将die函数设置为 -…...

运行后allure报告没有自动更新(已解决)

pycharm直接运行run.py文件&#xff0c; allure生成的报告都没有更新&#xff0c;需要手动删除旧报告后再次运行才可以 pytest.ini [pytest]testpaths testcases/ addopts --alluredir ./report/result --clean-alluredir run.py主要代码 if __name__ "__main__&qu…...

深度学习在语音识别中的应用

引言 语音识别技术是人工智能领域中的一个重要分支&#xff0c;它使得机器能够理解和转换人类的语音为文本。深度学习的出现极大地推动了语音识别技术的发展。本文将介绍如何使用深度学习构建一个基本的语音识别系统&#xff0c;并提供一个实践案例。 环境准备 在开始之前&a…...

CUDA Tools 常用命令总结与记录 (需要细化)

以下是对 CUDA Toolkit 中常用工具和命令的详细总结&#xff0c;涵盖编译器、调试器、性能分析工具、GPU管理工具等核心组件&#xff1a; 一、编译器工具&#xff1a;nvcc nvcc 是 NVIDIA CUDA 编译器&#xff0c;用于编译 .cu 文件生成可执行文件或中间代码。 常用命令与参数…...

微信小程序 时间戳与日期格式的转换

1. 微信小程序 时间戳与日期格式的转换 微信小程序中的时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。例如现在北京时间2015-12-31 17:00:00的时间戳是1451552400&#xff0c;就是指从北京时间1970-01-01 08:00:00到…...

【深度学习—李宏毅教程笔记】Transformer

目录 一、序列到序列&#xff08;Seq2Seq&#xff09;模型 1、Seq2Seq基本原理 2、Seq2Seq模型的应用 3、Seq2Seq模型还能做什么&#xff1f; 二、Encoder 三、Decoder 1、Decoder 的输入与输出 2、Decoder 的结构 3、Non-autoregressive Decoder 四、Encoder 和 De…...

【人工智能学习-01-01】20250419《数字图像处理》复习材料的word合并PDF,添加页码

前情提要 20250419今天是上师大继续教育人工智能专升本第一学期的第一次线下课。 三位老师把视频课的内容提炼重点再面授。&#xff08;我先看了一遍视频&#xff0c;但是算法和图像都看不懂&#xff0c;后来就直接挂分刷满时间&#xff0c;不看了&#xff09; 今天是面对面授…...

如何从 GitHub 镜像仓库到极狐GitLab?

最近 GitHub 封禁中国用户的事情闹得沸沸扬扬,虽然官方发布的报道说中国用户被限制登录是因为配置错误导致,已经撤回了更新,中国用户已经可以正常使用。但是这就像横在国内开发者和企业头上的“达摩克利斯之剑”。为了避免 GitHub 不可用而带来的影响,国内开发者和企业可以…...

【云馨AI-大模型】2025年4月第三周AI领域全景观察:硬件革命、生态博弈与国产化突围

一、硬件算力突破点燃多智能体时代 谷歌在4月12日Cloud Next大会发布第七代TPU Ironwood&#xff0c;单芯片算力达4614 TFLOPs&#xff0c;较前代内存提升6倍&#xff0c;专为AI推理场景优化。配合发布的Gemini 2.5 Flash模型通过"思考"功能实现成本优化&#xff0c…...

ETL数据集成平台在交通运输行业的五大应用场景

在智能交通与数字物流时代&#xff0c;交通运输企业每天产生海量数据——车辆轨迹、货物状态、乘客流量、设备日志……但这些数据往往被困在分散的系统中&#xff1a;GPS定位数据躺在车载终端里&#xff0c;物流订单卡在Excel表中&#xff0c;地铁客流统计锁在本地服务器内。如…...