zoukankan      html  css  js  c++  java
  • 如何写好的测试呢?

    之前的一篇文章中,我们讨论了3P书中保龄球程序,文章的最后我提出了一个问题:


    代码可以通过单元测试进行验证,那么单元测试应该如何验证?或者说我们如何保证写出正确的单元测试呢?


    就这个问题,我采访了一些TW的同事,把他们的答案总结了一下,本想在去印度之前发出来,结果一拖再拖。等回到北京之后,发现我做记录的本子找不见了,丢失了重要的资料,不应该呀。(下次应该随时发到网上,或者保存一份电子版)

    总之下面的观点是我凭借会议和一些简单的记录总结的,欢迎大家提意见。(话说最近正在读Kent beck经典的TDD,我倒想看看他老人家对这个问题有什么高见)

    问题:我们如何保证写出正确的(好的)单元测试呢?

    TA说

    测试的类要有高内聚,低耦合的特性

    测试需要相对独立

    不要使用mock来模仿,要能真实的反映代码中的逻辑

    测试要有高的覆盖率

    一旦更改关键逻辑,之前通过的测试一定要失败

    TA说:

    在进行开发前,story应该建立task,在task里面就已经有初步设计方案

    一个case应该尽量简单,不要有过多的职责

    严格按照TDD模式进行开发,红绿交替

    TA说:

    要能真实的反映类的内部情况,验证语句要仔细

    尽量独立

    从大的测试推导出小测试

    TA说:

    没有无bug的程序,就算100%测试覆盖率也无法避免

    坚持TDD原则

    尽量多留心边缘情况

    最后推荐一篇文章,TDD的实用主义。读完这篇文章后,我想你会对TDD中的原则有更多的理解吧。

  • 相关阅读:
    hd2068错排+组合
    POJ 1061 青蛙的约会 扩展欧几里得
    POJ 2115 C Looooops扩展欧几里得
    扩展欧几里得算法
    欧拉函数模板
    高精度模板
    快速幂模板
    HDU 4445 Crazy Tank 高中物理知识忘得差不多了
    POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊
    HDU 4452 Running Rabbits 模拟
  • 原文地址:https://www.cnblogs.com/iammatthew/p/2198540.html
Copyright © 2011-2022 走看看