关于要不要加测试接口的讨论

 

上周跟一个资深老员工讨论,很惊讶他的论调的同时,听到了一段精彩的讨论。

事情是这样的,我在给自己的代码写集成测试的时候,需要检查系统的一个内部状态,虽然可以通过其他方式,但是这样做会影响到系统本身,可能会让测试结果表现得不稳定。这个模块是资深老员工A负责的,所以我跟他说加一个接口以便测试。

老A强烈反对,说我绝不为了方便测试写代码(奇怪吧,我也奇怪,居然还有许多人这样想的)。

没办法,找来了组里Architect L来调停,下面是对话:

L:我们需要加这个接口。
A:不需要,我绝不为了方便测试写代码。我只关注功能。
L:需要。否则测试会三天两头出错,不稳定,跑一次没过,跑一次过了。。。到时候出了问题你去看。
A:测试失败大家都看,这是整个组的责任。
L:上个项目测试失败的时候你去看过几次?
A:。。。
L:我们需要加这个接口。
A:我不能为了方便测试写代码。比如作为一个医生,我不能对病人说,需要把你的心脏拿出来单独测试一下一秒钟跳一次会怎么样,然后拿出肝脏看看造血功能。。。

。。。众人狂笑,L跟着笑完这么说。。。

L:但是我们不造人,如果我们造人,我们或许真的把心脏单独测试一下,把肝脏单独测试一下。
L:比如说我们现在生产汽车,我们不能总把所有的零件兑到一起直接上路测试,要单独测试螺丝,轮胎,引擎。。。然后才是上路测试,这样一旦出了问题才好查。
A:。。。

。。。然后大家开始讨论怎么做。。。

这种讨论,闲下来谁都能想清楚,但是我看L就简单仰头思考了一秒,就说的这么清楚,很是佩服。当然如果用机器人做例子就更好了。

L是我最佩服的Architect,没有之一。几乎每次遇到百思不得其解的问题,到他那儿玩儿一样就解决了。
更多的时候,你去找他,聊完之后,豁然开朗,但是之前思考了一天干了半天的活要重新来过,所以有些同事现在都有点害怕跟他聊自己的工作细节。这几个月我有闲暇,几乎天天跟他聊,项目,设计,软件行业,软件公司,甚至还扯到国家人口问题,在每一个主题上,他的思维都很逻辑化,很快。活了三十多岁了,第一次觉得自己的脑子明显不够用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。