zoukankan      html  css  js  c++  java
  • [读书笔记]关于单元测试

    一般原则:

    * 测试任何可能失败的地方
    * 测试任何可能失效的地方
    * 对于新加的代码,在被证明正确之前,都可能有问题
    * 至少编写和产品代码一样多的测试代码
    * 针对每次编译都做局部测试
    * 嵌入代码之前做全局测试
    

    要回答的问题:

    * 我如何知道代码运行是否正确呢
    * 我要如何对它进行测试
    * 还有哪些方面可能会发生错误
    * 这个问题是否会在其他地方出现呢
    

    测试哪些方面:使用你的right-bicep

    * 结果是否正确(right)?
    * 边界(boundary)条件是否正确?
    * 是否可以检查反向关联
    * 是否可以使用其他方法来跨检查结果
    * 错误条件是否可以重现
    * 性能方面是否满足条件
    

    好的测试是一个TRIP

    * Automatic(自动的);
    * thorough(全面的);
    * Repeatable(可重复的);
    * Independent(独立的);
    * Professional(专业);
    

    Correct边界条件:

    * 一致性(Conformance)-值是否符合预期的格式?
    * 有序性(Ordering)-一组值是该有序的,还是无序的?
    * 区间性(Range)-值是否在一个合理值的最大值和最小值的范围内?
    * 应用,耦合性(Reference)-代码是否引用了一些不受代码本身直接控制的外部因素?
    * 存在性(Existence)-值是否存在(例如,非null,非零,包含于某个集合等)
    * 基数性(Cardinality)-是否恰好有足够的值?
    * 时间性,绝对的或者相对的(Time)-所有事情是否都是按顺序发生的,是否在正确的时间,是否及时
    ###############################
    Living An Awesome Life! RobinJiang
    ###############################
  • 相关阅读:
    链表基础操作2
    数据结构第二章课后作业
    CSAPP第二個實驗bomblab
    链表的基础操作1
    Codeforces 375
    Codeforces 372
    Codeforces 367
    线性同余方程组
    【除草】反演
    【转】组合数求模
  • 原文地址:https://www.cnblogs.com/RobinJiang/p/the-principle-of-unit-test.html
Copyright © 2011-2022 走看看