BugPhobia准备篇章:Scrum Meeting工作分析篇
特别说明:此博客不计入正式开发过程的Scrum Meeting篇章,只是工作的基础分析
前端
王鹿鸣、钱林琛撰写初稿
能否前端完成一个页面后就能在本地跑起来进行测试?
能否在前端和后端完成对接后单页面式的进行测试
充分利用JS的能力,将页面尽可能动态化
- 主页面
- 头部菜单栏:移植到ReactJS,将登录和注册功能直接整合到菜单栏是最好的。
- 标签云及搜索栏移植:将标签云和搜索框整合到ReactJS中。
- 优化标签栏:移植并保证标签栏也能够点击,如果能在标签栏部分增加个性化推荐最好(后半部分不要求)
- 优化推荐栏:移植并保证推荐栏正常实现,用户能够通过Approve和Change按钮进行更换和确定
- 用户页面
- 移植Activity页面作为用户页面的主要页面。
- 重新整合Profile页面和Activity页面:将Activity页面设为主页面,调整用户关注的问题及推荐的问题到显著位置。
- Profile页面:将此前优化后的用户实体信息铺展在此页中,注意要关联用户的活跃状态(问答数、关注标签数等)
- Profile页面:优化用户的个性化推荐,保证推荐给用户的Tags能够较为显著展示出来
- Profile页面:重新布局Course和Question的推荐,尽可能简略反馈给用户
- Activity页面:将用户的全部活动状况以“消息”的方式反映在用户活动栏(类似空间、朋友圈那种模式即可)
- Activity页面:将用户关注的问题、回答、@、标签展示出来,注意增加(分页设计即不要一大堆内容直接push开来)
- Settings页面:同Profile页面的用户实体,
- Settings页面:增加【用户贡献】页面,贡献包括数据贡献(爬取数据,可选实现),资源贡献,回答数。
- 【用户贡献】页面:允许上传资源。
- 搜索结果展示页:
- 不再链接到原URL,尝试将问答对直接展示在我们的页面中。
- 无法搜索到结果时一定要返回一个未搜到相关内容的页面,而非“空”
- 对Like、Ask、Upload等功能按钮进行完善
- 搜索结果分页处理,而非大量内容直接直接铺陈开来(用户能够规定每页的显示数目)
- 对用户上传资源的文件名等进行搜索。
- 课程页面
- 课程页面进度暂且搁置,根据数据组的行动进行进一步的设计
- 问答页面
- 划分问答页面基本层次:提问页面和结果页面是否分离(不分离:QQ空间的做法;分离:stackoverflow的做法)
- 实现问答对的展示
- 实现回答问题
- 提问页面,允许用户提出问题。
- Robot页面
- 扩充知识库
- 给出基本的操作方法(示意图给出即可,类似功能规格说明书的模式)
- FeedBack页面
- 转移,放到显眼的部分,而非找半天找不到此页面
- 允许给评论添加标签(此标签由开发者规定:吐槽,评论,BUG反馈等类似标签)
后端
冯志睿、王文基撰写初稿
总体说明
对于后端的任务,我们可以从以下的几个角度来看:
角度1:模块角度
- 用户管理模块
- 基本信息
- 活动记录信息
- 记录收藏的标签、问题和课程等
- 针对用户记录的推荐
- 社交拓展信息
- 文件信息
- 搜索管理模块
- 问答管理模块
- 课程管理模块
- 扩展模块
角度2:前端和接口角度
针对前端任务列表和接口说明来看任务需求。
这两个角度前者可以说是从功能角度来看的,后者是从团队配合的依赖和需求角度出发的。这两个方面在决定任务的划分、分配和时间节点安排时都非常关键,下面将对任务进行细分,给出相关的难度系数(一个 “!” 大约3~6个小时),同时给出相应的理由,供PM参考决定时间节点的安排。
任务详细剖析
- Beta后端结构重设(!)
- 根据功能模块设计后端结构
- 将已有的各个子应用调整到新结构中的相应位置上面
- 给待开发的模块建立子应用
该任务的优先级是最高的,建议尽快安排该任务。因为后期的重构面积比较大,同时根据Alpha阶段的源码路径来看存在较大的“泥球”,所以重构很迫切。同时虽然该任务的技术细节基本没有,实际操作起来不存在bug问题,但是需要明确功能模块设计结构,从而明确各个后端开发者的负责区域,会让人有“选择困难症”的表现,还是建议讨论一下~
- 用户管理
- 后端对新架构的适应(!)
- 在后端给注册登录等补上验证(Alpha只做了前端验证,后端验证没有做全)
- 根据接口文档上面的接口要求将数据准备好
- 统一一下相关的代码(Alpha的有点乱)
- “Read Later”功能,就相当于收藏、喜欢、关注,同时做一个推荐(!!)
- 针对接口需求封装Json数据,并实现接口
- 需要对标签、对问答、对课程都设置相关操作
- 由于我们的系统用户基础数据不多,所以相当于“冷启动”,所以我们的数据分析不是建立在用户上,而是建立在内容上的相关性
- 根据用户的收藏和喜好,将相应的推荐内容找出来
- 社交网络第三方内容(!)
- Oauth第三方登录
- 一键分享推广(之间通过JS就可以完成,可推到QQ空间、微博、朋友圈、Facebook、Twitter、Linkin等等)
- 简化的百度文库形式(!!)
- 上传
- 对上传内容进行分类管理
- 后端对新架构的适应(!)
- 搜索管理
- 实现搜索结果信息的反馈(!)
- 将结果封装成接口对接数据
- 做好分类,因为问答数据、课程数据(站内和站外数据也会产生区别)等等都是来自不同的地方用不同的结构存储的,最好分别实现操作。
- 实现搜索结果信息的反馈(!)
- 问答管理
- 问答数据展示(!)
- 涉及0x0500-0x0510接口的功能实现
- 由于这些问题都是读取数据库的操作,所以直接放到一起完成
- 相关的数据库安排也在此任务项之下
- 操作数据处理(!!)
- 从0x0514(提问)后面的操作都需要对数据库进行插入和修改操作,所以作为一组。
- 需要有记录用户行为的数据库,需要与用户管理方面关联
- 需要有celery的学习安排
- 问答数据展示(!)
- 课程管理
- 接口数据的封装(!)
- 用户对于课程的操作(!)
- 扩展
- robot(!)
- 其实聊天返回的类型有很多种,Alpha只是将内容展示出来了,其实还有很多相关链接,这次都要展示出来。
- 根据功能方案完成数据库的类型需求分析
- robot(!)
大致的任务情况就是这样,具体时间安排其实还得看看每天有多少时间能够抽出来,以及编码效率问题
测试
李云涛撰写初稿
Beta阶段测试工作分类
Beta阶段在延续Alpha阶段测试计划的基础上稍有改进,主要测试任务分类如下:
从测试类型上,Beta阶段测试工作主要分为以下三种:
脚本型功能测试
用于持续测试各模块功能是否正确执行。主要方式是,使用脚本模拟用户正常使用时发出的各种请求,发送给网站,匹配返回结果于期望结果是否基本一致。由于功能尚处于添加阶段,因此脚本也将不断进行扩充。手工测试
人为测试功能实现是否正确,针对部分敏感功能进行白盒测试或灰盒测试。测试前端在不同平台上的显示是否正常以及对人的动作响应是否正常。脚本型安全性测试及性能测试
用于持续测试网络的健壮性和鲁棒性。对于安全测试中的sql注入,每天会使用sqlmap对所有注入点进行尝试注入,如有注入成功的情况则反馈bug。对于性能测试,使用load runner模拟用户的持续并行访问。本阶段测试暂时忽略跨站攻击的测试,但是在代码复审中会着重审核阻止跨站攻击的代码是否正确。Bug反馈机制
对于测出的Bug,执行如下反馈机制以保证修复的及时:
- 在测试出现Bug后,使用issue的方式将Bug反馈至github和team@osc
- 将Bug指派给响应组的开发人员进行修复
- 修复完成后创建新的任务重新测试,若测试不通过则继续反馈issue
BugPhobia准备篇章:Scrum Meeting工作分析篇的更多相关文章
- BugPhobia回顾篇章:团队Beta 阶段工作分析
0x00:序言 1 universe, 9 planets, 204 countries,809 islands, 7 seas, and i had the privilege to meet yo ...
- BugPhobia休息篇章:Beta阶段第IX次Scrum Meeting前奏
特别说明:此次Scrum Meeting不计入正式的Scrum Meeting,因此此次工作仅为第IX次Scrum Meeting的前奏,而笔者也首次采用休息篇章作为子命题 0x01 :Scrum ...
- BugPhobia开发篇章:Beta阶段第VII次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第七次Scrum Meeting 敏捷开发起始时间 2015/12/19 00:00 A.M. 敏捷开发终止时间 2015/12/21 23 ...
- BugPhobia开发篇章:Beta阶段第X次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第十次Scrum Meeting 敏捷开发起始时间 2015/12/29 00:00 A.M. 敏捷开发终止时间 2016/01/01 23 ...
- BugPhobia开发终结篇章:Beta阶段第XI次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第十一次Scrum Meeting 敏捷开发起始时间 2015/01/06 00:00 A.M. 敏捷开发终止时间 2016/01/10 0 ...
- BugPhobia开发篇章:Beta阶段第IX次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第九次Scrum Meeting 敏捷开发起始时间 2015/12/25 00:00 A.M. 敏捷开发终止时间 2015/12/28 23 ...
- BugPhobia开发篇章:Beta阶段第VIII次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第八次Scrum Meeting 敏捷开发起始时间 2015/12/22 00:00 A.M. 敏捷开发终止时间 2015/12/22 23 ...
- BugPhobia开发篇章:Beta阶段第VI次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第六次Scrum Meeting 敏捷开发起始时间 2015/12/18 00:00 A.M. 敏捷开发终止时间 2015/12/18 23 ...
- BugPhobia开发篇章:Beta阶段第V次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第五次Scrum Meeting 敏捷开发起始时间 2015/12/17 00:00 A.M. 敏捷开发终止时间 2015/12/17 23 ...
随机推荐
- 基于Map的简易记忆化缓存
背景 在应用程序中,时常会碰到需要维护一个map,从中读取一些数据避免重复计算,如果还没有值则计算一下塞到map里的的小需求(没错,其实就是简易的缓存或者说实现记忆化).在公司项目里看到过有些代码中写 ...
- 【2018暑假集训模拟一】Day2题解
T1 园艺工人的求助 [题目描述]终于,在一段繁忙的训练之后,到了NOIP 的举办的时候.同学们坐上了大巴车,享受着沿途的风光,讨论着未解决的问题,憧憬着NOIP 赛场上切题的样子.很快,大巴车到了大 ...
- 🈲Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】
一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...
- Python2.7-ConfigParser
ConfigParser模块,用于读写配置文件,配置文件是由各个 section 组成的,每个部分都有一个 [section] 头指示,后面紧跟这部分里的配置信息,一般为 name: value 或 ...
- P2216 [HAOI2007]理想的正方形
题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输入格式: 第一行为3个整数,分别表示a,b,n的值 第二行至 ...
- Jupyter Notebook中让python2和python3内核共存
自己计算机里面共存了Python2和Python3,ipython作为试探性的REPL解释器使用的频率还是挺高的,分别在2和3下安装完ipython notebook后怎么分别使用这两种内核呢 按照默 ...
- SAP函数 LAST_DAY_OF_MONTHS 获取月末最后一天日期
DATA LAST_DATE TYPE SY-DATUM. CALL FUNCTION 'LAST_DAY_OF_MONTHS' EXPORTING day_in = sy-datum IMPORTI ...
- 03-Python执行方式和Pycharm设置
https://www.python.org/ 单词列表 * error 错误 * name 名字 * defined 已经定义 * syntax 语法 * invalid 无效 * Indentat ...
- 大数据入门第二十二天——spark(三)自定义分区、排序与查找
一.自定义分区 1.概述 默认的是Hash的分区策略,这点和Hadoop是类似的,具体的分区介绍,参见:https://blog.csdn.net/high2011/article/details/6 ...
- 2017-2018 Exp8 Web基础 20155214
目录 Exp8 Web基础 实验内容 建站过程 SQL注入 知识点 Exp8 Web基础 实验内容 实验环境 主机 Kali 靶机 Kali 实验工具 后台语言 'PHP' 服务器 'Apache' ...