目录
一、项目背景
畅语阁聊天室是一个实时双向消息互动平台,旨在为用户提供一个稳定、高效且友好的聊天体验,拉近人与人之间的距离。为确保这一目标实现,平台需要经过全面的测试覆盖和严格的质量保障。
二、项目功能
畅语阁项目具备核心功能模块,包括用户注册、登录以及消息发送功能:
- 注册功能:用户可以通过输入个人信息如用户名、密码、邮箱等进行账号创建,确保每个用户拥有唯一的身份。
- 登录功能:注册成功后,用户能够使用已创建的账号进行登录。通过输入正确的用户名和密码,用户可以安全地访问平台,系统会进行身份验证以确保安全性。
- 发送消息功能:在登录成功后,用户可以在聊天室中与其他用户实时交流,消息传输迅速且稳定,确保流畅的沟通体验。
除此之外,畅语阁还致力于保障用户的隐私和数据安全,通过多层加密和身份验证,提升整体使用的安全性与可靠性。
三、功能测试
测试用例:
1、正常注册
正确填写信息之后点击"发送验证码"按钮
填入验证码之后提示注册成功并返回一个可登录的账号
2、正常登录
填写信息后点击"登录"按钮
点击"确定按钮"
2.1、测试邮箱登录
输入正确信息后, 点击"登录"按钮
发现bug: 并不能通过邮箱登录
成功跳转到聊天室
3、聊天测试
由于目前这个向右还没有实现搜索添加好友的功能, 所以暂时在后台数据库手动添加好友进行测试
3.1、发送带有特殊符号的消息测试
分别给两个好友发送测试用例
但是换了一个号上线之后发现没有第二条信息
切换回来另一个账号, 发现确实第二条消息没了
重新发送消息
发现系统确实没问题, 得出结论: 系统对某些特殊符号不兼容, 无法发送某些特殊符号
3.2、发送长消息测试
用户1发送长消息, 用户A成功收到
3.3、定时发送测试
编辑消息之后点击定时发送, 发现没有反应
发现bug: 定时发送功能无法使用或未实现
4、跳转测试
在好友列表点击好友用户A是否会正确跳转到对用的聊天界面
正常跳转
四、性能测试
因为性能测试是通过脚本运行, 登录又有随机图形验证码, 所以为了方便, 先把验证码校验的代码注释掉
尝试不用验证码登录
点击"登录"按钮
后面就可以正式进行性能测试了
1、在Jmeter中添加单线程接口测试
运行测试:
使用另一个账号登录之后发送消息"测试"之后
接口正常, 接下来就开始正式的性能测试
2、配置多线程的线程组
从活动线程中可以看出在20哥虚拟用户并发时基本符合渐进线程组的预期
在上面这幅响应时间图中可以看出响应时间较长的是登录相关事务, 同时也能看出本项目的优势是使用WebSocket连接时是全双工工作的, 并且是有连接的, 所以响应时间短, 延迟低
通过上面这个事务图中可以看出事务数量基本符合渐进线程组的预期, 但是在较高并发的情况下, 事务处理数量的波动较大
3、性能测试报告
以下报告时通过Jmeter测试后生成的测试报告
从以上报告来看, 系统整体较好, 请求正确率在93%左右, 其中请求失败占比最大的是关闭连接的事务, 还有登录的响应时间最久, 最大达到96ms, 这些事务处理有待优化