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. 将ip加入到防火墙

    五分钟内访问次数最多的ip加入到防火墙 #!/bin/bash cat /etc/httpd/logs/access_log|grep `date -d '1-minute-ago' +%d/%b/% ...

  2. 深入理解Spring AOP 1.0

    本文相关代码(来自官方源码spring-test模块)请参见spring-demysify org.springframework.mylearntest包下. 统称能够实现AOP的语言为AOL,即( ...

  3. 友好城市dp

    // // Created by Arc on 2020/4/27. //对了,这篇题解的代码是小白自己写的.有啥错误还请各位大佬多多包涵. /* * 某国有一条大河(一条大河~~~~,波浪宽~~~~ ...

  4. c产生随机数(含时间种子)

    有时候我们需要程序产生一个随机数. 可以用rand() 但是其实这个随机数是伪随机数,它是一个周期很长的一个值而已. 所以我们可以加入一个随机数种子srand(),这个可以取以当前时间为基准的一个值. ...

  5. 图文并茂,带你认识 JVM 运行时数据区

    跨平台的本质 关于 JVM, Java 程序员的最熟悉的一句话就是:一处编码,到处执行,指的就是 Java 语言可以通过 JVM 实现跨平台.而跨平台到底跨越了什么这个问题相信很少有人知道,接下来就跟 ...

  6. PHP stripcslashes() 函数

    实例 删除 "World!" 前面的反斜杠: <?php高佣联盟 www.cgewang.comecho stripslashes("Hello World!&qu ...

  7. 小甲鱼零基础汇编语言学习笔记第二章之寄存器(CPU工作原理,CPU内部通讯)

    这一章主要介绍了CPU中的重要器件——寄存器,整个系列通篇是以8086CPU作为探讨对象,其它更高级的CPU都是在此基础之上进行的升级.   1.一个典型的CPU是由运算器.控制器.寄存器等器件组成, ...

  8. [USACO09NOV]硬币的游戏 博弈 dp

    LINK : coin game 这道题 超级经典去年这个时候我就看过题目了 但时至今日还不会/cy 觉得在做比赛的题目的时候少写省选的题目 多做水题多做不难也不简单的题目就好了. 由于我是真的不会博 ...

  9. SpringCloud启动异常Stopping service [Tomcat]

    问题场景: 领导让我搭建一套Jenkins实现自动化部署,项目是SpringCloud项目,配置的过程很顺利,给我提供了一台服务器做部署测试(服务器以前是做dev环境,很长时间没人用了) 我把所有项目 ...

  10. 用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名

    生活中有很多场景都需要我们签字(签名),如果是一些不重要的场景,我们的签名好坏基本无所谓了,但如果是一些比较重要的场景,如果我们的签名比较差的话,就有可能给别人留下不太好的印象了,俗话说字如其人嘛,本 ...