`
kidiaoer
  • 浏览: 825368 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

TDD 测试驱动开发

阅读更多
TDD 测试驱动开发

   TDD的基本思路 是通过测试来推动整个开发的进行。

  优势:

  1.通过编写测试用例 可以确保对需求描述的无二意(无歧义)

  2.编写测试用例  也是一种代码设计的过程

  3.测试用例是对代码的最好的解释

  4.测试驱动开发提供的测试集就可以作为你编码信心的来源

  5.测试用例可以保障代码的正确性,能够迅速发现、定位bug

  过程:

  测试驱动开发的基本过程如下:

  1) 明确当前要完成的功能。可以记录成一个 TODO 列表。

  2) 快速完成针对此功能的测试用例编写。

  3) 测试代码编译不通过。

  4) 编写对应的功能代码。

  5) 测试通过。

  6) 对代码进行重构,并保证测试通过。

  7) 循环完成所有功能的开发。

  TDD的原则:

  1) 测试隔离。不同代码的测试应该相互隔离。对一块代码的测试只考虑此代码的测试,不要考虑其实现细节(比如它使用了其他类的边界条件)。

  2) 测试列表。需要测试的功能点很多。应该在任何阶段想添加功能需求问题时,把相关功能点加到测试列表中,然后继续手头工作。

  3) 先写断言。测试代码编写时,应该首先编写对功能代码的判断用的断言语句,然后编写相应的辅助语句。

  4) 可测试性。功能代码设计、开发时应该具有较强的可测试性。其实遵循比较好的设计原则的代码都具备较好的测试性。

  5) 及时重构。无论是功能代码还是测试代码,对结构不合理,重复的代码等情况,在测试通过后,及时进行重构.

  6) 小步前进。软件开发是个复杂性非常高的工作,开发过程中要考虑很多东西,包括代码的正确性、可扩展性、性能等等,很多问题都是因为复杂性太大导致的。

  测试技术:

  怎么编写测试用例

  测试用例的编写就用上了传统的测试技术。

  * 操作过程尽量模拟正常使用的过程。

  * 全面的测试用例应该尽量做到分支覆盖,核心代码尽量做到路径覆盖。

  * 测试数据尽量包括:真实数据、边界数据。

  * 测试语句和测试数据应该尽量简单,容易理解。

  * 为了避免对其他代码过多的依赖,可以实现简单的桩函数或桩类(Mock Object)。

  * 如果内部状态非常复杂或者应该判断流程而不是状态,可以通过记录日志字符串的方式进行验证。
分享到:
评论

相关推荐

    TDD测试驱动开发.pptx

    总之,TDD测试驱动开发是一种值得推广的软件开发方法。尽管它有自身的挑战和局限,但其带来的好处却远远超过了这些不足。通过不断的实践和学习,开发团队能够逐渐适应TDD的节奏,并最终将TDD内化为开发流程的一部分...

    TDD测试驱动开发

    TDD测试驱动开发,你值得拥有! TDD测试驱动开发,你不会后悔!

    TDD 测试驱动开发 文档 详细

    标题中的“TDD测试驱动开发文档详细”表明这是一个关于TDD的详细资料集合,可能涵盖了TDD的理论基础、实践步骤、工具使用等方面。描述中提到的“java TDD测试开发流程”,意味着这些文档专注于Java语言的TDD实践,...

    Visual Studio 2010 TDD 测试驱动开发 实战 视频及源码

    教程主题:Visual Studio 2010 TDD 测试驱动开发 实战 教程录制:柳永法 web:http://www.yongfa365.com/ 本教程旨在以最简单的hello world方式像您展示 Visual Studio 2010强大的TDD,推荐任何没接触过VS2010及TDD...

    TDD测试驱动开发(Kent Beck) 讲解代码(C#)

    测试驱动开发(Test-Driven Development, 简称TDD)是一种软件开发方法,由Kent Beck在其著作中提出。在TDD中,测试是开发过程的先驱,开发者首先编写测试用例,确保它们失败,然后编写最小化的代码来使这些测试通过...

    TDD测试驱动开发PDF及源码.zip

    TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。...

    测试驱动开发(TDD)入门讲解及代码实例

    测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量。本文从开发人员使用的角度,介绍了 TDD 优势、原理、过程、原则、测试技术、Tips 等方面。 背景 一个...

    测试驱动开发介绍及实践.pptx

    TDD测试驱动开发讲稿,配合技术分享视频:https://www.bilibili.com/video/BV1t64y1u7C1

    tdd测试驱动在软件工程中的辩证思考-软件工程-工程.pdf

    软件工程中,TDD 测试驱动开发模式是一种重要的开发方法论。该模式自上世纪九十年代中后期开始流行以来,一直在争论中前进发展。TDD 模式的优点在于可以提升代码的质量,要求需求和开发的一致,保证了简洁高效的类、...

    测试驱动开发的艺术 epub电子书

    极限编程反其道而行之,主张采用测试驱动开发(TDD)的方法,即通过测试定义所要开发的功能的接口,然后实现功能的开发过程。TDD通过不断地测试推动代码的开发,既简化了代码,又保证了软件质量。本书采用“手把手”...

    code kata以及测试驱动开发TDD介绍实用PPT课件.pptx

    "Code Kata 和测试驱动开发(TDD)介绍实用 PPT课件" 本课程主要介绍了 Code Kata 和测试驱动开发(TDD)的概念和实践方法,并对软件设计的基本原则进行了详细的讲解。课程共计 13 页,涵盖了软件设计的九个原则,...

    测试驱动开发(TDD)深入浅出

    测试驱动开发 TDD ,将读者带入XP极限编程的神奇世界!

    测试驱动开发的3项修炼:走出TDD丛林

    测试驱动开发(TDD)是一种敏捷软件开发技术,它要求开发者在编写功能代码之前先编写测试代码。这种方法提倡先写失败的单元测试,然后编写刚好足够使测试通过的代码,最后通过重构来提高代码的质量。王晓毅所著的...

    java测试驱动开发教程+代码实例

    《Java测试驱动开发》介绍如何将各种TDDzui佳实践应用于Java开发,主要内容包括:用Java语言进行TDD会用到的各种工具和框架,所需环境搭建;通过实际应用程序,展示TDD优点及开发中应注意的主要问题;TDD是如何通过...

    测试驱动开发.pdf测试驱动开发.pdf

    测试驱动开发(Test-Driven Development,简称TDD)是一种敏捷软件开发的技术,以测试作为开发过程的中心环节。它倡导在编写产品代码之前先编写测试代码,确保产品代码能够通过这些测试。这种方法与传统的开发方式...

    TDD驱动测试开发培训

    测试驱动开发(TDD)是一种软件开发方法,它要求开发者首先编写失败的单元测试用例,然后再编写足够的代码以使测试通过。接下来,开发者会对代码进行重构以改善设计,同时确保测试依然能够通过。这个过程循环进行,...

    测试驱动开发TDD培训讲义

    测试驱动开发(Test Driven Development,简称TDD)是一种软件开发方法,强调在编写实际的生产代码之前,先编写能够失败的单元测试。TDD的核心理念是“先测试,后编码”,通过测试来驱动设计,确保软件的质量和可...

Global site tag (gtag.js) - Google Analytics