2.1 单元测试应该谁来写?
在《构建之法》第二章,对于单元测试,有这样一段描述:
单元测试必须由最熟悉代码的人(程序的作者)来写。
代码的作者最了解代码的目的,特点和实现的局限性。所以,写单元测试没有比作者更适合的人选了。
从我目前的经验和经历来看,假如我作为某个事物(不一定是代码)的作者,自己找自己的错误往往会有一种“我没有问题”的心理暗示,而帮别人做一些检查(也不一定是代码)时,因为自己相对作者来说是一个“傻子”,可能都没有理解他搞这个要做什么,所以更容易去给出一些作者从来没有考虑过的“用例”。“当局者迷,旁观者清”大概是这个道理吧。
最近我在一项工作上面临其他同学的检查,在这个期间我们工作小组共同完成的工作被其他组的同学谨慎检查后提出了几十个问题。我个人的体会是,因为我自己预先在心里给这个事情的前提条件设定了一些“期望”,而这些“期望”并不为其他人所知,所以其他人更能 hack 我。
我认为这种检查,和写单元测试属于一类事情,应该拥有类似的经验教训可以吸取,所以我目前觉得单元测试未必要交完全交给最熟悉代码的人来写。熟悉代码的人,比如作者,尽可能地去覆盖自己现有的路径;其他不太熟悉代码的人,可以在原有的单元测试上做补充工作,这些人由于有一个学习的过程,所以思路不是纯白盒测试,而是“从黑逐渐到白”盒测试,这样容易发现诸如原有代码的路径划分过于“粗糙”的一些问题。
————————————————
版权声明:本文为CSDN博主「战晨曦-18373466」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/BUAA_Wander/article/details/123433306
相关推荐
如何利用JUnit进行单元测试.ppt
如何利用JUnit进行单元测试.ppt
人教版小学五年级英语下册unit4 What are you doing单元测试卷1带答案.doc
人教版小学五年级英语下册unit4 What are you doing单元测试卷1带答案.doc
四年级下册英语人教精通版Unit2单元测试.pdf
四年级下册英语人教精通版Unit2单元测试.pdf
六年级下册英语冀教版Unit1单元测试.pdf
六年级下册英语冀教版Unit1单元测试.pdf
详解Spring Boot Junit单元测试
本篇文章主要介绍了详解Spring Boot Junit单元测试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


