ChatHub测试报告

1.测试概述

1.1测试背景

本项目为一个网络聊天室,包含用户登录、获取用户信息等核心功能,同时涉及 WebSocket 在线消息处理及前端页面样式展示等模块。为确保系统功能的正确性、稳定性及用户体验的流畅性,需通过系统性测试验证各模块功能及整体运行效果。

1.2测试目的

  1. 验证系统核心功能的正确性,包括用户登录、注册、获取用户信息等功能是否按预期执行,WebSocket 在线消息处理是否准确无误。

  2. 检查前端页面样式及交互效果是否符合设计要求,页面过渡动画、导航栏、提示框等元素的展示和功能是否正常。

  3. 确保系统在不同场景下的稳定性和可靠性,例如用户并发登录、消息实时传输等场景。

  4. 发现并修复系统中存在的潜在缺陷和漏洞,提高系统的质量和安全性。

1.3测试环境

|----------|-----------------------------------------------------------------|
| 环境类别 | 详细信息 |
| 操作系统 | Windows 11 家庭中文版(版本号:24H2,内部版本:26080.7462) |
| 系统架构 | 64 位(基于 x64 的处理器) |
| 硬件配置 | 处理器:13th Gen Intel (R) Core (TM) i7-13620H(2.40 GHz);内存:16.0 GB |
| 设备型号 | Lenovo Legion Y700P IRH8 |
| 浏览器名称+版本 | Google Chrome 143.0.7499.170(正式版) |
| 浏览器位数 | 64位 |
| 浏览器驱动 | ChromeDriver 143.0.7499.169 |
| idea版本 | IntelliJ IDEA 2022.2.4(Ultimate Edition) |
| 自动化框架环境 | Selenium-Java:4.39.0;WebDriverManager:6.1.0;JUnit:4.9 |

2.测试计划

2.1测试用例:

2.1.1功能测试:

2.1.2页面测试:

2.1.3性能测试:

2.1.4兼容性测试:

2.1.5易用性测试:

2.1.6安全性测试:

3.手工测试:

1.模拟首次使用该网页,进入页面没有账号,点击跳转注册;

2.跳转成功,进行注册账号,首先测试错误注册,对于测试用例,使用正交法,利用工具生成对应的正交表:

|----|-----|-----|-------|----------|
| 2 | 用户名 | 密码 | 确认密码 | pairings |
| 1 | 0位 | 5位 | 与密码相同 | 3 |
| 2 | 0位 | 6位 | 与密码不同 | 3 |
| 3 | 0位 | 20位 | 空值 | 3 |
| 4 | 0位 | 21位 | 21位 | 3 |
| 5 | 1位 | 5位 | 与密码不同 | 3 |
| 6 | 1位 | 6位 | 与密码相同 | 3 |
| 7 | 1位 | 20位 | 21位 | 3 |
| 8 | 1位 | 21位 | 空值 | 3 |
| 9 | 20位 | 5位 | 空值 | 3 |
| 10 | 20位 | 6位 | 21位 | 3 |
| 11 | 20位 | 20位 | 与密码相同 | 3 |
| 12 | 20位 | 21位 | 与密码不同 | 3 |
| 13 | 21位 | 5位 | 21位 | 3 |
| 14 | 21位 | 6位 | 空值 | 3 |
| 15 | 21位 | 20位 | 与密码不同 | 3 |
| 16 | 21位 | 21位 | 与密码相同 | 3 |

3.利用得到的正交表进行注册测试:

接下来利用等价法的原理展示几个具有代表性的例子:

①存在内容为空:

②两次密码输入不一致:

③格式错误:

④注册成功,点击注册后跳转登录页面:

4.注册成功进行登录,使用等价法和边界法进行用例的设计:

①全部为空:

②全部错误:

③全部正确,进入client页面:

5.添加好友,输入用户名并点击查找,点击添加好友会有添加成功的弹窗提示:

6.若用户不存在则提示未查找到用户:

7.回到好友列表,找到指定好友,点击后自动创建并跳转到新的聊天框,发送信息查看是否可以正常发送信息:

8.登录对应好友账号查看是否收到消息:

4.自动化测试:

自动化测试代码

以页面书写测试类,然后对主要功能进行测试:

1.注册页面:

①测试注册页面能否正常加载;

②异常注册/正常注册;

③注册成功后是否能够正常登录。

2.登录页面:

①测试页面是否正常加载;

②异常登录/成功登录;

3.消息页:

①页面正常加载;

②点击好友列表中的任意好友跳转到聊天窗口;

③发送消息后对应对话框会置顶;

4.添加好友:

①页面正常加载;

②搜索用户并添加;

③用户不存在会有对应提示。

代码目录:

5.性能测试:

详细测试数据:

性能测试报告

针对基于 WebSocket 的聊天室系统开展性能测试,验证系统在梯度并发用户访问下的核心接口(注册、登录、WebSocket 消息收发)性能表现,识别系统性能瓶颈,为系统优化提供数据支撑。

5.1测试流程:

5.2测试环境

|-------|------------------------------|
| 类别 | 配置信息 |
| 服务器 | 公网 IP:115.159.5.204,端口:8083 |
| 服务器配置 | CPU:4 核,内存:8GB,系统:Linux |
| 测试工具 | JMeter 5.6.3(含 WebSocket 插件) |
| 测试协议 | HTTP/HTTPS、WebSocket |

5.3测试场景(梯度压测)

基于SteppingThreadGroup(阶梯线程组)配置,压测流程如下:

  1. 初始并发:20 用户,突发 10 用户,20s 内完成启动;
  2. 持续运行:100 并发用户稳定运行 60s;
  3. 停止阶段:5s 内停止 20 用户,逐步降载。

5.4核心测试接口

|--------------|------|------|-----------------------------------|
| 接口名称 | 协议 | 请求方式 | 核心参数 |
| 注册接口 | HTTP | POST | userName、password、passwordCertain |
| 登录接口 | HTTP | POST | userName、password |
| WebSocket 连接 | WS | 长连接 | userId(登录后提取) |
| 消息收发 | WS | 双向通信 | content(消息内容) |

5.5可视化图表分析

①响应时间趋势(jp@gc - Response Times Over Time)

  • 趋势描述:100 并发前响应时间稳定在 1.5s,超过 100 并发后升至 3s;
  • 异常点:60s 时消息收发响应时间突增,达 4s。

②吞吐趋势(jp@gc - Transactions per Second)

  • 趋势描述:50 并发时 TPS 达 60,100 并发时 TPS 降至 45;
  • 瓶颈分析:TPS 随并发增加下降,存在资源瓶颈。

③活跃线程数趋势(jp@gc - Active Threads Over Time)

  • 趋势描述:20s 内线程数升至 100,稳定运行 60s 无异常;
  • 结论:线程组配置生效,梯度压测执行正常。
相关推荐
东北小狐狸-Hellxz9 小时前
解决java客户端连接ssh失败问题
java·网络·ssh
悟能不能悟9 小时前
HttpServletRequest request获取整个headers有什么方法
java
__万波__9 小时前
二十三种设计模式(二十)--解释器模式
java·设计模式·解释器模式
网安_秋刀鱼9 小时前
【java安全】反序列化 - CC1链
java·c语言·安全
零度@9 小时前
Java消息中间件-Kafka全解(2026精简版)
java·kafka·c#·linq
钱多多_qdd9 小时前
springboot注解(二)
java·spring boot·后端
Cosmoshhhyyy9 小时前
《Effective Java》解读第32条:谨慎并用泛型和可变参数
java·python
帅气的你9 小时前
面向Java程序员的思维链(CoT)提示词写法学习指南
java
一只小小Java9 小时前
Java面试场景高频题
java·开发语言·面试
沛沛老爹9 小时前
Web开发者快速上手AI Agent:基于Function Calling的12306自动订票系统实战
java·人工智能·agent·web转型