首页 > 技术文章 > Beta阶段项目展示

NewTeam 原文

Beta阶段项目展示

NewTeam 2017/12/25


团队介绍 返回目录

岗位 人员 介绍 博客 照片
开发人员 安万贺
  • 计算机系
  • 对算法比较感兴趣,但编码能力和算法能力不是很强
  • 希望通过这门课能够学到如何做一个真实的软件和如何应用自己学到的知识
  • 虽然现在是一条咸鱼 -->冏。但是,但是,,,希望将来不是一条老咸鱼。
Stones_A
王梓嘉
  • 一个死宅
  • 编码能力不强,会的也不多,希望不拖团队后腿吧
  • 虽然选这门课是一时兴起,但我还是会努力的...
  • 属于那种什么都不会但做事比较认真的类型吧
InuyashaSAMA
李奕君
  • 计算机系
  • 端茶送水,紧抱大腿
  • 啥也不会,现学现卖
  • 好好学习,天天向上
菜鸟少侠
窦鑫泽
  • 计算机系
  • 烫组转会,争取尽快跟上团队的进度
  • 在之前的小组干的是前端工作,负责一些界面组件的布置
  • 希望学习更多的技术
AlenDou
测试人员 李欣泽
  • 计算机系
  • 对测试比较感兴趣,平时也爱测一些奇怪的数据
  • 反应较慢QAQ,编码能力弱。。。
  • 希望自己可以做好测试,避免经历车祸现场才是坠吼的
LuoboLiam
项目经理 索一奇
  • 计算机专业,大三
  • 习惯做计划,擅长写文档,编码风格比较规范,编码能力不是很强
  • 可以背锅,不会怼人
  • Live like there is no tomorrow.
Eris_Charon

项目内容 返回目录

目标和预期

目标

  • 实现用户数量的目标。
  • 在多个平台发布
  • 完成稳定运行、界面优雅的客户端
  • 充分测试,避免发布后出现bug影响用户使用
  • 及时更新开发文档
  • 合理安排时间,避免和其他科目产生严重冲突

更新

  • 修复bug
    • “我的班级”无法加载
    • “所有作业”导致app崩溃
  • 功能优化
    • 登录:使用app登陆页面
    • 评论:
      • 回复评论自动添加@ username
      • 能够换行
      • 评论和回复按照上下文显示
    • 作业详情:使用app页面
      • 查看作业标题、内容、发布者、开始时间、截止时间、剩余时间
      • 提交作业、修改作业
      • 显示已提交成员(显示成员名称、作业名称、提交时间)
      • 显示未提交成员
  • 界面优化:按照一定的标准、框架形成统一的风格
  • 本地存储:在本地进行缓存,浏览过的页面无需再次进行网络请求。
          在重新进入app、刷新页面、页面没有缓存且网络链接良好的情况下进行网络请求,其他情况下,从本地缓存中获取。
  • 日程提醒功能:提醒用户作业截止的相关信息
          单独占用一个页面,以日历的形式表现,有作业截止的日期显示成不同的颜色,点击可以在下方显示详情,包括到该作业页面跳转的链接。

项目发布

软件的发布方式以及发布地址

博客园-班级博客移动客户端目前发布于酷安网移动应用平台,下载地址如下:

博客园-班级博客移动客户端(android)

功能

本地存储
  • 实现了本地的缓存,离线状态可查看除图片以外的已浏览过的内容
个人博客
  • 长按评论添加回复,自动添加@ username

  • 在评论中输入@,弹出该博文中已评论用户的用户名,长按或双击可添加用户名
班级博客-作业
  • 使用react native组件显示作业详情
  • 显示已提交列表
日程提醒
  • 在日程提醒页面的日历中标记处有作业截止的日期
  • 点击该日期可显示当日截止的作业,并跳转到的作业页面

项目发布说明文档

用户反馈

用户数量

用户的建议和反馈

用户反馈的bug


项目管理 返回目录

项目分工

分工协作

      团队里有4位开发人员,1位测试人员,1个项目经理。

      开发人员负责完善Alpha阶段的功能,添加新的功能,完善界面。

      测试人员负责完成客户端的兼容性测试、单元测试,各个功能的集成测试,前后端功能的测试。

      项目经理负责完成文档,辅助完成相应功能和测试工作。


平衡

Beta阶段面临的情况
  • 面临其他课程的压力,各任务之间需要留一段时间做缓冲
  • 大家对开发工作相对比较熟悉,开发所需的学习时间较少
Beta阶段的开发工作
  • 修复Alpha阶段的缺陷
  • 完善Alpha阶段的功能
  • 添加新的功能
  • 完善界面

工程质量 返回目录

测试

测试矩阵

测试矩阵后端功能测试前端功能测试
测试机型测试环境(机型,版本,分辨率)登录功能查看博客添加评论查看班级查看作业添加成员发布作业退出登录网络断开点击事件页面布局加载速度图片问题页面切换
三星C76.0.0正常正常正常正常正常正常正常正常正常正常较好一般正常显示链接图片显示较大正常
华为P97.0.0正常正常正常正常正常正常正常正常正常正常较好较好正常显示链接图片显示较大正常
三星S86.1.0正常正常正常正常正常正常正常正常正常正常一般一般正常显示链接图片显示较大正常
Custom Phone6.06.0.1正常正常正常正常正常正常正常正常正常正常较好一般正常显示链接图片显示较大正常
oogle Nexus5.1.0正常正常正常正常正常正常正常正常正常正常较好一般正常显示链接图片显示较大正常

单元测试

测试用例


覆盖率

完善后的覆盖率

兼容性

      即要在大多数的主流手机上可以安装运行,针对这一点我们进行了测试,将apk文件交到腾讯的WeTest平台,对主流的50款手机进行了兼容性测试。在腾讯的适配标准下,50款手机的适配通过率达到了100%。

      这是兼容性报告截图:

其中一个机型的性能分析:

      兼容性测试50台设备分布:

所以,我们认为app的兼容性达到出口条件。

稳定性
<h5集成测试

      就是对软件的特定功能进行测试,比如学生能否添加班级成员,能否发布作业,是否可以进行评论等。这部分我们采用appium+python脚本的策略进行自动化测试,测试代码在github中的__test__/testcode文件夹中。


代码规范

项目初期制定了简要的代码规范,在github的dev-dov分支中

Google Code Style Guidance


  • 构造函数:避免构造函数中虚方法的调用,并避免不能发出错误信号的初始化失败。
  • 隐型转换:不要定义隐型转换,对转换运算符和单参数构造函数使用explicit关键字。
  • ……

函数

  • 参数顺序:输入、输出
  • 写短函数:写短而集中的函数
  • 引用变量:所用通过引用传递的参数必须有const标签
  • ……

命名

  • 通用命名规则:名称应该是描述性的,避免缩写
  • 文件名:小写,包括下划线(_)或连字符(-),跟随项目传统的使用方式,如果没有一致的模式,使用下划线(_)
  • ……

格式

  • 行长度:每行最多80个字符(如果与旧代码有冲突,一致性更为重要)
  • 非ASCII字符:必须使用UTF-8编码格式
  • 空格vs制表符:只使用空格,每次两格
  • ……

文档

github上的dev-doc分支,用来存放所有文档

EduCnblogs-dev-doc

从零开始运行项目

需要进行环境配置,可以参考环境配置说明文档


实际进展 返回目录

进度


团队成员贡献 返回目录

基本任务分配和贡献

开发人员测试人员项目经理
安万贺王梓嘉李奕君窦鑫泽李欣泽索一奇
实现了博文列表的本地存储功能 完成了作业详情页面的组件化显示 完成了日程提醒的基本页面 环境配置、基础内容学习 作业详情相关功能的测试 Beta阶段项目计划
实现了博文详情的本地存储功能 完成了作业的提交功能 完成了消息页面的显示 熟悉代码 日程提醒功能的测试 修复Alpha阶段遗留的bug
实现了作业列表的本地存储功能 完成了作业未提交人员列表的显示 用户个人信息页面和数据的获取和内容的显示 班级成员个人信息内容显示功能的测试 测试读取本地存储的功能 Scrum Meeting1-10
实现了作业详情的本地存储功能 实现了特定用户回复功能 实现了日程提醒的显示 获取所有班级未完成作业 实现部分数据处理与界面显示的分离 实现了@某用户的功能
实现了app的离线启动 完成回复评论功能 完成作业发布、添加成员页面的优化 完成了下方图标的优化 进行页面的快照测试 完成评论、回复页面的优化
完成了班级成员页面的优化 完成了评论输入页面的优化 字体优化 单元测试 项目发布说明
535149484752

推荐阅读