zoukankan      html  css  js  c++  java
  • 单元测试之道读书笔记(九)

    总结:

    一般原则:

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

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

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

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

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

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

    要回答的问题:

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

    我要如何对它进行测试?

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

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

    测试哪些方面:使用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(相对或者绝对的时间性)-------所有事情的发生是否是有顺序的?是否在正确时刻?是否恰好及时?

  • 相关阅读:
    asp.net 实现pdf、swf等文档的浏览
    VS NuGet加载本地程序包
    《大型网站技术架构》读书笔记
    全排列组合算法
    GDI+绘制半圆按钮
    oracle dblink 查询 tns:无法解析指定的连接标识符
    最少有多少鸡蛋(求最小公倍数)
    杨辉三角
    Android开发面试题(一)
    2015年11月系统架构设计师案例分析题
  • 原文地址:https://www.cnblogs.com/candyzkn/p/3509357.html
Copyright © 2011-2022 走看看