写这篇文章的时候,哥正在给一个开发人员写单元测试。呵呵,我真是想说几个字,我去年买了个表。花了一下午,给写完的单元测试。关键是,开发人员的代码质量不是很好,我阅读理解需要时间,这么一弄就一下午了。
单元测试由谁编写?谁写代码,谁自己写单元测试。当然,有的结对编程里面,也有相互写的,不过,这个过程中,两个人是共同完成的代码。也不违反谁写代码谁写单元测试的原则。
如果单元测试让QA,或者其他人来写,会怎么样? 我大概列几个我以前接触的例子:
1.QA需要话时间理解代码,写case的过程就很长;
2.有代码修改之后,在项目的测试压力之下,有的QA,就选择不维护case了,而选择赶紧完成传统的手工测试。
久而久之,单元测试就会不了了之。希望,如果有谁看到这个文章,真的负责任的话,请不要让其他人写case。请自己完成,高质量的单元测试。
刚洗澡,想剖析下为什么RD不写单测?
RD常见的借口,我没时间写单测,不会写。呵呵,真TM想说放屁。。看完他们的屁之后,就说正题了,为什么他们不写?
从经济学的角度讲,RD写不写单测,结果都是一样的。而,他们写单测,结果还是一样(代码如期上线,没有线上BUG),相反还花费了不少时间,拖累了进度。
而且,更重要的,写不写单测,QA都需要进行测试,保证产品的质量。
最后,我们可以看出,从付出和收益来看,RD写单测是有坏处,不写单测,反而有好处。
然后,我要吐槽一句,请不要无视单测在代码维护、快速结果校验、代码覆盖率、开发支持方面的收益,无视这些的RD,无非是鼠目寸光。