这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834/homework/11153 |
这个作业的目标 | Alpha版本测试报告,Alpha版本发布说明 |
一、团队展示
1.1 团队名称及团队宣言
- 团队名称:诺亚方舟开发团队
- 团队宣言:让编程改变世界,拥抱前沿科技
1.2 队员信息
队员名称 | 学号 |
---|---|
黄晓楷(组长) | 3118005327 |
黄裕煜 | 3118005328 |
潘宇恒 | 3118005335 |
林瑜 | 3118005332 |
林佳锐 | 3118005330 |
艾买提·阿布都克力木 | 3118005311 |
1.3 团队特色
- 运用机器学习技术,实现网站的智能化
- 团队内分工明确、各司其职,各个模块都有相应的人负责
- 团队规定明确,有严格规范,对评分规定、代码规范、Git 分支与提交管理具有详细的规范
- 团队成员各有所长,优势互补
1.4 团队分工
职责 | 参与成员 |
---|---|
前端开发 | 艾买提·阿布都克力木、潘宇恒 |
后端开发 | 黄裕煜、林佳锐 |
智能化功能开发 | 黄晓楷 |
产品设计(PM) | 林瑜 |
测试 | 艾买提·阿布都克力木、潘宇恒、黄裕煜、林佳锐、黄晓楷、林瑜 |
文档和复审 | 林瑜、艾买提·阿布都克力木、黄晓楷 |
二、场景测试
- 你预期不同的用户会怎样使用你的软件?
我们将用户群体大概分为三类:插画师、学生、业余爱好者
插画师 | 高频发表优质作品,经常与其他作者交流 |
---|---|
学生 | 下载公开作品学习,时常与优质作者请教学习 |
业余爱好者 | 在热门标签或者作品滚动栏内寻找喜欢的作品 |
- 他们有什么需求和目标?
插画师 | 寻找一个仓库存放作品,并且能与同行交流 |
---|---|
学生 | 学习优秀作品,向前辈请教 |
业余爱好者 | 欣赏作品,打发时间 |
- 你的软件提供的功能怎么组合起来满足他们的需要?
插画师 | 用户图集可以满足存放作品的需求,在自己发表的图集或图片中可以让别人评论交流,同时还可以以各种检索方法搜索图片,评论区可以实现交流功能 |
---|---|
学生 | 提供下载方式存放到本地,并且可以对具体图片评论与作者以及其他用户交流 |
业余爱好者 | 热门标签和作品滚动栏 |
- 你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
硬件
机器 | 硬件 | 浏览器 |
---|---|---|
客户机 | 处理器: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz 内存:8.00GB 硬盘 : 500GB 网络带宽:50M | chrome浏览器 |
服务器 | 处理器:1核 内存:2GB 硬盘:40GB 网络带宽:5M |
- 你认为你们团队的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
- 完成所有的测试
- 没有重大 bug
- 通过压力测试
- 通过交叉检查,项目外开发人员测试通过
三、测试计划
3.1使用人群
项目经理、开发人员、测试人员、特定范围内的用户(在全校范围内)
3.2 测试类型
-
单元测试
用户信息管理模块、消息管理模块、评论模块、图片模块、智能化功能模块、搜索与推荐模块
-
压力测试
对数据的承载量测试
-
安全测试
对系统的安全性能进行测试
-
整体测试
把不同的模块连结后,看看联合工作情况如何
3.3 测试策略
3.3.1 单元测试
功能模块 | 测试内容 |
---|---|
登录注册 | 用户使用账号密码登录 用户注册一个账号 用户注册一个账号 |
用户信息管理 | 用户修改密码 用户修改邮箱 用户修改个人信息 |
用户评论 | 用户对图片发布/删除/查看评论 用户对图库发布/删除/查看评论 |
图片分享 | 图片 |
以图搜图 | 输入相似图片 读取网上图片的信息 |
图像识别 | 违规图像识别 |
图片搜索 | 根据关键字搜索图片 根据标签搜索图片 |
图片推荐 | 根据用户信息推荐图片 用户可以选择推荐图片的标签 |
3.3.2 压力测试
通过 http 协议发送访问请求,收集服务器响应速度,监控服务器运行状态和资源耗用情况
3.3.3 安全测试
测试人员模拟非法入侵,采用各种方法冲破防线。记录各项攻击数据,破防时间,攻击地点,攻击方式及代价。
3.3.4 整体测试
包括 Alpha 测试和 Beta 测试,分别是开发组内部人员测试以及开放给用户使用进行测试
四、测试中出现的 Bug
4.1 前端
4.1.1 在测试过程中发现的Bug
1.用户主页上的导航栏style.position:sticky 属性失效,无法在fixed和absolute之间自动切,换原因未知
2.页面中与VUE方法绑定的点击事件间接性的不能按预期工作,反应缓慢,有时点击多次才能触发,原因未知
3.用户详细信息内两个参数:生日和年龄,本应该是能互推,主要是通过生日推算年龄来展示的,但是初次设计中设计成这两个独立设置,属于应用逻辑bug
4.1.2 修复的bug
用户详细信息内两个参数:生日和年龄,本应该是能互推,主要是通过生日推算年龄来展示的,但是初次设计中设计成这两个独立设置,属于应用逻辑bug
4.1.3 不能重现的bug
页面中与VUE方法绑定的点击事件间接性的不能按预期工作的bug,调试过程看不出问题,偶然发生且频率不高,猜测可能是和VUE框架底层有关。
4.1.4 没有能力修复,将来也不打算修复的 bug
页面中与VUE方法绑定的点击事件间接性的不能按预期工作的bug,调试过程看不出问题,偶然发生且频率不高,猜测可能是和VUE框架底层有关。没有能力对框架代码进行优化。
4.1.5 延迟到下一个版本修复的 bug
用户主页上的导航栏style.position:sticky 属性失效,无法在fixed和absolute之间自动切,换原因未知
4.2 后台
4.2.1 在测试中发现的 bug
- Java 的版本问题
- 数据库管理问题
- 用户详细记录的插入问题
4.2.2 修复的 bug
用户注册后用户详情的记录插入没有写好,发现后已修复。
4.3 智能化模块
4.3.1 在测试过程中发现的Bug
- http 接口传入参数的校验的 bug
- 计算过程中由于计算失败而出现空值导致返回的数据异常的 bug
- 由于 NumPy 的空值与 Python 的空值不同,而导致将 Python 的空值赋予 NumPy 数组而出错的问题
- 由于版本问题而导致模型读取异常的 bug
- 计算速度慢的问题
- 传输速度慢的问题
4.3.2 修复的bug
- 修复了所有测试过程中的字段读取与校验
- 修复了对异常情况的异常处理,如应对计算失败而产生的空值
- 将内部计算的空值均统一为使用 NumPy 类型的空值,修复了 NumPy 的空值与 Python 的空值不同而导致的问题
- 部署调试了服务器的环境,专门用于本次项目
- 利用 GPU 计算和框架本身的并行计算能力,加快计算速度
4.3.3 不能重现的bug
- 由于同时运行两个模型,所以可能会出现计算资源不够的无法启动的问题,但这种情况极少发生,且模型一旦运行起来,资源已分配完成,将不会出现因为计算资源分配而导致的问题
4.3.4 没有能力修复,将来也不打算修复的 bug
- 关于传输速度慢的问题,经过在不同服务器上对 Django 框架进行测试后发现,原因是运行智能化模块的专用服务器 CPU 老化而导致的,这明显是硬件问题而不是代码问题,不打算修复
4.3.5 延迟到下一个版本修复的 bug
- 关于传输速度的问题
五、Alpha 版本发布说明
5.1 本版本的功能
5.1.1 用户模块
- 用户信息管理(基本信息、头像显示、修改)
- 消息管理(消息提示、接收与发送、回复)
- 收藏功能(对作品、动态以及评论的收藏)
- 个人作品管理
5.1.2 图片模块
- 图片页面展示(首页展示、某一类别图片展示)
- 热门图片推荐
- 图片搜索功能
- 以图搜图功能
- 图片个性化推荐
- 图片详细信息、标签的管理
- 图片评论、点赞
5.1.3 其他功能
- 对违规图像的处理
- 用户动态显示
- 社交功能(关注以及粉丝数)
5.2 运行环境
后台
- 语言版本:java 8.0
- 数据库类型:MySQL
- 操作系统:Ubuntu 18.04.5 1核2G
前端
运行在 nginx HTTP 服务器,用户推荐浏览器为谷歌浏览器或其他 Chrome 内核浏览器
智能化功能
- 语言版本:Python 3.6.5
- 数据库类型:MySQL
- 操作系统:Windows 10
- GPU :NVIDIA GeForce GTX 1080Ti