• 请不要在回答技术问题时复制粘贴 AI 生成的内容
q3011893
V2EX  ›  程序员

我们写的代码需要测试,也需要测试测试的测试,那需要测试测试的测试的测试吗?

  •  1
     
  •   q3011893 · Sep 5, 2019 · 4607 views
    This topic created in 2621 days ago, the information mentioned may be changed or developed.

    之所以想出这个问题是看了《程序员修炼之道》如下的话: “因为我们不可能编写出完美的软件,所以我们也不可能编写出完美的测试软件。我们需要对测试进行测试。” “ Use Saboteurs to Test Your Testing. 通过“蓄意破坏”测试你的测试。”

    23 replies  •  2019-09-07 15:58:00 +08:00
    mumbler
    mumbler
    Sep 5, 2019 via Android
    1
    就因为无法做到无限递归,所以大厂生产的软件也会有 bug
    T3RRY
    T3RRY
    Sep 5, 2019
    2
    hhhhh
    hh4646908
    hh4646908
    Sep 5, 2019
    3
    需要治治口吃。。。。
    vvvVictoria
    vvvVictoria
    Sep 5, 2019
    4
    需要,next
    DANG
    DANG
    Sep 5, 2019
    5
    第一个精密的仪器肯定是用相对粗糙的仪器制造的,所以我理解他这段话的意思是说:在制造相对精密仪器的时候,首先需要提高粗糙仪器的精度。这种东西还是要看时间人力成本的,够用了就行了。
    jowan
    jowan
    Sep 5, 2019
    6
    所以开发驱动测试
    lihongjie0209
    lihongjie0209
    Sep 5, 2019❤️4
    7
    这么说的话你觉得 tcp 三次握手够吗
    tiaod
    tiaod
    Sep 5, 2019 via Android
    8
    所以测试要尽量保持简单
    wqzjk393
    wqzjk393
    Sep 5, 2019
    9
    多个独立的测试做投票不就好了
    MushiUta
    MushiUta
    Sep 5, 2019
    10
    @hh4646908 下次你直接点头就行了
    MinQ
    MinQ
    Sep 5, 2019 via Android
    11
    念完标题,差点猝死
    anabigabeu
    anabigabeu
    Sep 5, 2019❤️1
    12
    套娃👮‍出动,不许套娃
    Alex5467
    Alex5467
    Sep 5, 2019
    13
    无聊
    niknik
    niknik
    Sep 5, 2019
    14
    需要,next()
    bilibilifi
    bilibilifi
    Sep 5, 2019 via iPhone
    15
    看起来你需要 formal proof
    akmissxt
    akmissxt
    Sep 5, 2019
    16
    测试是为了评估软件的质量,不是找 bug,不要本末倒置了。
    xjlnjut730
    xjlnjut730
    Sep 5, 2019
    17
    所以不需要测试,开发人员本身就需要保证交付的质量。
    tz894305532
    tz894305532
    Sep 5, 2019
    18
    达到一定可靠度就行了比如说 95%,不用 100%没问题。
    expkzb
    expkzb
    Sep 5, 2019
    19
    看完标题不认识"测"这个字了
    alexk
    alexk
    Sep 5, 2019
    20
    禁止套娃
    wqzjk393
    wqzjk393
    Sep 5, 2019
    21
    基于统计学假设检验可以这么理解,我们没法证明代码是可以正常运行的,但是我们可以在一定的置信度下证明代码是不会出错的。所以测试就是干这活的啊,基于大部分使用习惯业务功能测试程序,如果发现出现错误了,即原假设代码存在问题是 true 的,那就否定了备择假设即代码可以正常运行,就打回去重写;如果在这些业务使用场景下依然能够正常运行,那就说明原假设代码存在问题是 false(基于置信区间或者说就是基于业务场景),也就证明了代码没问题。
    测试不是说要得到完美的代码,而是保证常规业务逻辑能跑通,保证代码能够适应绝大多数业务场景,所以其实没必要把问题复杂化的。没有完美无缺的代码的,就看你能接受多大范围的 bug
    Honker
    Honker
    Sep 5, 2019
    22
    你这是要递归测试吗
    maxbon
    maxbon
    Sep 7, 2019
    23
    hhh,想到了最近项目上讨论的一个话题,我们准备做一个监控守护进程,再做一个监控守护那个监控,再做一个监控守护监控的监控
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1407 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 10:58 · PVG 18:58 · LAX 02:58 · JFK 05:58
    ♥ Do have faith in what you're doing.