zoukankan      html  css  js  c++  java
  • 测试驱动开发(TDD)

    2017-08-01  20:03:48

    测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

    一、测试驱动开发的基本思想
    在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。
    测试驱动开发的基本过程如下:
    ① 快速新增一个测试
    ② 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过
    ③ 做一些小小的改动,尽快地让测试程序可运行,为此可以在程序中使用一些不合情理的方法
    ④ 运行所有的测试,并且全部通过
    ⑤ 重构代码,以消除重复设计,优化设计结构
     
    二、生动释义
    盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的笔直,因为垒砖的时候都是以这根线为基准的。TDD就像这样,先写测试代码,就像工人师傅先用桩子拉上线,然后编码的时候以此为基准,只编写符合这个测试的功能代码。
    而一个新手或菜鸟级的小师傅,却可能不知道拉线,而是直接把砖往上垒,垒了一些之后再看是否笔直,这时候可能会用一根线,量一下砌好的墙是否笔直,如果不直再进行校正,敲敲打打。使用传统的软件开发过程就像这样,我们先编码,编码完成之后才写测试程序,以此检验已写的代码是否正确,如果有错误再一点点修改。
    你是希望先砌墙再拉线,还是希望先拉线再砌墙呢?如果你喜欢前者,那就算了,而如果你喜欢后者,那就转入TDD阵营吧!
     
    三、单元测试
    单元测试(unit testing)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
     
  • 相关阅读:
    《Java 程序设计》课堂实践项目汇总链接
    20145207 2016-2017《Java程序设计》课程总结
    20145207《Java程序设计》实验四( Android程序设计)实验报告
    《Java 程序设计》课堂实践项目-简易计算器
    20145207 Exp9 web安全基础实践
    《Java 程序设计》课堂实践项目-Arrays和String单元测试
    20145123《实验报告五》
    20145123刘森明《Java程序设计》第十周学习总结
    20145123《实验报告四》
    20145123刘森明《Java程序设计》第九周学习总结
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7270416.html
Copyright © 2011-2022 走看看