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