单元测试之道读书笔记(三)

测试一个类,到底应该测试那些方面?哪些模块容易出问题?

  对于经验丰富的大牛,可能很容易就会发现应该重点测试哪些内容,但是如果没有经验的话,想要发现一些深层次的bug,那是有一定的难度滴。因此在bug挖掘方面我们需要一些指导,指导我们哪些地方需要多做测试。

  6个值得测试的部位,这6个方面统称为Right-BICEP:

  Right------结果是否正确

  B----------是否所有的边界条件都是正确的?

  I-----------能查一下反向关联吗?

  C----------能用其他手段交叉检查一下结果吗?

  E----------你是否可以强制错误条件发生?

  P----------是否满足性能要求?

如果代码能够运行正确,我要怎么才之道它是正确的呢?

CORRECT边界条件:

Conformance(一致性)--------------值是否和期望的一致。

Ordering(顺序性)-------------------值是否如应该的那样,是有序或者无序的。

Range(区间性)---------------------值是否位于合理的最小值和最大值之内。

Reference(依赖性)-----------------代码是否引用了一些不在代码控制范围之内的外部资源。

Existence(存在性)-----------------值是否存在(是否是非Null,非0,在一个集合中)。

Cardinality(基数性)----------------是否恰好有足够的值?

Time(相对或者绝对的时间性)-------所有事情的发生是否是有顺序的?是否在正确时刻?是否恰好及时?

原文地址:https://www.cnblogs.com/candyzkn/p/3508431.html