OnlineChat项目测试报告

一、项目背景

1.1 测试目标及测试任务的概括

本次测试的目标是确保网页聊天室项目功能的完整性、性能的稳定性,确保其能够顺利部署并满足预期的业务需求。具体的测试任务包括以下几个方面:

  • 功能测试: 用户模块:用户的注册和登录。
  • 主页面模块:实现聊天界面的主界面布局和样式。
  • 好友管理模块:针对每个用户都具有哪些好友进行组织管理。
  • 会话管理模块:针对每个用戶涉及到的聊天会话进行组织管理。
  • 消息传输模块:实现消息转发功能。
  • 用户界面测试:评估项目的UI是否友好,操作流程是否简便,设计是否符合用户习
  • 稳定性测试:对系统进行长时间的持续使用,检测聊天室是否存在崩溃、卡顿等问题。
  • 接口测试:确保项目与后端服务、数据库、第三方API接口的交互正确性。
  • 安全性测试:检测系统的安全性,防止可能的漏洞攻击,如数据泄露、权限问题等。

1.2 被测的系统,代码以及文档等信息

  • 系统名称:onlineChat项目
  • 项目源码https://gitee.com/miwenwen/chatroom/tree/master/chatroom
  • 系统功能:用户的登录,注册,聊天主界面的布局和样式,好友管理,会话管理,消息的转发
  • 技术栈:spring + springBoot + springMVC + JDK8
    数据库:Mybatis + MySQL
    实现服务器给客户端推送消息:WebSocket

二、测试安排

2.1 测试用例设计

在这里插入图片描述

2.2 测试方案设计

  • 手动测试:主要对用户操作流程、界面显示、功能是否按预期运行进行手动测试。
  • 自动化测试:使用测试工具(如Selenium、Junit)对核心功能进行自动化测试,提高测试效率。
  • 性能测试:使用测试工具(jmeter)进行简单的性能测试

三、测试分类

3.1 测试方案

3.1.1 功能测试

对上述编写的测试用例进行测试
功能测试结果:测试用例100%通过

3.1.2 自动化测试
  • 通过selenium和junit自动化测试工具对代码的核心功能进行自动化测试
  • 自动化测试覆盖模块:登录,注册,聊天主界面,会话管理,用户管理,发送消息
  • 自动化测试代码示例
    https://gitee.com/miwenwen/chatroom/tree/master/Test02
    自动化测试结果:测试用例100%通过
3.1.3 性能测试

使用jmeter进行简单的性能测试:包括登录,列表页面,上传音乐,收藏音乐等接口进行测试

  • 添加线程组
    压测场景中,通常为是⼀点的逐步增加线程数,因此这里添加SteppingThreadGroup,可以逐步增加线程的负载,逐步启动线程。这里我们添加20个线程,
    在这里插入图片描述

  • 设置HTTP请求默认值
    项目中涉及到的接口协议、IP、端⼝号全都⼀样,可以单独抽取出来存放在默认值中,其他接⼝就可 以省略不写协议、IP、端⼝号
    在这里插入图片描述

  • 添加登录接口

在这里插入图片描述

为了使登录有更多的用户数据可以测试,可以使用SCV数据配置作为登录接口的参数
在这里插入图片描述

  • 添加注册接口
    在这里插入图片描述

  • 添加获取会话列表接口
    因为我们对列表页等页面添加了拦截器的功能,所以这里要设置cookie在这里插入图片描述

  • 添加获取好友列表接口
    在这里插入图片描述

  • 添加获取会话消息列表接口

在这里插入图片描述

3.2测试结果

  • 聚合报告
    从聚合报告可以看到性能测试过程中整体的数据变化
    在这里插入图片描述

  • ResponseTimesOverTime
    在这里插入图片描述

  1. 事务类型:
  • 图中显示了五种类型的事务:注册请求(绿色)、登录请求(红色)、获取会话列表(紫色)、获取会话的消息列表(青色)和获取好友列表(棕色)。
  1. 响应时间趋势:
  • 在测试的大部分时间内,除了登录请求(红色)外,其他事务的响应时间都相对较低且稳定。这表明这些操作在正常负载下系统能够快速响应。
  1. 性能波动:
  • 登录请求(红色)在测试的最后阶段出现了显著的响应时间峰值,这可能是由于系统在高负载下处理登录请求时遇到了性能瓶颈。
  • 获取会话的消息列表(青色)在测试结束前也有一个较高的峰值,这可能表明在高负载下,这个操作的性能受到了影响。
  1. 系统稳定性:
  • 除了最后阶段的峰值外,系统的响应时间整体上是稳定的,这表明系统在大多数情况下能够提供稳定的服务。
  1. 优化建议:
  • 对于登录请求,可以考虑优化认证过程,比如使用更高效的认证机制或增加缓存来减少数据库的负载。
  • 对于获取会话的消息列表,可能需要优化数据检索和传输过程,减少数据量或提高数据压缩效率。
  • TransactionsperSecond(TPS)
    在这里插入图片描述
  1. 事务类型
  • 图中显示了五种类型的事务:注册请求(success)(浅蓝色)、登录请求(success)(红色)、获取会话列表(success)(绿色)、获取会话的消息列表(success)(棕色)和获取好友列表(success)(深蓝色)。
  1. 事务数量
  • 每种事务的折线图显示了每秒的事务数量。从图中可以看出,登录请求和获取会话列表的事务数量相对较高,而注册请求和获取好友列表的事务数量相对较低。
  1. 性能趋势
  • 在测试的初期,所有事务的事务数量都有一个快速的增长,这可能是由于测试开始时用户并发增加导致的。
  • 在大约00:00:15之后,事务数量趋于稳定,这表明系统在处理这些操作时达到了一个相对稳定的状态。
  1. 系统稳定性
  • 在测试的后期,事务数量的波动较小,这表明系统在高负载下能够保持相对稳定。
性能测试报告

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值