(我不是在黑 Golang 或者 TDD 或者任何自动化测试相关的东西)
|      1PythonAnswer      2018-06-07 09:47:55 +08:00 via iPhone 需要 | 
|  |      2KeepPro      2018-06-07 10:16:36 +08:00 via Android 和递归的思想有点像 | 
|      3lihongjie0209      2018-06-07 10:30:32 +08:00 所以,正确的做法是少写代码 | 
|      4GeruzoniAnsasu      2018-06-07 13:32:19 +08:00 当然需要 所以测试框架本身是可测试的 写的测试也是一步步迭代出来的,确保每一个版本的测试都是正确的 写测试写出 bug 但被测试代码没 bug 这种事又不是没遇到过 | 
|  |      5liuxey      2018-06-07 13:38:01 +08:00 "测试的时候没发现这个问题",这个是常见现象,不管是人工还是自动化。 | 
|      6yuriko      2018-06-07 14:10:20 +08:00 测试是为了发现问题,而不是发现所有问题 所以这个问题其实是看需要程度 | 
|  |      7chaleaochexist      2018-06-07 14:13:12 +08:00 所以自动化测试测出问题 都需要手动重现. 在报 bug 的时候都需要详细的手动重现步骤. | 
|      8yuriko      2018-06-07 14:38:08 +08:00 @chaleaochexist 有些随机脚本跑出来的问题还真复现不了…… | 
|  |      9swordne      2018-06-07 14:43:03 +08:00 那么,测试测试脚本的脚本是不是也需要被测试? 完了完了... | 
|  |      10sutra      2018-06-07 14:53:36 +08:00 我用代码 1 测试代码 2,并用代码 2 测试代码 1,是不是就跳出了递归? | 
|  |      11billwsy      2018-06-07 15:03:25 +08:00 100%的稳定性是不可能的,不必要的,甚至是有害的。 | 
|  |      12czzhengkw      2018-06-07 15:07:03 +08:00 em... 当你真正去写的时候,你就知道,这种问题无需考虑…… 测试代码一般就是平铺直述的测试,没有那些流程语句,这么简单的东西你测它干嘛…… | 
|  |      13moln      2018-06-07 15:08:24 +08:00  1 @sutra 代码 1 测试代码 2 时,选择性忽略了代码 2 测试代码 1 运行过程中的 bug,请问该 bug 属于代码 1 还是代码 2 ? | 
|  |      14ichou      2018-06-07 15:24:56 +08:00 测试框架需要被测试 测试脚本测试有什么意义? 测试出问题的时候难道一定是程序的问题么,很多时候也有测试写错了的情况吧 所以说起来 测试脚本 和 被测应用 应该是互相测试的关系 | 
|  |      15codermagefox      2018-06-07 15:42:56 +08:00 如果权力需要被监督,那么用来监督权力的权利需不需要监督? | 
|      16Foolt      2018-06-07 15:45:16 +08:00 教育者必须先受教育。 | 
|  |      17chaleaochexist      2018-06-07 15:56:25 +08:00 @yuriko 一般开发都不认自动化测试跑出来的东西. 当然你说的随机数据例外. | 
|      18yuriko      2018-06-07 16:10:22 +08:00 @chaleaochexist 我们以前都是脚本自动生成工单,不认你也得写清楚原因 | 
|  |      19chaleaochexist      2018-06-07 17:22:03 +08:00 @yuriko 这要是在我之前那家单位,因为测试脚本产生的 bug -- 也就是 close reason 是 Not a Bug.会很不好. | 
|      20jennifertxwoodma      2018-06-07 18:04:02 +08:00 一般来说都是到测试测试脚本这一步就 end of story 了 | 
|      21QK8wAUi0yXBY1pT7      2018-06-07 18:22:47 +08:00 @codermagefox 三权 /多权分立,互相监督 | 
|  |      22luoway      2018-06-07 18:25:38 +08:00 给测试脚本写测试本就过分了,测试脚本不会影响业务代码,没必要写测试。 如果是为了让测试代码也趋近测试正确,那么就会陷入这种循环。 而且这种循环是没有终点的,是人就会犯错,给测试脚本写测试并不能避免犯错。 | 
|      23carlclone      2018-06-07 19:15:39 +08:00 细分到一个合适的点就够了 | 
|      24scnace      2018-06-07 19:20:35 +08:00 via Android 哦 知道你不是在黑 Go 了 | 
|      25warcraft1236      2018-06-07 19:28:05 +08:00 所以很简单,测试脚本的逻辑足够简单,这样就基本上可以保证测试脚本出 bug 的概率很小很小。这个时候就可以认为测试脚本没有 bug | 
|      26night98      2018-06-07 22:13:07 +08:00 测试脚本只测试,不会再写脚本去测,哈哈。 | 
|  |      27msg7086      2018-06-08 00:16:10 +08:00 自动化测试主要有两个作用。 1. 找出开发过程中新代码引入的问题。 2. 找出升级和重构过程中引入的问题。 软件测试也没有银弹。自动化测试只是用很小的代价带来很大的收益的手段。 达到百分之百正确的代码……连行星探测器固件都不见得能自称百分之百正确的。 | 
|  |      28likuku      2018-06-08 00:32:19 +08:00 所以才有多备份冗余和相互表决仲裁机制...参考: 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 部电脑进行飞控计算作业,第四部为备份电脑,并在飞控程式中建立一套表决系统,当某一部电脑所计算的结果与另两部电脑不同时,表决系统就立即启动,跳过并关闭计算结果不同的电脑,同时命令第四部备用电脑启动,以确保操控安全性。" | 
|  |      29asj      2018-06-08 13:48:50 +08:00 TDD 流程里写了测试还没实现的时候,非要 2b 兮兮的先运行一遍测试失败,再开始实现。就是为了简单的测试测试用例本身。 写了一段代码后原来失败的测试通过了。说明这个测试自己是和这段代码行为有关系的。 当然未必严谨,但是基本够用了。 | 
|      30yuriko      2018-06-08 14:17:31 +08:00 @chaleaochexist not a bug 不是开发说了算的,要产品签字同意 | 
|  |      31chaleaochexist      2018-06-08 14:52:10 +08:00 |