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

如果测试脚本需要被测试的话,那么用来测试测试脚本的脚本需不需要被测试?

  •  
  •   Tetsuchou · Jun 7, 2018 · 4320 views
    This topic created in 2896 days ago, the information mentioned may be changed or developed.

    (我不是在黑 Golang 或者 TDD 或者任何自动化测试相关的东西)

    31 replies    2018-06-08 14:52:10 +08:00
    PythonAnswer
        1
    PythonAnswer  
       Jun 7, 2018 via iPhone
    需要
    KeepPro
        2
    KeepPro  
       Jun 7, 2018 via Android
    和递归的思想有点像
    lihongjie0209
        3
    lihongjie0209  
       Jun 7, 2018
    所以,正确的做法是少写代码
    GeruzoniAnsasu
        4
    GeruzoniAnsasu  
       Jun 7, 2018
    当然需要
    所以测试框架本身是可测试的
    写的测试也是一步步迭代出来的,确保每一个版本的测试都是正确的
    写测试写出 bug 但被测试代码没 bug 这种事又不是没遇到过
    auin
        5
    auin  
       Jun 7, 2018
    "测试的时候没发现这个问题",这个是常见现象,不管是人工还是自动化。
    yuriko
        6
    yuriko  
       Jun 7, 2018
    测试是为了发现问题,而不是发现所有问题

    所以这个问题其实是看需要程度
    chaleaochexist
        7
    chaleaochexist  
       Jun 7, 2018
    所以自动化测试测出问题 都需要手动重现.

    在报 bug 的时候都需要详细的手动重现步骤.
    yuriko
        8
    yuriko  
       Jun 7, 2018
    @chaleaochexist 有些随机脚本跑出来的问题还真复现不了……
    swordne
        9
    swordne  
       Jun 7, 2018
    那么,测试测试脚本的脚本是不是也需要被测试?
    完了完了...
    sutra
        10
    sutra  
       Jun 7, 2018
    我用代码 1 测试代码 2,并用代码 2 测试代码 1,是不是就跳出了递归?
    billwsy
        11
    billwsy  
       Jun 7, 2018
    100%的稳定性是不可能的,不必要的,甚至是有害的。
    czzhengkw
        12
    czzhengkw  
       Jun 7, 2018
    em...

    当你真正去写的时候,你就知道,这种问题无需考虑……

    测试代码一般就是平铺直述的测试,没有那些流程语句,这么简单的东西你测它干嘛……
    moln
        13
    moln  
       Jun 7, 2018   ❤️ 1
    @sutra 代码 1 测试代码 2 时,选择性忽略了代码 2 测试代码 1 运行过程中的 bug,请问该 bug 属于代码 1 还是代码 2 ?
    ichou
        14
    ichou  
       Jun 7, 2018
    测试框架需要被测试
    测试脚本测试有什么意义? 测试出问题的时候难道一定是程序的问题么,很多时候也有测试写错了的情况吧
    所以说起来 测试脚本 和 被测应用 应该是互相测试的关系
    codermagefox
        15
    codermagefox  
       Jun 7, 2018
    如果权力需要被监督,那么用来监督权力的权利需不需要监督?
    Foolt
        16
    Foolt  
       Jun 7, 2018
    教育者必须先受教育。
    chaleaochexist
        17
    chaleaochexist  
       Jun 7, 2018
    @yuriko 一般开发都不认自动化测试跑出来的东西.
    当然你说的随机数据例外.
    yuriko
        18
    yuriko  
       Jun 7, 2018
    @chaleaochexist 我们以前都是脚本自动生成工单,不认你也得写清楚原因
    chaleaochexist
        19
    chaleaochexist  
       Jun 7, 2018
    @yuriko 这要是在我之前那家单位,因为测试脚本产生的 bug -- 也就是 close reason 是 Not a Bug.会很不好.
    jennifertxwoodma
        20
    jennifertxwoodma  
       Jun 7, 2018
    一般来说都是到测试测试脚本这一步就 end of story 了
    QK8wAUi0yXBY1pT7
        21
    QK8wAUi0yXBY1pT7  
       Jun 7, 2018
    @codermagefox 三权 /多权分立,互相监督
    luoway
        22
    luoway  
       Jun 7, 2018
    给测试脚本写测试本就过分了,测试脚本不会影响业务代码,没必要写测试。
    如果是为了让测试代码也趋近测试正确,那么就会陷入这种循环。
    而且这种循环是没有终点的,是人就会犯错,给测试脚本写测试并不能避免犯错。
    carlclone
        23
    carlclone  
       Jun 7, 2018
    细分到一个合适的点就够了
    scnace
        24
    scnace  
       Jun 7, 2018 via Android
    哦 知道你不是在黑 Go 了
    daiqiangbudainiu
        25
    daiqiangbudainiu  
       Jun 7, 2018
    所以很简单,测试脚本的逻辑足够简单,这样就基本上可以保证测试脚本出 bug 的概率很小很小。这个时候就可以认为测试脚本没有 bug
    night98
        26
    night98  
       Jun 7, 2018
    测试脚本只测试,不会再写脚本去测,哈哈。
    msg7086
        27
    msg7086  
       Jun 8, 2018
    自动化测试主要有两个作用。
    1. 找出开发过程中新代码引入的问题。
    2. 找出升级和重构过程中引入的问题。
    软件测试也没有银弹。自动化测试只是用很小的代价带来很大的收益的手段。
    达到百分之百正确的代码……连行星探测器固件都不见得能自称百分之百正确的。
    likuku
        28
    likuku  
       Jun 8, 2018
    所以才有多备份冗余和相互表决仲裁机制...参考:

    F-16 战隼战斗机 - 电传操纵 维基百科,自由的百科全书 : https://zh.wikipedia.org/wiki/F-16%E6%88%B0%E9%9A%BC%E6%88%B0%E9%AC%A5%E6%A9%9F#%E7%B7%9A%E5%82%B3%E9%A3%9B%E6%8E%A7

    "因此尽管 F-16 是负稳定,但仍使 F-16 可以飞行。而为减少因电脑故障所产生的错误,F-16 在一般时间仅启动 3 部电脑进行飞控计算作业,第四部为备份电脑,并在飞控程式中建立一套表决系统,当某一部电脑所计算的结果与另两部电脑不同时,表决系统就立即启动,跳过并关闭计算结果不同的电脑,同时命令第四部备用电脑启动,以确保操控安全性。"
    asj
        29
    asj  
       Jun 8, 2018
    TDD 流程里写了测试还没实现的时候,非要 2b 兮兮的先运行一遍测试失败,再开始实现。就是为了简单的测试测试用例本身。
    写了一段代码后原来失败的测试通过了。说明这个测试自己是和这段代码行为有关系的。
    当然未必严谨,但是基本够用了。
    yuriko
        30
    yuriko  
       Jun 8, 2018
    @chaleaochexist not a bug 不是开发说了算的,要产品签字同意
    chaleaochexist
        31
    chaleaochexist  
       Jun 8, 2018
    @yuriko 因为测试脚本产生的 bug 需要产品签字同意.

    行吧,每家公司可能规定不一样.

    不再继续讨论此话题.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   944 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    ♥ Do have faith in what you're doing.