业务变化快,有必要写单测吗?

开发 前端
写单测不仅仅能降低你的 bug 数量,它还能让你考虑逻辑更加全面,让你写代码的时候对各个异常、特殊分支都考虑到位。这其实是一种习惯,它会持续地让你迭代优化自己的代码质量,从而让你不断提升。

在前面一篇文章(单测无用论,这是真的吗?)中,我提到判断单测是否适用的几个维度,其中有一个就是业务变化情况。理论上来说,业务变化快,改单测成本高,维护成本也高。按理说,如果不是对功能质量有很高的要求,感觉是可以不写单测的。

但事实真的是这样吗?针对这个问题,我与单测群的小伙伴们进行了讨论,大家都非常积极地发表了看法。从投票结果来看,有 50% 的人觉得没必要,有 50% 的人觉得有必要。

图片

笔者一开始是觉得可以不写的。毕竟如果一个业务经常变化,那么你就要不断地去调整单测的内容,这样势必会增加研发成本,最后造成研发交付周期变长。从群里小伙伴的投票来看,应该有不少小伙伴跟我持同样的看法。

但是当我深入去思考这个问题时,我却得出了完全不同的结论 —— 即使业务变化快,也需要坚持写单测!

站在整个软件产品来说,两个非常重要的维度是:交付速度和交付质量。就如我上面所说:我们不写单测的原因,是因为单测会拉长交付周期,使得交付速度变慢。但如果交付速度提高了,可是交付质量下降了,可以接受吗?

我想,对于有些规模的公司来说,交付质量一定比交付速度更重要。而对于一些小微或者创新业务来说,可能交付质量可以没那么重要,但是也不能太过于拉垮。因此,是否写单测这个问题,本质上是交付速度和交付质量哪个更重要的问题。

但我们要知道 —— 上面的分析其实是站在整个产品(老板)的角度去思考问题的。如果我们站在编程者的角度看,你现在不写单测,很可能只是把现在写单测的时间挪到后面修 bug 而已。

除非你的代码质量真的很高,高到及时不写单测一个 bug 都没有,那确实没必要写单测了。不然就如群友所说 —— 「前面埋下的雷,总会炸到修 Bug 的人」、「流程越往后,排查和修复 bug 的成本会急剧增加!」。

图片

除此之外,写单测不仅仅能降低你的 bug 数量,它还能让你考虑逻辑更加全面,让你写代码的时候对各个异常、特殊分支都考虑到位。这其实是一种习惯,它会持续地让你迭代优化自己的代码质量,从而让你不断提升。

从觉得单测没啥用,到觉得单测还有点用,再到业务变化不大可以写写单测,最后到即使业务变化快也要写单测,深感单测写得越多,越能感觉到单测的好处。​

责任编辑:武晓燕 来源: 树哥聊编程
相关推荐

2022-12-23 19:22:47

前端单测

2023-03-08 22:37:59

单测业务系统

2022-04-10 11:52:43

前端单测程序

2019-07-23 10:20:23

前端Node.js中间层

2022-03-29 09:03:22

测试组件Propsrender

2022-08-30 07:05:26

TypeScriptNode.jsDeno

2022-07-28 14:46:01

人工智能机器人计算机科学

2023-07-06 07:13:27

国产显卡摩尔线程

2019-10-11 14:43:55

Windows电脑硬盘分区

2019-01-31 01:24:10

华为

2019-06-06 15:48:21

笔记本无线网卡

2021-11-17 08:24:47

Vue3 插件Vue应用

2014-12-02 09:58:00

2021-10-20 22:44:03

Windows电脑系统

2022-10-20 09:26:24

MySQLOracleSqlServer

2023-04-11 08:02:26

单测技术JUnit框架

2013-10-16 16:38:39

链表矩阵

2020-09-03 15:30:19

代码开发程序员

2020-06-11 17:43:02

显卡更新驱动程序

2018-10-19 10:09:47

ECC内存云服务
点赞
收藏

51CTO技术栈公众号