由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 王垠测试的道理写的不错呀
相关主题
发现一个单独测试Mapper和reducer的方式某公司面试题,怎么解?
什么是mock test?面试跑测试数据
一年代码量4万行啥概念IKM Java 测试大家都做过吗?
代码安全,网络安全学习组 (转载)求问怎么写测试代码,
代码安全,网络安全学习组 (转载)问两道A家的设计题
白版测试interview远程的一般都什么样。。要求写出的代码一般都是bug free吗说一下学术派的代码(java)
DW(BI) developer位置的代码测试靠什么语言?谢谢!请教A家题
代码是对的但是过不了leetcode的测试SDET opportunity in Seattle, 有兴趣的请站内联系! (转载)
相关话题的讨论汇总
话题: 测试话题: mock话题: 代码话题: test
进入JobHunting版参与讨论
1 (共1页)
p*****2
发帖数: 21240
i*******e
发帖数: 240
2
二爷给钱了吗
w***t
发帖数: 1474
3
哈哈,没钱就帮他多点几下广告吧

【在 i*******e 的大作中提到】
: 二爷给钱了吗
s***d
发帖数: 15421
4
王银还是油菜的,可惜了
j******o
发帖数: 4219
5
然并卵,他只适合自己码,要是放一堆烙印里,天天都要自杀
x*********w
发帖数: 533
6

猩猩相惜,情不自禁 。。。。

【在 p*****2 的大作中提到】
: http://www.yinwang.org/blog-cn/2016/09/14/tests
: 让我产生了共鸣

s*a
发帖数: 267
7
他以前写过一篇文章 程序员的心理疾病
他给他自己诊断的不错。
a*******g
发帖数: 1221
8
写得不错。我上一家公司某个人就是精神病似的要求unit test
j**********r
发帖数: 3798
9
这哥们连senior都不够格,随便批几条。
"有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
工写mock的都是初级程
序员。
“为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同
一个地方。写测试不但不能保证它不再发生,而且浪费你很多时间。”
写个测试重现bug,以便于证明fix正确只是其中的一个目的。另一个目的是这个bug出
现,就说明这块地方缺乏coverage。不写测试,怎么保证将来别人修改相关代码,不会
出现相似的错误?这哥们纯以个人开发者时间来看待测试,说明缺乏项目经验,特别是
带队经验。啥东西都有成本,开发者有成本,测试者有成本,产品上出了问题也有成本
。在开发者手里发现的bug成本如果是1,在测试那里发现的是10,在产品上至少是100
,上不封顶。所以以浪费时间在发现没有coverage还不愿意补测试根本就是没有产品全
局观念。
r**********g
发帖数: 22734
10
好虫你说得很对。
王银真是不能做马工,去讲课可能好些。

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

相关主题
白版测试interview远程的一般都什么样。。要求写出的代码一般都是bug free吗某公司面试题,怎么解?
DW(BI) developer位置的代码测试靠什么语言?谢谢!面试跑测试数据
代码是对的但是过不了leetcode的测试IKM Java 测试大家都做过吗?
进入JobHunting版参与讨论
s*a
发帖数: 267
11
讲课?但他只是本科毕业。。。
他就是典型的一瓶子不满,半瓶子晃荡,眼高手低,自以为自己很懂,并且没有专注并
耐心完成一件事情(比如学位)的能力。

【在 r**********g 的大作中提到】
: 好虫你说得很对。
: 王银真是不能做马工,去讲课可能好些。

p*u
发帖数: 2454
12

他有无穷多个master degree

【在 s*a 的大作中提到】
: 讲课?但他只是本科毕业。。。
: 他就是典型的一瓶子不满,半瓶子晃荡,眼高手低,自以为自己很懂,并且没有专注并
: 耐心完成一件事情(比如学位)的能力。

j******o
发帖数: 4219
13
归根到底还是现在软件打补丁成本太低,没人重视测试了。
l******n
发帖数: 9344
14
现在小公司都是追求快的,test太费时间了。
有点bug下个出个补丁就好,没啥大事

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

w**z
发帖数: 8232
15
没测试,重构基本不敢搞吧。

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

t**8
发帖数: 4527
16
美国在走下坡路, 现在的所谓高科技公司 比如 Facebook 就是出现大量bug 又有什么
大的后果,
会使飞机掉下来吗? 说白了就是玩具化, 看着还行就可以了

【在 l******n 的大作中提到】
: 现在小公司都是追求快的,test太费时间了。
: 有点bug下个出个补丁就好,没啥大事

n*****3
发帖数: 1584
17
你付 5刀了吗?

【在 p*****2 的大作中提到】
: http://www.yinwang.org/blog-cn/2016/09/14/tests
: 让我产生了共鸣

n*****3
发帖数: 1584
18
大家不用 repl 吗?
我用了repl, test 就少用很多了

【在 w**z 的大作中提到】
: 没测试,重构基本不敢搞吧。
x*********w
发帖数: 533
19

扯淡

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

s*****r
发帖数: 43070
20
对,是个类都可以写mock啊,不用有interface,java可以自动生成动态类,估计没用
过mockito

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

相关主题
求问怎么写测试代码,请教A家题
问两道A家的设计题SDET opportunity in Seattle, 有兴趣的请站内联系! (转载)
说一下学术派的代码(java)招聘 SW Quality Engineer-Plano TX
进入JobHunting版参与讨论
x*********w
发帖数: 533
21

扯淡

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

j********x
发帖数: 2330
22
这篇还是一贯的特点啊
似是而非
总之还还是没有静下心来钻研工程开发的具体细节和一般原则
仍是在用看上去很有道理的所谓“道理”来佐证自己的看法
让我想起了著名小资产阶级知识分子张东荪的一句话:
“书生谋国直堪笑”
j**********r
发帖数: 3798
23
莫非你是王垠?

【在 x*********w 的大作中提到】
:
: 扯淡

j**********r
发帖数: 3798
24
是,曾经去擦屁股上一个复杂feature。先花了一个月补测试,所有敢叽歪的都被我骂
得灰头土脸。

【在 w**z 的大作中提到】
: 没测试,重构基本不敢搞吧。
z**********e
发帖数: 1052
25
这厮的文章怎么有股老邱的味道
l**********2
发帖数: 728
26
扯鸡巴蛋。拿他那个破INTERN PROJECT逼逼了多少年了。
一个破intern project当然想怎么来怎么来。
r**********g
发帖数: 22734
27
其实,要是有段代码没有test,晚上很难睡着觉。可能是强迫症
d****r
发帖数: 300
28
王垠说的挺好的,但对多人写的项目很难把握。总不成junior 老来问senior 这个test
该不该写,这样只能一刀切了。另外现在大家都把document 省了,unit test有取代的
意思,大家看看test case才明白输入输出。

【在 r**********g 的大作中提到】
: 其实,要是有段代码没有test,晚上很难睡着觉。可能是强迫症
d******e
发帖数: 2265
29
mock没什么鸟用。用docker搭环境能抓住更复杂和更重要的bug.

【在 s*****r 的大作中提到】
: 对,是个类都可以写mock啊,不用有interface,java可以自动生成动态类,估计没用
: 过mockito

z***e
发帖数: 5393
30
这个不同意,mock这东西可以自动生成,并不是他这段话的关键点。
我非常赞成他说的:所以你不再能够在代码里面快速的跳转浏览。这种方便性的损失,
会大幅度降低头脑产生整体理解的机会----这一句话实在是太赞。
关键不在于mock咋搞,而在于为了所谓testability加入各种interface(方便做mock)后
,在代码查看时难以直接进入有效代码去检查,而且恰恰是你说的参与合作的人越多,
这种情况就越容易发生。当然,虽然说最终不过是多跳几次的结果,但是当代码量巨大
时,这种跳转就很容易造成思维的混乱和疲惫,然后大幅度降低工作效率。
有人说过程序员水平高低归根到底是大脑短期记忆能力的高低,而对具体一个程序员来
说,在单位时间内大脑被塞入的枝节信息越多,所写程序质量也就越低。

【在 j**********r 的大作中提到】
: 这哥们连senior都不够格,随便批几条。
: "有些 C# 程序员,为了测试而加入大量的 interface 和 reflection,因为这样可以
: 在测试的时候很方便的把一片代码替换成 mock。结果你就发现这程序里每个类都有一
: 个配套的 interface,还需要写另外一个 mock 类,去实现这个 interface。"
: 没写过C#,但是有reflection的语言都有Mock类库,类似Mockito, JMockit之类都可以
: 让你避免写Mock类,并且不需要是interface。不懂得用类似类库写测试,还停留在手
: 工写mock的都是初级程
: 序员。
: “为不可能再出现的 bug 大费周折,写 reproducer,构造各种数据结构去验证它,保
: 证它下次不会再出现,其实是多此一举。同样的低级错误就算再出现,也很可能不在同

相关主题
Network engineer position@large company@RTP NC (转载)什么是mock test?
感谢大家祝福,收到口头offer一年代码量4万行啥概念
发现一个单独测试Mapper和reducer的方式代码安全,网络安全学习组 (转载)
进入JobHunting版参与讨论
h****e
发帖数: 374
31
现在测试就是码工的政治正确
t*****1
发帖数: 1459
32
wangyin说的很好
p*****2
发帖数: 21240
33

没有。想请他吃饭。

【在 i*******e 的大作中提到】
: 二爷给钱了吗
z*********8
发帖数: 2070
34
带上我一个

【在 p*****2 的大作中提到】
:
: 没有。想请他吃饭。

p*****2
发帖数: 21240
35

大牛能联系上他吗?

【在 z*********8 的大作中提到】
: 带上我一个
j**********r
发帖数: 3798
36
我都说了,mock framework可以让你直接mock 任何类调用的返回值,并不需要被测
试类
特地声明一
个接口,也没有再写新的mock类。
所以什么不方便跳转就是无知而已。你不信先去看看mockito 测试怎么写的。

【在 z***e 的大作中提到】
: 这个不同意,mock这东西可以自动生成,并不是他这段话的关键点。
: 我非常赞成他说的:所以你不再能够在代码里面快速的跳转浏览。这种方便性的损失,
: 会大幅度降低头脑产生整体理解的机会----这一句话实在是太赞。
: 关键不在于mock咋搞,而在于为了所谓testability加入各种interface(方便做mock)后
: ,在代码查看时难以直接进入有效代码去检查,而且恰恰是你说的参与合作的人越多,
: 这种情况就越容易发生。当然,虽然说最终不过是多跳几次的结果,但是当代码量巨大
: 时,这种跳转就很容易造成思维的混乱和疲惫,然后大幅度降低工作效率。
: 有人说过程序员水平高低归根到底是大脑短期记忆能力的高低,而对具体一个程序员来
: 说,在单位时间内大脑被塞入的枝节信息越多,所写程序质量也就越低。

s***o
发帖数: 2191
37
完全没有共鸣。这家伙好像把因果完全说反了。
j********x
发帖数: 2330
38
需要引入额外接口已达到所谓的test coverage是软件本身testability不足的一个表现
注意 这里并非要求为了test covergae 或者testability盲目地 形而上地去修改软件
本身 其本身都有权衡和考量团队具体情况的要求
但是 以此作为否定tdd或者testability这个提法的依据完全是莫名其妙 不能因为某种
指导方法发现了问题 而指出这种方法因为发现了问题所以本身有缺陷
实际当中 具有良好testability的代码大多具备以下特点:
1. 强内聚 低耦合 与此相反 松散而缺乏系统组织的代码从来都是测试的噩梦
2. 逻辑清晰 且有极强的自检能力 简单函数代码 看单元测试一目了然 复杂功能 集成
测试能提供极好的场景复现 此外对新生上手提供了好的例子 此外对于重构一类的系统
改进工作 好的测试简直是至关重要
3. 功能完备性和扩展性极好 testability好的代码能在测试中提前预判和感知功能扩
展性方面的缺陷 一个例子就是 不对称或者缺乏系统完备性的测试用例很好地暴露了代
码本身的设计缺陷 这跟高深的模型检测异曲同工 只不过相对更加下里巴人
测试也有助于理清低价值代码 复杂和过于反复的代码在测试中极容易暴露其对测试用
例完备性的需求 进而引导开发人员重新思考功能的价值 有助于降低复杂度
个人看法 欢迎讨论


: 这个不同意,mock这东西可以自动生成,并不是他这段话的关键点。

: 我非常赞成他说的:所以你不再能够在代码里面快速的跳转浏览。这种方便性的
损失,

: 会大幅度降低头脑产生整体理解的机会----这一句话实在是太赞。

: 关键不在于mock咋搞,而在于为了所谓testability加入各种interface(方便做
mock)后

: ,在代码查看时难以直接进入有效代码去检查,而且恰恰是你说的参与合作的人
越多,

: 这种情况就越容易发生。当然,虽然说最终不过是多跳几次的结果,但是当代码
量巨大

: 时,这种跳转就很容易造成思维的混乱和疲惫,然后大幅度降低工作效率。

: 有人说过程序员水平高低归根到底是大脑短期记忆能力的高低,而对具体一个程
序员来

: 说,在单位时间内大脑被塞入的枝节信息越多,所写程序质量也就越低。



【在 z***e 的大作中提到】
: 这个不同意,mock这东西可以自动生成,并不是他这段话的关键点。
: 我非常赞成他说的:所以你不再能够在代码里面快速的跳转浏览。这种方便性的损失,
: 会大幅度降低头脑产生整体理解的机会----这一句话实在是太赞。
: 关键不在于mock咋搞,而在于为了所谓testability加入各种interface(方便做mock)后
: ,在代码查看时难以直接进入有效代码去检查,而且恰恰是你说的参与合作的人越多,
: 这种情况就越容易发生。当然,虽然说最终不过是多跳几次的结果,但是当代码量巨大
: 时,这种跳转就很容易造成思维的混乱和疲惫,然后大幅度降低工作效率。
: 有人说过程序员水平高低归根到底是大脑短期记忆能力的高低,而对具体一个程序员来
: 说,在单位时间内大脑被塞入的枝节信息越多,所写程序质量也就越低。

1 (共1页)
进入JobHunting版参与讨论
相关主题
SDET opportunity in Seattle, 有兴趣的请站内联系! (转载)代码安全,网络安全学习组 (转载)
招聘 SW Quality Engineer-Plano TX白版测试interview远程的一般都什么样。。要求写出的代码一般都是bug free吗
Network engineer position@large company@RTP NC (转载)DW(BI) developer位置的代码测试靠什么语言?谢谢!
感谢大家祝福,收到口头offer代码是对的但是过不了leetcode的测试
发现一个单独测试Mapper和reducer的方式某公司面试题,怎么解?
什么是mock test?面试跑测试数据
一年代码量4万行啥概念IKM Java 测试大家都做过吗?
代码安全,网络安全学习组 (转载)求问怎么写测试代码,
相关话题的讨论汇总
话题: 测试话题: mock话题: 代码话题: test