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


    总结:

    一般原则:

    测试任何可能失败的地方。

    测试任何已经失败的地方。

    对于新加的代码,在被证明正确之前,都可能是有问题的。

    至少编写和产品代码一样多的测试代码。

    针对每次编译都做局部测试。

    签入代码之前做全局测试。

    要回答的问题:

    我如何知道代码运行是否正确呢?

    我要如何对它进行测试?

    还有那些方面可能会发生错误?

    这个问题是否会在其他的地方出现呢?

    测试哪些方面:使用Right-BICEP

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

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

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

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

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

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

    好的测试是一个A-TRIP

     自动化(Automatic).

    彻底的(Thorough).

    可重复(Repeatable).

    独立的(Independent).

    专业的(Professional).

    CORRECT边界条件

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

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

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

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

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

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

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

  • 相关阅读:
    DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
    MySQL聚合函数、控制流程函数(含navicat软件的介绍)
    MySQL JDBC事务处理、封装JDBC工具类
    ResultSet详解(转)
    开源软件收集
    免费开源3D模型设计软件汇总
    oschina多媒体工具
    oschina文件传输
    简单工厂模式
    权限表的设计
  • 原文地址:https://www.cnblogs.com/candyzkn/p/3509357.html
Copyright © 2020-2023  润新知