之所以想出这个问题是看了《程序员修炼之道》如下的话: “因为我们不可能编写出完美的软件,所以我们也不可能编写出完美的测试软件。我们需要对测试进行测试。” “ Use Saboteurs to Test Your Testing. 通过“蓄意破坏”测试你的测试。”
1 mumbler 2019-09-05 15:28:34 +08:00 via Android 就因为无法做到无限递归,所以大厂生产的软件也会有 bug |
2 T3RRY 2019-09-05 15:30:45 +08:00 hhhhh |
![]() | 3 hh4646908 2019-09-05 15:37:34 +08:00 需要治治口吃。。。。 |
![]() | 4 janwarlen 2019-09-05 15:40:21 +08:00 需要,next |
![]() | 5 DANG 2019-09-05 15:41:51 +08:00 第一个精密的仪器肯定是用相对粗糙的仪器制造的,所以我理解他这段话的意思是说:在制造相对精密仪器的时候,首先需要提高粗糙仪器的精度。这种东西还是要看时间人力成本的,够用了就行了。 |
![]() | 6 jowan 2019-09-05 15:42:10 +08:00 所以开发驱动测试 |
7 lihongjie0209   2019-09-05 15:44:06 +08:00 ![]() 这么说的话你觉得 tcp 三次握手够吗 |
8 tiaod 2019-09-05 15:48:57 +08:00 via Android 所以测试要尽量保持简单 |
9 wqzjk393 2019-09-05 15:52:56 +08:00 多个独立的测试做投票不就好了 |
![]() | 11 MinQ 2019-09-05 15:58:03 +08:00 via Android 念完标题,差点猝死 |
12 anabigabeu 2019-09-05 16:06:38 +08:00 ![]() 套娃出动,不许套娃 |
![]() | 13 Alex5467 2019-09-05 16:11:49 +08:00 无聊 |
![]() | 14 niknik 2019-09-05 16:19:44 +08:00 需要,next() |
15 bilibilifi 2019-09-05 16:25:59 +08:00 via iPhone 看起来你需要 formal proof |
![]() | 16 akmissxt 2019-09-05 16:35:06 +08:00 测试是为了评估软件的质量,不是找 bug,不要本末倒置了。 |
17 xjlnjut730 2019-09-05 16:37:59 +08:00 所以不需要测试,开发人员本身就需要保证交付的质量。 |
![]() | 18 tz894305532 2019-09-05 16:49:36 +08:00 达到一定可靠度就行了比如说 95%,不用 100%没问题。 |
![]() | 19 expkzb 2019-09-05 16:49:39 +08:00 看完标题不认识"测"这个字了 |
20 alexk 2019-09-05 16:53:03 +08:00 禁止套娃 |
21 wqzjk393 2019-09-05 16:55:54 +08:00 基于统计学假设检验可以这么理解,我们没法证明代码是可以正常运行的,但是我们可以在一定的置信度下证明代码是不会出错的。所以测试就是干这活的啊,基于大部分使用习惯业务功能测试程序,如果发现出现错误了,即原假设代码存在问题是 true 的,那就否定了备择假设即代码可以正常运行,就打回去重写;如果在这些业务使用场景下依然能够正常运行,那就说明原假设代码存在问题是 false(基于置信区间或者说就是基于业务场景),也就证明了代码没问题。 测试不是说要得到完美的代码,而是保证常规业务逻辑能跑通,保证代码能够适应绝大多数业务场景,所以其实没必要把问题复杂化的。没有完美无缺的代码的,就看你能接受多大范围的 bug |
22 Honker 2019-09-05 16:58:09 +08:00 你这是要递归测试吗 |
![]() | 23 maxbon 2019-09-07 15:58:00 +08:00 hhh,想到了最近项目上讨论的一个话题,我们准备做一个监控守护进程,再做一个监控守护那个监控,再做一个监控守护监控的监控 |