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


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

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

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

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

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

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

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

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

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

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

    CORRECT边界条件:

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

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

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

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

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

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

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

  • 相关阅读:
    Cheap Kangaroo(求多个数的最大公约数)
    poj 1094 Sorting It All Out(拓扑排序)
    hdu 5695 Gym Class(拓扑排序)
    Cyclic Components (并查集)
    GCD LCM
    And Then There Was One (约瑟夫环变形)
    System Overload(约瑟夫环变形)
    POJ-1639 Picnic Planning 度数限制最小生成树
    Educational Codeforces Round 60 (Rated for Div. 2) E. Decypher the String
    (ACM模板)二分查找
  • 原文地址:https://www.cnblogs.com/candyzkn/p/3508431.html
Copyright © 2020-2023  润新知