V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PixelMage  ›  全部回复第 1 页 / 共 1 页
回复总数  20
2021-01-25 14:36:08 +08:00
回复了 graetdk 创建的主题 分享创造 创业实录: 2020 年的每周记录
前来给大佬顶贴
2020-01-16 18:48:09 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@index90
我个人的粗浅理解是,一些核心基础中间件之类的,单测,E2E 我觉得都不能少。
但是如果是一个业务系统的话,这可能就回到我提出的这个问题了~

其实我个人的小心思是:既然业务 e2e 测已经 work 了,异常流也 cover 到了,单测带来的代码健壮提升 i don't care,毕竟后面还有 IDE,语言框架,lint, 代码风格检查,开发规约拉着我。

这样可以提高业务的落地速度,但是要是说后续的可维护可扩展性的,写单测应该是会有提高的,但是提高多大,就不太好说了,估计每个业务系统可能都不一样。

还是特别感谢你的回复,我收获了不少东西~~对单测的看法也没有那么片面了
2020-01-16 17:43:39 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@index90

对于“业务系统是否应该写测试”,我觉得我们都是一致的,不写测试带来的都是短期的时间收益,和长期的整体研发效能损失。所以对于“为了开发速度牺牲质量——不写测试”,我也是觉得不可取的。

但是我更想知道的是“ [业务] 系统里只写 E2E 不写单元来达到时间和收益的最佳 tradeoff”是不是合适的?
我举一个量化的例子
我假设写 E2E 测试能 COVER 90%的业务 BUG,需要花费 1 个单位的时间
如果我再补上单元测试,能再补上 9.9%的业务 BUG,但是需要额外花费 1 个单元的时间

那么此时我认为,只写 E2E,不写单元是比较划算的。
这里有两个问题
1. E2E 测试能不能 COVER 90%的业务问题?
2. E2E 测试环境的搭建是否真的比单元测试简单?

其中
1.我觉得对于中小系统都是适用的,写完正常流和异常流的 E2E,我认为能够覆盖 80 90 的问题。
2. E2E 的测试环境,如今在各种中大型开发团队,比如阿里,都是日常、预发、线上,三套或以上环境 ,天然就有公司准备好的环境,不需要你再去搭建什么,所有的系统都遵守了这个规则,所以在中大型团队,我认为这个没什么成本。在小型团队,那可能写不写测试都是问题了。

综合来说,我想说的观点,一句话就是
“在大部分非核心中小型系统里,只写 E2E 测试是权衡了效率和质量的好选择”
2020-01-16 14:24:27 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@index90 感谢你的回答,真的,我困扰了很久。

确实如果你所说,我并没有考虑到下游没响应,数据库失败的情况,我只覆盖了业务的正常流和异常流。但我很好奇如何在单测里覆盖这些东西?不知道有没有 repo 可以参考一下(我是真的想学习一下,没有别的意思)

“业务逻辑覆盖是否有可量化指标,如何证明你覆盖了“所有”的业务逻辑呢” ——也只能尽量,毕竟总有黑天鹅,尽量的意思就是 1. 梳理出所有可能的业务异常情况并测试到 2. 测试覆盖率

“系统稳定并不只有业务逻辑,还有其他异常情况考虑”, “单元测试只是一种软件质量保证的手段,而且经过多年的考验
....你可以选择你的方法”——
没错你说得对,但是在日常的业务系统开发中,而不是伟大软件开发中,经常会出现为了开发速度牺牲质量的 tradeoff,我其实很倾向于“只写 e2e 是一种比较划算的 tradeoff”。另:我问一个我在阿里写 java 的同事这个问题,他说:哪有时间写什么测试,直接丢给测试同学。所以我觉得这种现象是常见的。理想情况下,当然是都写最好,但是现实世界往往不尽如人意。

再一次感谢你的回答~真的很认真,感谢。
2020-01-16 12:26:38 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@index90 想请教一下
在 e2e 测试覆盖了所有业务逻辑的情况下,
出于对业务系统稳定性的考虑,而不是代码逻辑优化的考虑下,
是否还有必要再写单测?
2020-01-16 11:16:57 +08:00
回复了 lijy91 创建的主题 分享创造 写了一个自认为超高颜值的划词翻译扩展
请教一下盈利或者收费计划是怎么样的?
2020-01-16 09:24:44 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@index90 学习了,感谢回复。可能是我现在的系统比较简单的缘故,我直接写 E2E 更快~
2020-01-16 09:23:15 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@kwrush 可能是我写的系统的比较简单,最多也就十来张表,CRUD,所以都是直接写 E2E 不写单测,最近产生了这个疑惑——“为什么还要写单测”
2020-01-16 09:22:13 +08:00
回复了 PixelMage 创建的主题 程序员 [讨论] 在业务系统中写了 e2e 测试,还需要写单元测试吗?
@lihongjie0209 其实我想表达的意思是,如果所有的业务情况,以及业务能考虑到的异常情况都通过了测试。为什么还需要考虑代码的单测?毕竟 it works?
这只是我片面的想法哈,因为我觉得既然 e2e 都写好了,业务都 OK 了,我又何必在乎具体的代码。
还请多指教~
2020-01-13 12:17:31 +08:00
回复了 graetdk 创建的主题 分享创造 无注册登录的工具型产品的低成本付费化改造
优秀的楼主,关注你有一阵子。
本文是一篇
1. 不错的技术和产品逻辑分享
2. 两个产品:“纽扣词云” “面包多” 的软性推广

我觉得 2 才是让我更加学习到的东西,感谢👍
2020-01-13 10:47:21 +08:00
回复了 SaintSeiya 创建的主题 Node.js 现在 node 做后端一般用什么框架
必须 nest,你对比一下 egg nest 等框架的星数就知道了。
21. 9374FM67YFJE 已用,感谢楼主
大佬,来 indiehackers.net ,交流交流经验呗~
2019-12-27 10:02:07 +08:00
回复了 BeiTianSoftware 创建的主题 创造者 创业 4 年的苦与甜
加油,期待你的产品
老哥写得不错
2019-12-23 10:09:50 +08:00
回复了 deepmindlab 创建的主题 程序员 转眼马上就 30 了,想换一种穿衣风格,各位猿给点建议呗
你知不知道那种...就是那种....只有 0 次和无数次的穿衣风格
2019-12-19 19:27:47 +08:00
回复了 lllllin 创建的主题 iDev 录制视频结束,自动生成字幕,目前 APP 有这样的技术吗?
autosub 了解一下 gayhub 开源
2019-12-19 12:48:17 +08:00
回复了 gaigechunfeng 创建的主题 生活 各位 coder 大家每个月坚持记账吗,对自己有帮助吗
手动记账,可以体验先花后心疼的感觉
2019-12-19 12:47:09 +08:00
回复了 Techxiu 创建的主题 程序员 阿里云关于网站主页下方标明备案编号的通知
反正我已经加了,也就一行代码的事
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3503 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 11:06 · PVG 19:06 · LAX 04:06 · JFK 07:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.