之所以想出这个问题是看了《程序员修炼之道》如下的话: “因为我们不可能编写出完美的软件,所以我们也不可能编写出完美的测试软件。我们需要对测试进行测试。” “ 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 4
这么说的话你觉得 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 1
套娃👮出动,不许套娃
|
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,想到了最近项目上讨论的一个话题,我们准备做一个监控守护进程,再做一个监控守护那个监控,再做一个监控守护监控的监控
|