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

聊天室项目测试报告

项目介绍

本项目是一个基于Spring Boot框架开发的聊天室应用。一个实时的文本消息交流平台,允许多个用户同时在线聊天。系统采用了Spring Boot作为后端框架,集成了WebSocket技术以实现消息的实时推送与接收提供一个简单、易用且功能完备的在线聊天环境。

测试内容

用户注册与登录测试

测试用例1:正常注册与登录

  • 测试步骤
    1. 打开浏览器,输入聊天室应用的URL,访问注册页面。
    2. 在邮箱输入框中输入一个有效的邮箱地址。
    3. 在密码输入框中输入一个符合复杂度要求的密码。
    4. 输入密码再次确认密码
    5. 点击“发送验证码”按钮。
    6. 检查邮箱是否收到注册成功的确认邮件,并验证页面是否显示注册成功的提示信息。
    7. 打开登录页面,输入刚才注册的账号和密码。
    8. 点击“登录”按钮。
    9. 验证是否成功跳转到聊天室主界面,并显示用户已登录的状态。
  • 预期结果
    • 注册页面显示注册成功提示。
    • 邮箱收到注册成功的确认邮件。
    • 登录页面跳转至聊天室主界面,显示用户已登录。
  • 实际结果
    • 注册页面显示注册成功提示。
    • 邮箱收到注册成功的确认邮件。
    • 登录页面跳转至聊天室主界面,显示用户已登录。

测试用例2:用户名已存在

  • 测试步骤
    1. 访问注册页面。
    2. 输入一个已知已存在的用户名(如existinguser)和新的密码、邮箱。
    3. 点击“注册”按钮。
  • 预期结果
    • 系统显示错误消息,提示用户名已存在。
    • 用户无法完成注册。
  • 实际结果
    • 系统显示错误消息,提示用户名已存在。
    • 用户无法完成注册。

测试用例3:密码不符合要求

  • 测试步骤
    1. 访问注册页面。
    2. 输入一个有效的用户名(如newuser)。
    3. 输入一个不符合密码复杂度要求的密码(如123)。
    4. 输入邮箱地址。
    5. 点击“注册”按钮。
  • 预期结果
    • 系统显示错误消息,提示密码不符合要求。
    • 用户无法完成注册。
  • 实际结果
    • 系统显示错误消息,提示密码不符合要求。
    • 用户无法完成注册。

聊天功能测试

测试用例1:发送消息

  • 测试步骤
    1. 登录聊天室应用。
    2. 进入一个聊天室或创建一个新的聊天室。
    3. 在输入框中输入一条消息(如Hello, everyone!)。
    4. 点击“发送”按钮。
  • 预期结果
    • 消息立即显示在聊天室的消息列表中。
    • 消息内容准确无误。
  • 实际结果
    • 消息立即显示在聊天室的消息列表中。
    • 消息内容准确无误。

测试用例2:接收消息

  • 测试步骤
    1. 使用两个用户账号分别登录聊天室应用。
    2. 在一个用户账号下发送一条消息到聊天室。
    3. 切换到另一个用户账号,查看聊天室中的消息列表。
  • 预期结果
    • 第二个用户账号能够实时接收到第一个用户发送的消息。
    • 消息内容准确无误。
  • 实际结果
    • 第二个用户账号能够实时接收到第一个用户发送的消息。
    • 消息内容准确无误。

用户列表显示测试

测试用例1:用户列表显示

  • 测试步骤
    1. 登录聊天室应用。
    2. 进入一个聊天室。
    3. 查看聊天室界面上的用户列表区域。
  • 预期结果
    • 用户列表显示当前聊天室中的所有在线用户。
    • 用户列表中的用户名和头像(如果有)显示正确。
  • 实际结果
    • 用户列表显示当前聊天室中的所有在线用户。
    • 用户列表中的用户名和头像(如果有)显示正确。

测试用例2:用户状态更新

  • 测试步骤
    1. 记录当前聊天室中的在线用户列表。
    2. 使用一个用户账号退出聊天室(如关闭浏览器标签页或点击退出按钮)。
    3. 等待几秒钟,然后重新查看聊天室中的用户列表。
  • 预期结果
    • 退出聊天室的用户不再显示在用户列表中。
    • 用户列表实时更新以反映当前在线状态。
  • 实际结果
    • 退出聊天室的用户不再显示在用户列表中。
    • 用户列表实时更新以反映当前在线状态。

 

相关文章:

聊天室项目测试报告

项目介绍 本项目是一个基于Spring Boot框架开发的聊天室应用。一个实时的文本消息交流平台,允许多个用户同时在线聊天。系统采用了Spring Boot作为后端框架,集成了WebSocket技术以实现消息的实时推送与接收提供一个简单、易用且功能完备的在线聊天环境。…...

语音识别(实时语音转录)——funasr的详细部署和使用教程(包括实时语音转录)

阿里达摩院开源大型端到端语音识别工具包FunASR: FunASR提供了在大规模工业语料库上训练的模型,并能够将其部署到应用程序中。工具包的核心模型是Paraformer,这是一个非自回归的端到端语音识别模型,经过手动注释的普通话语音识别…...

【网络编程】TCP机械臂测试

通过w(红色臂角度增大)s(红色臂角度减小)d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂 注意:关闭计算机的杀毒软件,电脑管家,防火墙 1)基于TCP服务器…...

笔记:在WPF中如何注册控件级全局事件和应用程序级全局事件

一、目的:在WPF中如何注册控件级全局事件和应用程序级全局事件 二、实现 应用程序级全局事件 //注册应用程序级全局事件 EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(ic_event_Click)); 如上代码既会注册全局…...

【Linux系列】telnet使用入门

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

音视频相关知识

H.264编码格式 音频 PCM就是要把声音从模拟信号转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样。 pcm是无损音频音频文件格式...

数据结构--第七天

递归 -递归的概念 递归其实就是一种解决问题的办法,在C语言中:递归就是函数自己调用自己 -递归的思想 递归的思考方式就是把大事化小的过程 递归的递就是递推的意思,归就是回归的意思 (递归是少量的代码完成大量的运算&#xff09…...

代码随想录Day34:62.不同路径、63.不同路径II、343.整数拆分、96.不同的二叉搜索树

62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&…...

【信息学奥赛一本通】1008:计算(a+b)/c的值

1008:计算(ab)/c的值 时间限制: 1000 ms 内存限制: 66536 KB 提交数:164836 通过数: 142434 【题目描述】 给定3个整数a、b、c,计算表达式abc的值。 【输入】 输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(-10,…...

使用 jstat 进行 Java 应用程序性能监控

jstat 使用经验笔记 1. 简介 jstat 是 Java 开发工具包 (JDK) 中的一个命令行工具,用于监控 Java 虚拟机 (JVM) 的运行时状态,特别是垃圾回收 (Garbage Collection, GC) 的行为。通过使用 jstat,你可以监控和诊断 Java 应用程序的内存使用情…...

Prompt指令调优大揭秘

Hey,技术达人们!今天咱们就来聊聊Prompt指令调优的那些事儿。想象一下,你有一个超级智能的AI小伙伴,但要让它更懂你,更给力,那就得靠点“魔法”——Prompt指令调优。准备好了吗?让我们一探究竟&…...

C语言中的⽂件操作

1. 为什么使⽤⽂件? 如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化…...

黑马前端——days14_js

案例 1 页面框架文件 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&l…...

【自动驾驶】ROS中参数服务器通信(c++)

目录 通信过程新建参数服务器包编写测试文件修改cmakelist:搭配launch文件启动测试及结果 通信过程 1.Talker 设置参数 Talker 通过 RPC 向参数服务器发送参数(包括参数名与参数值)&#xff0c;ROS Master 将参数保存到参数列表中。 2.Listener 获取参数 Listener 通过 RPC 向…...

零基础5分钟上手亚马逊云科技核心云开发知识 - 网络基础

简介&#xff1a; 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列&#xff0c;适用于任何无云计算或者亚马逊云科技技术背景的开发者&#xff0c;通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…...

Unity Recttransform操作

1、拉伸铺满 RectTransform rect GetComponent<RectTransform>();rect.anchorMin Vector2.zero;rect.anchorMax Vector2.one;rect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Screen.width);rect.SetSizeWithCurrentAnchors(RectTransform.Axis.Verti…...

MIT线性代数P5

置换矩阵 置换矩阵是行重新排列的单位矩阵。 置换矩阵用P表示&#xff0c; 性质&#xff1a; n阶置换矩阵共有n!个...

patroni+etcd开启SSL认证(三个节点证书一致 使用openssl命令)

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;14 文档用途 本文主要介绍Patroni架构中如何开启etcd的ssl证书认证。 详细信息 一、前提说明 patroni版本&#xff1a;3.0.2 etcd版本&#x…...

Eureka入门指南:微服务注册与发现的基础概念

Eureka入门指南&#xff1a;微服务注册与发现的基础概念 引言 随着微服务架构的普及&#xff0c;微服务之间的高效通信和管理成为了开发和运维的核心挑战之一。为了解决服务发现和管理问题&#xff0c;Netflix推出了Eureka&#xff0c;一个功能强大的服务注册和发现工具。Eur…...

Linux:动态库和静态库

静态库与动态库 A&#xff1a;静态库&#xff08;.a&#xff09;&#xff1a;程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。 B&#xff1a;动态库&#xff08;.so&#xff09;&#xff1a;程序在运行的时候才去链接动态库的代码&#…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...