团队作业5:Alpha版本测试和发布(歪瑞古德小队)
Author:歪瑞古德小队
Project:海岛漂流
一、项目文档和代码
博客链接:
文档仓库:歪瑞古德小队文档仓库
代码仓库:歪瑞古德小队代码仓库
二、Alpha版本测试报告
2.1 功能测试
2.1.1 功能列表
功能 | 详细描述 |
---|---|
登录注册 | 用户使用账号密码登录 用户注册一个账号 用户选择忘记密码 |
用户信息管理 | 用户修改密码 用户修改头像 用户修改笔名 用户修改邮箱 用户修改签名 |
我的邮票 | 用户可以查看自己拥有的邮票列表 |
通知 | 用户收到新信件时进行提醒 用户看完通知之后信件状态改变 |
书写信件 | 书写新的信件 选择信件的信纸(背景) |
发送信件 | 随机选择笔友 选择一个发送的笔友 选择一张使用的邮票 系统根据两边距离计算发信所需时间 发信消耗一张邮票 |
草稿箱 | 用户查看草稿 用户编辑草稿 用户更新草稿 用户发送草稿 |
笔友 | 第一次给对方写信之后自动添加为笔友 用户可以看到笔友列表 用户点击笔友可以看到两人之间来往的信件 用户可以给笔友写信 |
个人海岛 | 每个用户有一个自己的海岛 用户可以设置自己海岛的背景 |
他人海岛 | 用户可以看到他人海岛的动态 动态可以看到内容,发送时间,发送者,浏览量 用户可以在动态下面评论和回复 |
进入海岛 | 漂流:用户可以随机到达一个海岛 用户可以根据海岛名称搜索海岛 到达一个海岛后有一定几率获得邮票和时间胶囊 |
海岛列表 | 用户可以看到自己标记过的海岛列表 用户可以在自己的海岛发动态 用户可以标记他人的海岛 |
数据统计 | 发送了多少信件 受到过多少信件 在信件中写过多少文字 路过多少个海岛 |
创建树洞 | 用户可以创建一个树洞,填写树洞名称,树洞内容 用户最多只能创建5个树洞 其他用户可以查看树洞内容 其他用户可以在树洞下面留言(只能给树洞留言,不能互相回复) |
删除树洞 | 删除已经创建的树洞 |
时间胶囊 | 用户书写一封信 用户可以指定在将来某个时间打开这个胶囊 用户一开始只有3个胶囊 把一封信放进胶囊会消耗一颗胶囊 |
2.1.2 场景测试
场景1:用户想给未来的某个时间的自己一封信,并且在那个时间收到这个信件,这个软件的时间胶囊可以解决他的问题。
场景2:用户想远离各种吵杂的环境,专注于文字表达,并且同时满足与陌生人的社交,这个软件的海岛信件树洞功能完美解决了他的烦恼。
2.1.3 测试结果
用户模块
功能 | 效果 | 测试结果 |
---|---|---|
用户登录 | 用户账号密码匹配,登录成功,账号错误提示未注册,密码不匹配提示密码错误 | 成功 |
用户注册 | 密码格式判断,需为6-16位的字母与数字组合 | 成功 |
用户上传头像 | 用户上传头像,修改或新增自己的头像 | 成功 |
用户更新信息 | 地区判断 | 成功 |
用户查询我的邮票 | 查询出所有邮票 | 成功 |
用户获得通知 | 按时间顺序列出所有通知 | 成功 |
用户已读通知 | 将通知的状态改为已读 | 成功 |
用户退出登录 | 注销登录 | 成功 |
信件模块
功能 | 效果 | 测试结果 |
---|---|---|
获得与一名笔友的信件 | 得到与该笔友所有信件的内容 | 成功 |
获得用户所有笔友 | 按首字母排序所有笔友 | 成功 |
发送信件 | 选择发件人,邮票格式,填写无敏感词的内容 | 成功 |
存入草稿箱 | 发送信件时,可选择暂不发送,存入草稿箱 | 成功 |
更新草稿 | 在草稿箱点击草稿,进入后修改 | 成功 |
删除草稿 | 在草稿箱点击草稿,进入后点删除 | 成功 |
查看草稿箱 | 按时间倒序展示草稿 | 成功 |
发送时间胶囊 | 设置未来某个时间收到这个信件,时间不可少于现在 | 成功 |
删除自己笔友 | 在好友列表中,删除笔友 | 成功 |
查询单个信件 |
树洞模块
功能 | 效果 | 测试结果 |
---|---|---|
新增树洞 | 填写树洞无敏感词的标题,内容, | 成功 |
修改树洞 | 修改树洞标题,内容 | 成功 |
删除树洞 | 删除树洞 | 成功 |
留言树洞 | 点击树洞填写留言内容 | 成功 |
查看树洞 | 点击树洞列表,按时间顺序排列 | 成功 |
查看自己的树洞 | 点击树洞管理 | 成功 |
海岛模块
功能 | 效果 | 测试结果 |
---|---|---|
按名字搜索海岛 | 输入海岛名称模糊搜索 | 成功 |
漂流海岛 | 随机返回一个海岛 | 成功 |
星标海岛 | 类似收藏功能 | 成功 |
获得一个海岛的动态列表 | 点击一个海岛,按时间顺序返回动态 | 成功 |
查看一个动态内容 | 点击一条动态进入,可以得到动态内容和回复内容 | 成功 |
上传海岛背景 | 用户上传海岛背景 | 成功 |
海岛发布动态 | 输入动态内容 | 成功 |
在一条动态下评论/回复 | 输入评论/回复内容 | 成功 |
2.1.4 bug清单
(1)已经修复的bug
- 登录之后页面空白
- 个人信息页面信息显示不全
- 星标一个新的海岛时,无法获得最新的星标海岛列表
- 用户签名修改后,没有展示在前端
(2)不能重现的bug
- 暂无
(3)这个产品就是这样设计的,不是bug
- 用户点击保存草稿箱,点保存后需要点击存入草稿箱才算存入,否则会无限循环
(4)没有能力修复,将来也不打算修复的bug
- 暂无
(5)这个bug的确应该修复,但是没有时间在这个版我本修复,延迟到下一个版本修复
- 用户更新信息时,没有检查邮箱格式是否正确。
2.2 兼容性测试
手机 | 操作系统 | 测试结果 |
---|---|---|
雷电模拟器 | 安卓 | 无法登录,白屏 |
华为 | 安卓 | 成功 |
腾讯模拟器 | 安卓 | 无法登录,白屏 |
小米 | 安卓 | 成功 |
苹果 | ios | 为安卓程序,无法使用 |
vivo | 安卓 | 成功 |
魅族 | 安卓 | 成功 |
2.3 性能测试
2.3.1 测试目的
考虑到本系统在实际生产环境中可能需要面对高并发的业务场景,并且随着该产品不断推广和用户数量不断增长,服务器也需要承载更多的业务请求。为保证本系统服务在高用户量,高并发的业务场景下稳定运行,计划对海岛漂流服务器进行性能测试,在当前系统配置下,在一定时间内,获得服务器运行时的相关数据,检查服务器在高负载情况下的性能表现,以便对系统环境进行正确的分析及评估,检验本系统服务器的性能是否符合需求。
2.3.2 测试环境
机器 | 硬件 |
---|---|
客户机 | 处理器: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz 内存:8.00GB 硬盘 : 1000GB 网络带宽:20M |
服务器 | 处理器:1核 内存:2GB 硬盘:40GB 网络带宽:5M |
2.3.3 测试工具
本次测试主要使用到开源测试工具jmeter,版本为Apache JMeter 5.2.1
辅助工具为Postman,版本为Postman v7.19.1
2.3.4 测试方法和过程
本次测试主要是针对本系统中具有代表性,并发需求量比较大的业务接口进行测试,具体测试场景如下:
场景 | 服务器接口 | 请求方式 | 用户数 | 请求次数 | 请求间隔 | 持续时间 |
---|---|---|---|---|---|---|
获取和一位笔友之间的信件 | /letter/ | GET | 20 | 无限 | 0ms | 20s |
用户登录 | /user/login | POST | 20 | 无限 | 0ms | 20s |
获取用户的笔友 | /friend | GET | 20 | 无限 | 0ms | 20s |
发送信件 | /letter/ | POST | 20 | 无限 | 0ms | 20s |
测试方法:
(1)本次采用apache的开源测试工具jmeter,通过http协议发送访问请求,收集服务器响应速度,监控服务器运行状态和资源耗用情况。
(2)安装启动JMeter,分别对以上场景对应的接口设置HTTP请求,使用Postman发送请求登陆接口,使用Header管理器统一设置请求头部中的 Authorization为Postman返回的值,每个接口设置一个线程组,每个线程组的线程数为以上表格中的用户数(20),每个线程组的执行时间为以上表格中的持续时间(20s)
(3)将测试结果输出到文件,利用jmeter生成多维度测试报告
2.3.5 测试结果
登录接口测试结果:
获取笔友接口测试:
获取信件接口测试:
发送信件接口测试:
以上表格汇总了本次测试的总体结果信息,从表格来看,本次测试总共向服务器发出32987个HTTP请求,其中0个请求失败,在当前测试压力下,总体业务可用性超过99.999%。接口吞吐量均超过300/s,达到了预期要
2.3.6 结果分析和报告
登录接口TPS分析:
获取笔友接口TPS分析:
获取信件接口TPS分析:
发送信件接口TPS分析:
以上为本次测试中HTTP接口的TPS随时间变化图,该图形直观地展示出本系统在本次测试中吞吐率的表现,TPS最高的为获取信件的接口,基本稳定在1100以上,TPS最低的接口为发送信件接口,稳定在500TPS左右。在实际业务场景中,对并发性要求比较高的接口为查询信件的接口,其平均TPS接近1100,达到预期的并发需求。
2.4 安全测试
2.4.1 测试目的
全面检查系统的安全性能,排除系统安全漏洞,保证应用的安全
2.4.2 测试工具
用acunentix测试,测试人员模拟非法入侵,采用各种方法冲破防线
2.4.3 测试结果
2.5 出口条件
- 完成所有的测试类型
- 没有影响用户正常使用的 bug
- 通过压力测试,并且设计符合用户要求
- 没有 bug 或 bug 经过风险评估
- 通过交叉检查,非该代码开发人员测试通过
- 产品使用说明书或用户手册等已经完备
三、Alpha版本发布说明
3.1 发布地址
App使用多渠道同时进行分发,主要发布地址:应用发布页
备用发布地址:
测试帐号:huange7
密码:123456
备注:测试帐号用于方便测试,不要把数据都删了)
3.2 运行环境
使用安卓5.0+系统的智能手机
3.3 安装教程
下载安装包文件之后打开即可
3.4 功能介绍
(1)登录注册功能
(2)个人信息页面
(3)管理个人信息
(4)笔友列表
(5)点击悬浮按钮可以进行写信,写树洞,写时间胶囊等操作
(6)编辑信件内容
(7)写好信件之后选择使用的邮票和发送的笔友进行投递信件,页面中会显示投递信件需要的时间
(8)点击某一个笔友可以查看两人往来的信件列表
(9)如果是编写时间胶囊将可以选择一个未来的时间打开胶囊
(10)没写完的信件可以选择保存到草稿箱
(11)树洞列表中可以查看系统中最新的树洞
(12)点击树洞可以在树洞下面留言
(13)海岛页面可以查看自己的海岛和收藏的海岛列表
(14)点击漂流可以随机进入一个别人的海岛
(15)点击一条海岛动态可以进行评论
3.5 系统已知问题和限制
- 可以对海岛进行星标,但是没有取消星标的功能
- 敏感词过滤系统的准确度不是很高,存在误判的问题