创业公司单元测试落地问题和解决方案

一. 为什么需要单元测试?

单元测试对软件开发好处多多,我总结为一下几点:

1. 提升软件质量

  • 提前发现问题,减少代码提测和线上bug,和集成测试互补。
  • 防止业务迭代过程的bug,比如经常出现,改A问题,出现B、C业务bug。
  • 黑盒测试做不到零bug,对应代码中隐藏逻辑,可以通过单元测试发现。

2. 提升开发效率

  • 联调、集成、回归测试过程中,问题少、易修复。虽然开发花了时间,对于测试阶段反复改bug节省时间
  • 后期二次开发的过程中,单元测试可以节省研发自测时间。

3. 促进代码优化

  • 不断完善单元测试的过程,是不断优化代码的过程
  • 写好单元测试的的工程师都有高的代码追求,提示工程师水平就是提示代码质量最有效途径。
  • 单元测试覆盖高的代码,后人才敢大胆重构

二. 创业公司软件开发维护现状

  1. 需求要求快速上线,快速抢占市场,没有时间开发维护单元测试(有时候测试时间都没有)。
  2. 创业初期,很多项目由外包参与开发,很多代码的规范性和质量差,留下历史欠账。
  3. 用户体量小的时候,对高可用和系统稳定性要求不高,重点放在功能实用性上,没有在代码质量上花时间。
  4. 小公司人手不足,一个人经常加班干几个人的活,没时间和精力设计单元测试
  5. 小公司工程师平均水平不如大厂(个人经验没有贬低的意思),对于代码质量、编程规范的追求和习惯缺乏。

三. 一套可行的技术方案

(后面的文章会对关键技术点进行分享)
我们公司主要使用java开发微服务体系,最终单元测试技术方案:

  1. Junit5(包括:mock/stub、PowerMock、mockmvc等组件)开发单元测试;
  2. 持续继承,使用jenkins提测和上线前强制执行
  3. jenkins 继承Allure 显示测试报告跟进问题

四. 落实实施需要跨越的坎

1. 推广单元测试的好处
需要团队上下一心达成一致。(我是公司内部组织了几次分享,重点讲了阿里巴巴**《java开发手册》中单元测试章节、阿里巴巴《码出高效》**单元测试章节的思想)

2. 技术储备
很多时候大家编写的单元测试不规范,没有设计合理的断言、执行速度慢。 团队内部需要有人能够熟练使用Junit5、mockito、mockmvc、stub、H2等测试框架,这些框架对初中级工程师还是很陌生的,统一培训可以提升推广速度

3. 规范流程
单元测试步骤经常被遗忘。在技术评审阶段,对单元测试用例进行评审,代码检查阶段和持续继承中强制执行单元测试。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值