基于WebSocket和SpringBoot聊天项目ChatterBox测试报告

网页聊天室项目测试报告

一、项目概述

本项目是一个基于 Spring Boot 和 WebSocket 技术栈开发的网页聊天室应用,支持用户间实时消息交互、会话管理和好友列表功能。项目采用前后端分离架构,后端通过 WebSocket 实现实时通信,使用 MySQL 存储用户、好友、会话及消息数据,前端通过 HTML、CSS 和 JavaScript 构建用户界面。

核心技术栈

后端:Spring Boot 2.7.6、WebSocket、MyBatis、MySQL

前端:HTML5、CSS、JavaScript、jQuery

开发工具:IntelliJ IDEA、Maven,VSCode

测试工具:Postman,Fiddler,Jmeter

二、测试环境

环境项 具体配置
操作系统 Windows 10
JDK 版本 1.8
MySQL 版本 8.0
浏览器 Chrome 112.0.5615.138
服务器端口 9910

三、测试内容与结果

3.1 后端功能测试
3.1.1 WebSocket 连接测试

**测试点:**连接建立、连接关闭、异常处理

**测试方法:**通过前端 test.html 页面建立 WebSocket 连接,观察后端日志输出

测试结果: 连接建立时,后端输出 "TestAPI 连接成功!" 和 "[WebSocketAPI] 连接成功!"

关闭页面时,后端输出 "TestAPI 连接关闭!" 和 "[WebSocketAPI] 连接关闭!"

网络中断时,后端输出 "TestAPI 连接异常!"
3.1.2 消息处理测试
测试点: 消息接收、消息转发、数据库存储
测试方法: 使用 test.html 页面发送消息,检查后端日志和数据库记录
测试结果:

后端能正确接收消息并输出 "TestAPI 收到消息!..."

消息能成功转发给会话内其他用户

消息内容正确存储到 message 表中,包含发送者 ID、会话 ID、内容和时间戳
3.1.3 数据库交互测试
测试点: 用户数据、好友关系、会话信息的 CRUD 操作
测试方法: 检查 db.sql 脚本执行结果和 MyBatis 映射是否正确
测试结果:

数据库表结构创建完整,包含 user、friend、message_session 等表

测试数据插入成功,初始用户(张三、李四等)及关系正确建立

会话与用户关联关系正确存储
3.2 前端功能测试
3.2.1 页面展示测试

测试点: 页面布局、元素显示、样式效果
测试方法: 访问 client.html 页面,检查 UI 渲染效果
测试结果:

页面布局分为左侧会话 / 好友列表和右侧聊天区域

会话列表和好友列表能正常展示示例数据

消息区域能显示左右区分的聊天消息
3.2.2 交互功能测试
测试点: 消息输入、发送按钮、标签页切换
测试方法: 在输入框填写内容并点击发送,切换会话 / 好友标签
测试结果:

发送按钮能触发消息发送逻辑

标签页切换可显示不同列表内容

WebSocket 能正确发送输入的消息内容
3.2.3 消息收发测试
测试点: 消息发送、消息接收、消息展示
测试方法: 使用两个浏览器窗口模拟不同用户,发送消息并观察
测试结果:

发送方消息能在控制台输出

接收方能收到消息并在控制台显示

消息内容完整,未出现乱码

四、发现的问题与改进建议

4.1 存在的问题

  1. 前端页面样式不够完善,部分元素(如用户信息、会话标题)未正确显示
  2. 好友列表和会话列表数据为静态示例,未与后端动态同步
  3. 缺少用户登录认证机制,无法区分不同用户身份
  4. 未实现消息历史记录加载功能,新打开页面无法查看历史消息
  5. 没有处理用户离线状态,离线用户无法接收消息

4.2 改进建议

  1. 完善前端 CSS 样式,优化页面布局和交互体验
  2. 实现前端与后端的数据同步,动态加载好友列表和会话信息
  3. 增加用户登录模块,通过 Session 或 Token 实现身份认证
  4. 开发历史消息加载接口,支持分页查询历史消息
  5. 添加离线消息存储机制,用户上线后可接收离线消息
  6. 增加输入合法性校验,防止 XSS 攻击和恶意内容发送

五、测试总结

本项目基本实现了网页聊天室的核心功能,包括 WebSocket 连接管理、实时消息收发和数据库存储。后端 WebSocket 处理逻辑完整,能正确处理连接建立、消息转发和连接关闭等场景;前端页面框架已搭建完成,具备基本的交互能力。

相关推荐
用户8307196840825 小时前
Spring Boot 集成 RabbitMQ :8 个最佳实践,杜绝消息丢失与队列阻塞
spring boot·后端·rabbitmq
Java水解6 小时前
Spring Boot 视图层与模板引擎
spring boot·后端
Java水解6 小时前
一文搞懂 Spring Boot 默认数据库连接池 HikariCP
spring boot·后端
洋洋技术笔记10 小时前
Spring Boot Web MVC配置详解
spring boot·后端
初次攀爬者1 天前
Kafka 基础介绍
spring boot·kafka·消息队列
用户8307196840821 天前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Java水解1 天前
SpringBoot3全栈开发实战:从入门到精通的完整指南
spring boot·后端
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
初次攀爬者2 天前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺2 天前
搞懂@Autowired 与@Resuorce
java·spring boot·后端