单元测试之道Java版本读后感受

一、第1章:单元测试

  读完这本单元测试之道,我们首先要知道什么是单元测试?为什么要使用单元测试?如何进行单元测试?这些都是我们需要思考的。

  单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的很明确的功能是否正确。单元测试不但会使我们的工作完成的更轻松,而且会令我们的设计变得更好,甚至大大减少我们花在调试上的时间。单元测试首先要考虑的是在编写这些测试方法之前,如何测试这些可疑的方法;接着我们需要运行测试本神忙活着同时运行系统模块的所有其他测试,甚至如果测试运行的比较快我们可以运行整个系统的测试,及时在测试过程中,我们需要确认每个测试是否通过,但是我们会因此养成一个习惯,快速看出代码到底是否正确的习惯。

二、第4章:测试哪些内容

为了提高我们的测试技巧,我们主要将之的测试的地方分为6点:

  • Right--结果是否正确?

 

  • B--是否所有边界条件都正确?I--检查反向关联
    • 不一致的输入数据
    • 格式错误
    • 空值或者不完整的值
    • 与合理值相差很大的数值
  • I--检查反向关联

  • C--运用其他手段交叉检查结果
  • E--是否可以强制错误条件发生?
  • P--是否满足性能要求?

对此,我也在阅读的过程中进行了对使用反向逻辑关系验证方法进行了具体实践:

1 public void testSquareRootUsingInverse(){
2      double x = mySquareRoot(4.0);
3      assertEquals(4.0,x*x,0.0001);
4 }

三、第5章:CORRECT边界条件

  代码中的许多Bug都出现在“边界条件”附近,也就是说,在那些条件下,代码的行为可能不同寻常的、每天都能运行到的程序路径。

当然,在这本书当中,它用首字母缩略词CORRECT来帮助我们考虑如何测试哪些逼啊你姐额条件:

  • 一致性(Conformance)
  • 有序性(Ordering)
  • 区间性(Range)
  • 引用,耦合性(Renference)
  • 存在性(Existence)
  • 基数性(Cardinality)
  • 时间性,绝对的或者相对的(Time)

四、好的测试所具有的品质

好的测试应该具有以下的品质,合称为A-TRIP:

  • 自动化

    调用测试自动化和检查结果自动化

  • 彻底的

    测试所有可能出现的情况

  • 可重复

    任意顺序的执行其中任意一个测试,产生的结果都是相同

  • 独立的

    测试之间必须独立,且必须独立与周围不可控的环境

  • 专业的

    代码一定是值得测试的

  以上就是我在读《单元测试之道Java版:使用Junit》的读书笔记,我认为自己此次理解的不是很透彻,以后有时间会再次读一读,相信还会有不一样的收获!

posted @ 2020-10-18 12:16  Non_variable  阅读(78)  评论(0编辑  收藏  举报