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 系统已知问题和限制

  • 可以对海岛进行星标,但是没有取消星标的功能
  • 敏感词过滤系统的准确度不是很高,存在误判的问题

团队作业5:Alpha版本测试和发布(歪瑞古德小队)的更多相关文章

  1. 团队作业3:需求改进&系统设计(歪瑞古德小队)

    目录 一.需求&原型改进 1.1 用户需求调查 1.2 选题需求改进 1.3 功能分析的四个象限 1.4 完善需求规格说明书 1.5 任务分解WBS调整 1.6 项目进度计划调整 二.后端架构 ...

  2. 团队作业第5周 - 测试与发布(Alpha版本)- 天冷记得穿秋裤队

    团队作业第5周 - 测试与发布(Alpha版本)- 天冷记得穿秋裤队 Alpha版本测试报告 在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? 前后端至今一共发现有10个bug,修复的 ...

  3. 影评网站Alpha版本-测试与发布

    影评网站Alpha版本-测试与发布 项目发布地址: http://120.78.161.21:8080/zhiying/ (建议使用Chrome或火狐浏览器打开,其他浏览器可能加载失败 一.Alpha ...

  4. 团队作业4:第七篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...

  5. 团队作业1:团队展示&选题(歪瑞古德小队)

    目录 一.团队展示 1.1 队名:歪瑞古德小队 1.2 队员信息 1.3 项目描述 1.4 队员风采 1.5 团队分工 1.6 团队合照 1.7 团队特色 二.团队选题 2.1 Git仓库:https ...

  6. 团队作业4:第一篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Alpha阶段任务认领 二.明日任务安排 三.项目预期任务量 四.敏捷开发前的感想 五.团队期望 Author:歪瑞古德小队 Project:海岛漂流 集合贴:团队作业4:项目冲刺集合贴(歪 ...

  7. 团队作业4:第六篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...

  8. 团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...

  9. 团队作业4:第四篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...

随机推荐

  1. linux root 与普通用户之间的切换

    test@ubuntu:~$ su Password:  root@ubuntu:/home/uu# 也可以是从root用户切换到普通用户.如果当前是root用户,那么切换成普通用户uu用以下命令:s ...

  2. 点format方式输出星号字典的值是键

    dic = {'a':123,'b':456} print("{0}:{1}".format(*dic)) a:b 2020-05-08

  3. PDO::prepare

    PDO::prepare — 准备要执行的SQL语句并返回一个 PDOStatement 对象(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 publi ...

  4. bzoj 5206 [Jsoi2017]原力

    LINK:原力 一张无向图 这道题统计三元环的价值和.有重边但是无自环. 我曾经写过三元环计数 这个和那个题差不太多. 不过有很多额外操作 对于重边问题 我们把所有颜色相同的重边缩在一起 这样的话我们 ...

  5. 搭建Redis主从复制的集群

    在主从复制模式的集群里,主节点一般是一个,从节点一般是两个或多个,写入主节点的数据会被复制到从节点上,这样一旦主节点出现故障,应用系统能切换到从节点去读写数据,这样能提升系统的可用性.而且如果再采用主 ...

  6. (数据科学学习手札91)在Python中妥善使用进度条

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在日常运行程序的过程中常常涉及到循环迭代过程,对 ...

  7. 【Python 实例】面向对象 | 按相反的顺序输出列表的值

    [Python 实例]面向对象 | 按相反的顺序输出列表的值 题目: 解答: 运行结果: 题目: 按相反的顺序输出列表的值 解答: """ 按相反的顺序输出列表的值 &q ...

  8. R入门-图表

    画直方图:hist(x$x1)  //参数为向量,x为表图 画散点图:plot(x1,x2) // plot(x$x1,x$x2) // 列联表分析: 列联函数table() // table(x$x ...

  9. 推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求

    推荐一个比较好用的流媒体服务开源代码: ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求 https://gitee.com/xiahcu/Z ...

  10. 010_go语言中的maps映射(字典)

    代码演示 package main import "fmt" func main() { m := make(map[string]int) m["k1"] = ...