1 zsc8917zsc 2020-07-31 10:02:26 +08:00 这么有时间,是家里有矿嘛 |
![]() | 2 whitehack 2020-07-31 10:13:34 +08:00 一般就对大的逻辑做几个整体测试..结束..没那时间一个一个小功能的抠 |
3 preyta 2020-07-31 10:14:06 +08:00 根据项目的规模和要求确定吧 |
![]() | 4 maichael 2020-07-31 10:17:05 +08:00 做取舍呗,根据该功能的重要性来决定覆盖率的要求。 |
![]() | 5 mmrx 2020-07-31 10:22:16 +08:00 只能说理论说理论,实际论实际 |
![]() | 6 wenjy 2020-07-31 10:29:04 +08:00 公司的项目,时间充裕的话尽量覆盖(因为维护的人是你自己,不想改代码瑟瑟发抖),外包的话,有单元测试吗?? |
![]() | 7 janxin 2020-07-31 10:30:49 +08:00 不一定,但是要有最低标准 |
![]() |
9 dilu 2020-07-31 14:01:34 +08:00 via Android 顺便说一句,行覆盖率≠开发质量 |
![]() | 10 lavvrence 2020-07-31 15:31:23 +08:00 不需要。核心关注一下 if else 、switch 。 |
![]() | 11 ShutTheFu2kUP 2020-07-31 15:54:46 +08:00 我反正之后都要做到了,昨天写了个憨逼循环,往公司生产库插入了几亿条数据... |
12 TtTtTtT 2020-07-31 16:07:18 +08:00 有必要性。 但是看你们团队的取舍。 单元测试用于确认你的代码符合你的 design,所以是一份非常有价值的文档和设计。 一旦出现变更,单元测试和书面文档比,性价比非常高。 尽管如此,如果测试资源便宜的话,或者变更时效性要求非常高的场合,都可以被省略的。 |
![]() | 13 FlushHip 2020-07-31 16:10:02 +08:00 行覆盖太扯了,业务代码多打点日志不香吗,对核心的底层模块也不用行覆盖,函数覆盖就够了。 |
![]() | 14 dinjufen 2020-07-31 16:20:30 +08:00 @ShutTheFu2kUP 结果怎样? |
![]() | 15 Leigg 2020-07-31 16:23:10 +08:00 via Android @ShutTheFu2kUP 我笑了,有后续吗 |
![]() | 16 ZehaiZhang 2020-07-31 16:24:46 +08:00 @ShutTheFu2kUP 问题不大,不用走人 |
17 azcvcza 2020-07-31 16:27:26 +08:00 如果尊重开发规律的话,每个函数都加,每个流程都加,每个业务都加那肯定好,但是这样国内又不会算你的 KPI 。国内一般只注重 0->60 ; 60->100 没谁会记功 |
![]() | 18 nutting 2020-07-31 16:30:40 +08:00 怎么可能,测试的逻辑还能通吗。按方法吧 |
![]() | 19 ShutTheFu2kUP 2020-07-31 16:49:57 +08:00 @dinjufen 没咋样,昨天删了一天,今天再删一天应该就正常了。 @Leigg 后续就是疯狂删数据 @ZehaiZhang 确实,还不至于到要走人的地步... 主要是 MySql 超过亿级以后查询太慢了,处理一个要等好久,庆幸的是这张表的数据占用字节都比较少.. |
![]() | 20 Umenezumi 2020-07-31 17:29:55 +08:00 @ShutTheFu2kUP 要是进 hive 和正式数据耦合了 你就等死吧 哈哈 |
![]() | 21 msg7086 2020-07-31 18:29:02 +08:00 最重要的是行为测试。单元测试看情况,本身分得太细的函数我觉得没必要精准覆盖。上层业务逻辑带到就行了。 |
![]() | 22 Lanayaaa 2020-07-31 21:56:57 +08:00 CY |
![]() | 23 huluhulu 2020-07-31 22:14:36 +08:00 via iPhone 我司要求 line coverage > 80% branch coverage> 60% |
24 kaneg 2020-07-31 22:25:40 +08:00 via iPhone ![]() 单元测试是开发人员在自己可控范围对自己的一种保护。除了一些极端的边界情况只有在生产环境才会出现,其他大多数情况都是可以通过单元测试来确保其行为是符合预期的。 你想,自己提交的代码上线后睡个安稳觉它不香吗? |
25 nianyu 2020-07-31 22:55:37 +08:00 不需要 |
26 nznd 2020-07-31 23:01:48 +08:00 我司 想进测试系统需要 UT>40% 分支 想出测试系统,做 release 需要 UT>90% 分支 (好像不大于也没事 就是部门 boss 会被批 但是没人试过( 不过周期一般比较长 一个季度 release 一次 最长的两年多 |
![]() | 28 Perry 2020-07-31 23:19:50 +08:00 via iPhone 工具齐全的话,100% 不难 |
30 scnace 2020-08-01 11:53:21 +08:00 via Android 写单测其实可以从侧面帮开发者更好地抽象代码模块 |
![]() | 31 sariya 2020-08-01 11:56:44 +08:00 via Android 不存在的…比较独立的模块可以单测,大部分还是要集成测试,不然鸭子类要写到吐 |
![]() | 32 mreasonyang 2020-08-01 15:23:13 +08:00 via Android 这要看你们有没有 QA 团队 |
![]() | 33 changwei 2020-08-01 18:58:10 +08:00 via Android 看你的用户群体,如果是对内部做的系统,用户通常不会提交太奇怪的数据,那就没必要做,如果是对外做的系统,什么人都用,甚至可能会有黑客来攻击,那肯定得覆盖各种异常输入的逻辑。另外,通常做开发都是防御式编程吧,得假设用户提交数据都有可能是错误或者超范围超值域的情况。 |
34 fishCatcher 2020-08-02 01:11:36 +08:00 via iPhone 有些错误场景非常刁钻根本没法定义,或者说测试的时候根本想不到那里会出错,100%覆盖是不可能的 |