大作业项目中承担的角色
- 第一次团队作业项目前期研究
第一个是“中大人IT生活攻略”,描述目前应用情况;另一个是“中大人的移动生活攻略”,描述Program实现后的美好生活。 - 第二次团队作业调查与研究“云或移动项目管理服务软件”
竞品分析,调查Worktile敏捷开发管理软件,并给出敏捷开发管理软件应具有的功能需求。 - 第三次团队作业完成项目启动
编写项目章程 - 第四次团队作业完成一次迭代
服务端用户系统开发 - 第五次团队作业软件开发质量保证工作
使用github actions构建CI/CD流水线:- 单元测试
- 上传包含代码覆盖率的测试报告至Codecov
- 编译打包
- 制作docker镜像push到镜像仓库
- 登录服务器pull镜像部署
软件质量管理方法与经验
软件测试W模型
从需求分析开始介入测试,越早发现缺陷,修复成本越低
软件质量管理是对成本与软件质量的平衡。一方面,测试活动或技术评审活动,使得企业不堪重负;另一方面,实践证明,技术评审(需求、设计、代码评审)可预防 (消除)软件绝大多数缺陷;审计活动可提升测试、项目管理质量。
在需求阶段,彻底分析需求的充分性,生成基础测试用例。确定哪些需求是可测试的,舍去含糊的、不可测试的需求,建立产品的需求并确认。
在概要设计阶段,阐述测试方法和测试评估准则,编写测试计划,成立 测试小组,安排具有里程碑的测试日程。
在详细设计阶段,开发/获取支持工具,生成功能测试数据和测试用例。检查设计中遗漏的情况、错误的逻辑、不匹配的模块
接口、不合理的数据结构、错误的 I/O 假定、不够充分 的用户界面等等。
在编码阶段,首要测试是编码与设计的一致性,这一阶段有静态分析和动态测试技术等
编写单元测试
单元测试常见的问题:
- 数据依赖
- 忽略了异常分支,无法覆盖所有的分支
数据依赖
两种方法
- 使用mock
- 初始化时插入数据,事务自动rollback
异常分支
编写测试代码的时候,注入异常,断言其异常期望值,因为当覆盖正确的测试逻辑之后,异常逻辑往往会被忽略。
覆盖异常分支的好处:
- 测试异常机制正常运行
- 暴露存在的界场景,补充完善代码逻辑