Gamma展示

团队成员简介

团队成员角色个人博客地址
刘峻辰后端开发刘峻辰
焦云鹏后端开发焦云鹏
赵智源测试&服务器部署赵智源
肖萌威前端开发肖萌威
杨亦鑫前端开发杨亦鑫
戴荣UI设计戴荣
罗奥升PM罗奥升

发布地址

公客

项目管理

Github Wiki

Wiki
Github Wiki的内容包括项目简介,部署文档,方法接口等信息,通过本Wiki,可以了解此项目的功能,特点,以及部署方式等,保证使用者可以快速解决问题。

技术博客

编写技术博客说明项目中的一些难点与解决办法,便于新开发者在改进项目时快速上手。

  1. 数据库的评测与选择
  2. 较科学的排名算法介绍与实现
  3. 基于动态继承类、WebDriver的浏览器兼容性测试框架搭建
  4. 使用CDN加快网站访问速度
  5. 几种网站压力测试工具调研与使用
  6. 简单好用的星级评价和图片裁剪插件
  7. 采用Bootstrap框架进行排版布局
  8. JSCover+selenium获得js代码覆盖率

进度管理

燃烬图

我们使用了highcharts来绘制燃烬图,PM随时可以把控任务总量和任务的完成进度。

Issues

使用GitHub的issues功能来发布任务,控制任务进度和讨论在实际开发和测试中遇到的问题。
同时该功能也用作测试的BUG管理。
1632489-20190617171239466-1861685343.png

UI与前端的协同

1632489-20190617171756506-27563114.png
在Beta阶段我们转入了一位新的成员,负责UI设计。因此我们采取了互联网公司的模式,UI设计与前端开发互相协同,针对新页面,UI设计先出一份初稿,前端开发再依据初稿来制作新的页面,并且互相配合调整。针对已经有的页面,进行适当的调整,解决不合理的设计。双方积极沟通,解决出现的新矛盾和问题。

以下是UI设计的同学通过画图软件绘制出来的网页:
1632489-20190617172028361-1295466048.png

技术手段

访问优化加速

我们在Beta阶段的技术博客介绍了几种方式优化网站访问效果,包括使用CDN,图床,优化渲染逻辑,增加缓存等。在gamma阶段,我们并没有增加新的优化措施,仅仅对于缓存等做了微调,例如调整缓存时间。因此,gamma阶段的网站加载时间与beta阶段的类似。我们在gamma阶段单独测试了网页的打开时间,压力测试则沿用了beta阶段的结果。
整体来说,我们的优化取得了较大的效果。

与alpha阶段相比

  • 网站最长页面打开时间降低了12倍
  • 所有页面2秒内加载完毕
  • 降低58%带宽需求和20%服务器资源需求

压力测试

经过测试,我们的网站在1000并发,持续10秒的情况下能正常处理90%以上的请求。我们主要使用siege进行测试,测试中包括数据库的查询,插入,静态页面访问等多种请求。虽然我们正常执行了91.1%的请求,请求的平均响应时间有较大的延长,这是一个值得改进的地方,但是有些超出了我们的能力范围。

压力测试的具体结果参见测试结果报告

经过测试,去年的网站并发量大约只有6。我们gamma阶段网站在350并发时可以完全正常处理,400并发开始有几个请求执行失败,1000并发时请求执行成功率仍然在90%以上。严格地说,我们的网站并发量比去年提升了约60倍。

此外,我们在gamma阶段初期再次遭受了一次攻击,然而本次攻击并未造成什么影响,大部分请求因为没有增加验证码匹配而认证失败,对于服务器可用性也没有造成显著影响。在每日维护查看日志时我们才注意到此次攻击,这也从一个侧面体现了我们网站具有一定的抗压能力。

质量控制

开发

遵守规范约定

后端接口文档
在编程过程中,我们事先约定了一套规范,包括命名原则,返回值规范等。在开发阶段,所有代码编写都要遵守该规范,以降低交流成本,便于测试进行。

注释规范

我们要求我们的代码必须有较完整的注释,包括以下2类:
· 针对每个方法,说明方法的效果与影响。
· 关键步骤,变量需要有注释。

功能自测

在交付测试与部署之前,我们会针对代码在测试服务器上进行简单自测,保证功能基本正常。测试链接

Code Review

在编写完代码后,我们会互相检查对方的代码,确保没有明显的bug。

测试

我们组的质量保障的手段,测试方面目前实现的有三种。一是常规的功能测试,二是兼容性测试,三是安全性检查。其中功能测试的产出是一大堆测试样例,而兼容性测试的产出是这些测试样例与各种环境的组合。而安全性检查的产出是一份安全分析报告书。
1632489-20190617174505103-679116291.png

功能测试

功能测试部分中,其实分为两类,一类是针对服务器端接口的接口测试,一类是针对页面功能的功能测试。这两类的测试样例数目总计有110个。前端js代码的覆盖率为81%,后端python代码的覆盖率为81%。
1632489-20190617180216457-513014801.png

兼容性测试

兼容性测试的测试矩阵如表。因为我们组的产品是一个网站,所以并没有考虑硬件平台的问题,那应该是由浏览器去保证的。测试矩阵包括屏幕尺寸和浏览器两部分,我们主要考虑了移动端和PC端两类设备的屏幕尺寸的差别,还有不同浏览器之间的实现差异。

屏幕尺寸浏览器
PCChrome
MobileFireFox
Edge

安全性检查

安全性检查方面,我们都不是专家,做的工作都比较粗浅。包括对常见攻击的防范,例如cc, xss等,秘钥之类的敏感信息的管理,还有对我们的接口的检查,例如有没有接口会暴露用户密码,会不会有接口能无限制地修改服务器数据等等。
1632489-20190617175259870-1432842591.png

功能展示

Beta阶段新加功能

对于评论的点赞点踩功能

1632489-20190522195808804-1241799437.png
如图所示,增加了对评论的点赞和点踩的功能,并且有相应的动画显示。

热评置顶显示功能

1632489-20190522195905355-212632661.png
对于所有评论,点赞数前三的将置顶显示。

个人信息上传头像功能

1632489-20190522195943569-2073435030.png
1632489-20190522200002178-288169846.png
可上传个人头像,并且将在评论区显示。

增加按照教师查看评论功能

1632489-20190522200101478-104735279.png
可筛选出只有某位老师的评价。

子评论功能

1632489-20190522201438159-95860936.png
可对评论进行回复。

Gamma阶段新内容

以评分的课程进行排名

1632489-20190617180517935-100948265.png
将已经评分过的课程进行排名。

重置密码功能

1632489-20190617180616464-1879275282.png
依据注册时设置的密保问题进行重置密码和找回密码。

个人信息页面

1632489-20190617181335741-2098571282.png
个人信息页面可以显示历史评论并且设置密保问题。

Gamma阶段贡献分

名字角色贡献分具体贡献
lasPM50完成了11篇博客,进行了3次推广
ljc后端开发52完成了GitHub Wiki,修改,设置密保问题和密码找回功能,增加了setting.py,views.py的大量注释
jyp后端开发51完成了Github Wiki的后端接口文档,用户课程评论和名称接口
drUI设计49完成了课程列表的移动端调整,首页进行了优化设计
xmw前端开发52完成了密码找回页面,个人信息页面的制作,完成了Wiki的前端简介文档
yyx前端开发44完成发布博客,辅助完成课程列表页面
zzy测试52总共110个测试用例,发现了8个BUG,已经全部修复,发布了1篇技术博客,更新了前覆盖率文档等3个测试文档

转载于:https://www.cnblogs.com/tbqjxjkwg/p/11040943.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值