重构<3> -- 我是一个类,难道我不配有专属的测试代码吗?

举报
看,未来 发表于 2020/12/29 23:09:33 2020/12/29
【摘要】 文章目录 唠嗑唠嗑这点我以前确实没想过每个类都配备测试代码,烦不烦啊你?行吧,我写,那怎么写啊?继承下的测试 唠嗑唠嗑 今晚我从外面散步回来,路上就在想,今天学习的这个《重构》,写了两篇,好像也没什么新东西收获啊。 现在有了。今晚看到这句话:每一个类,都应该有自己的测试代码!我觉得,今天学习到的东西,很好! 当然我这个标题能被搜到的可能性不高...

唠嗑唠嗑

今晚我从外面散步回来,路上就在想,今天学习的这个《重构》,写了两篇,好像也没什么新东西收获啊。
现在有了。今晚看到这句话:每一个类,都应该有自己的测试代码!我觉得,今天学习到的东西,很好!

当然我这个标题能被搜到的可能性不高,所以,留待有缘人咯。


这点我以前确实没想过

刚看到这个观点的时候,我是很不以为然的,谁让它标题不吸引人>>>《构建测试体系》
就这标题,谁不知道要测试啊。还好我没有“以貌取文”,我认真的看了下去。

如果观察一个程序员把时间都花在哪里了,可能下意识会说是编码,其实不然,仔细想想,除了编码,我们还要立项、设计、分工、规划、测试、调试、调试、调试,花大把时间的事情说三遍。

为什么调试会花掉大把时间,因为工程大啊,你说它突然来个段错误,你知道是哪里段错误?段错误会死机,那不死机的呢?比方说数据传输错误,你手动设置防火墙它这个错误就不叫错误,就不会死机,就算你设置了防火墙,你去哪里找这个数据缺失?那么多地方传输数据。

当然,找得到,绝对找得到,不过找一下也得几个小时甚至一天就下来了。


每个类都配备测试代码,烦不烦啊你?

烦。但是项目run的时候爆了烦不烦?那会儿可就不是一个人烦了,那是一个团队一起烦。
就比方说上次我们服务器客户端对接测试一个项目,中间数据传输出问题了,好了,现在是谁的问题都不知道。。。
然后测试端也只能跟后边等着了。

这种问题其实完全可以避免,甚至可以不发生,只要给每个类配备一个测试代码。
写一个测试代码能花多少时间,十分钟,测试一下能花多少时间,十分钟。害怕测出问题?那有问题就是有问题啊,专项解决不是效率更高吗!!!


行吧,我写,那怎么写啊?

怎么写那是个人自己的事情。但是,我想说的是,测试代码,最好写在功能类之前,这样可以预先界定功能类的具体功能,也可以把思路清晰一下。

至于测试代码要测试哪些东西?
你害怕哪里出问题就重点测试哪里,我们不能确保在测试代码中把所有问题全暴露出来,但是我们要花最少的时间,将利益最大化!!!

一般测试的地方:

1、寻找内存边界条件,防止越界(段错误)

2、寻找特殊的,可能导致错误的条件。

3、测试最高容量、效率,如线程池、epoll等。

4、测试数据库调度。

5、测试任务调度情况。

6、害怕哪里重点测试哪里。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

继承下的测试

这个要自己想办法去做组合测试。


测试无法抓出所有bug,但是它可以·抓出绝大部分bug。

花合理时间去抓出大部分bug,要好过穷尽一生去抓出所有bug。

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/105979934

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。