V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
q3011893
V2EX  ›  程序员

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

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