网页聊天室--“贯鸿”测试报告
一、项目背景
“贯鸿”即时通讯网页应用,致力于为用户打造一个安全、高效、轻量级的在线社交空间。项目采用Spring Boot + Spring MVC + MyBatis-Plus构建稳固的后端服务体系,通过分层架构设计(Controller-Service-DAO)妥善管理用户身份认证、好友关系链、会话快照及消息持久化等核心数据模块,从而支撑起包括实时消息收发、好友列表动态同步、历史记录回溯,兼顾即时互动与长期沉淀的双重需求。
在网络通信层,项目选用WebSocket全双工协议作为实时消息传输基石,有效规避HTTP轮询带来的冗余请求与延迟波动,确保每条文本、表情或轻量文件都能在毫秒级内触达在线目标。同时,系统设计了离线消息暂存机制——当接收方不在线时,消息自动落入数据库等待拉取,上线后即刻批量推送,真正做到“随时在线,不留空白”。前端UI则聚焦极致操作体验,核心界面涵盖登录注册双页、主聊天工作台,所有交互均辅以平滑动画与即时反馈,让用户沉浸于自然、流畅的对话氛围中。
项目落地的主要功能包括:账号注册与密码加密登录、单点登录防重复、一对一实时文本聊天、离线消息补发、聊天记录按时间倒序分页加载等细节打磨。通过以上设计,“贯鸿”不仅满足日常社交沟通所需,更在稳定性、扩展性和用户友好度上力求均衡,为后续迭代(如群组、语音、文件传输)预留充分接口空间。
二、项目功能
注册功能:用户自定义用户名但不能与数据库中存在的用户名重复,输入密码并存入数据库,注册成功便直接跳转到登录页面进行登录。
登录功能:用户需要输入用户名与密码,用户名与密码要存在于数据库中。登录成功后自动跳转到用户聊天界面。如果没有账户,可以电机登录按钮下方的“注册”按钮进行注册操作。
会话管理:当点击标签列表中与好友的会话,会自动在右侧显示与好友的历史会话;当点击好友标签列表页的好友,会跳转至会话标签处,与好友的会话会置顶,且右侧展示与好友的历史会话,若会话不存在则创建一个会话。
消息传输管理:1.接收方在线时。发送方发送消息,接收方会同步收到;2.当接收方离线时,加载与发送方的聊天记录,那发送的消息会显示。
三、测试计划
(一)功能测试
1.测试用例:

2.实际执行部分测试用例的操作步骤/截图
(1)登录功能

a.测试用例1

弹窗提示成功

跳转至聊天界面

b.测试用例7

c.测试用例10
密码置空没有盐值

(2)注册功能

a.测试用例2

b.测试用例4
预期为提示用户名重复但只提示了注册失败

c.测试用例5

(3)主页面展示

a.测试用例1
测试步骤:
1.用户名输入“zhangsan” 密码输入“123”
2.点击“登录”按钮
预期结果:
跳转至该用户聊天页面,左上角显示登录用户的名字,搜索框与搜索按钮,会话与好友图标。

(4)聊天功能
4.1 发送方在线,接收方离线
a.测试用例1
测试步骤:
1. 点击“lisi”;
2. 右侧的文本输入框为空;
3. 点击 “发送” 按钮;
预期结果:
正常发送。
实际结果:
什么都没提示,没有反应。

b.测试用例2
测试步骤:
1. 点击“lisi”;
2. 右侧的文本输入框输入“123”;
3. 点击 “发送” 按钮;
预期结果:
发送方:
1.“lisi”在会话列表中置顶;
2.“123”出现在会话页面右侧;
接收方:
1.登录后聊天记录增加“吃饭了吗”
实际结果:
发送方:
1.“lisi”在会话列表中置顶;
2.“123”出现在会话页面右侧;
接收方:
上线后,点击与其的聊天页面,展示“123”。

4.2 发送方在线,接收方在线
c.测试用例3
测试步骤:
1. 在edge浏览器登录“lisi”的账号,在Google浏览器 登录“zhangsan”的账号;
2. “lisi”点击“zhangsan”这一好友,往右侧文本输入框输入“456”;
3. 观察Google浏览器中“lisi”与“zhangsan”的聊天页面。
预期结果:
“456”出现在“zhangsan”页面的左侧,“lisi”账号的右侧。


四、遗留风险
1.其实封面背景图,是不能根据页面的调整进行自适应的,某些窗口大小所展示的图片范围很奇怪;
2.因为个人前端能力问题,有些部分的布局需要再进行调整,如发送消息框的文本格式、显示申请好友的信息的格式;
3.有些奇怪的地方,如给一个新好友发送消息,点击好友列表处的新好友,会自动创建会话并开展会话,这是正常操作
4.搜索框没有实现其模糊搜索的功能,由于时间问题,功能后期需要加上
5.注册页面用户名重复没有提示
五、测试总结
本次测试针对 “贯鸿” 网页聊天室项目的注册、登录、会话管理、消息传输管理核心功能展开。共设计并执行了 几十个测试用例,涵盖了功能测试、边界值测试、异常情况测试等多个方面。测试用例执行情况如下:通过的有45个用例,占大概90%,失败的有5个,占10%,已经对失败的部分进行调整,用例也通过了。
编写程序前期真的需要花费多点时间进行设计与思考,不断完善UI界面的功能。
缺陷分布:
1.注册功能
用户名重复注册时只提示注册失败没有提示具体原因
2.个人信息模块
登录后用户名显示undefind,误以为是数据库连接问题其实是后端返回的字段不一样,比如你前端写的username,后端返回的userName。

更多推荐
所有评论(0)