《单元测试之道》Java版学习日志

前言

  在软件工程这门课程中,我有幸在老师的推荐下读了这本书。首先谈单元测试的概念,单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件或某个特定函数的行为。我们使用单元测试,可以让我们的设计更好,甚至大大减少花在调试上的时间。

首个单元测试

  java中使用asserEquals()方法来比较期望值和真实值是否相等

 public void calc() {
        MSA msa = new MSA();
        int a[] = {1,-2,3};
        int length = 3;
        msa.Calc(a, length);
        Assert.assertEquals(3, msa.sum);
}

使用JUnit编写测试

介绍几种断言

(1)asserEquals,以上介绍过

(2)assertNull

assertNull([{String message},java.lang.Object object),验证给定对象是否为空

(3)assertSame

assertSame({String message},expected,acture),验证expected与acture是否为同一个对象

(4)assertTure

assertTure(true),验证给定的二元条件是否为真

测试那些内容

  Right-BICEP,Right——结果是否正确,B——是否所有的边界都正确,I——能查一下反向关联吗,C——能用其他手段交叉检查一下结果吗,E——你能否可以强制错误条件发生,P——是否满足性能要求。

边界条件

  用CORRECT来表示我们需要考虑哪些边界条件。

  • 一致性
  • 有序性
  • 区间性
  • 引用,耦合性
  • 基数性
  • 时间性

使用Mock对象

  Mock对象是真实对象在调试期的替代品。在使用mock对象进行测试时,分为三个步骤(1)使用一个接口来描述这个对象。(2)为产品代码实现这个接口。(3)以测试为目的,在mock对象中实现这个接口。

好的测试所具有的品质

  A-TPIR:

  • 自动化
  • 彻底的
  • 可重复
  • 独立的
  • 专业的

测试类的不变性

  类的不变性是指一个或者几个针对类对象的断言。如果一个类对象有效的话,这些断言必须为真。例如,对一个实现了sorted list的类,它的不变性就是:它的内容必须是有序的。

总结

  总之,一个好的程序必须要经过测试才能确保安全有效的运行,对提高软件质量是有很大帮助的。学习这本书对于单元测试有了更深的理解。

 

posted @ 2020-10-10 22:13  180401柳建慧  阅读(121)  评论(0)    收藏  举报