`
Wingel
  • 浏览: 116528 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

敏捷开发的必要技巧13:测试驱动编程

阅读更多

下载地址: 第13章测试驱动编程.rar  或者  下载

 


TDD及它的优点<o:p></o:p>

<o:p> </o:p>

    上面这种编程的方式,就叫“测试驱动编程Test Driven Development (TDD)”,因为我们总是在写真正代码之前写一个通不过的测试,然后再写真正的代码,让测试通过。<o:p></o:p>

    跟测试后行的开发方式相比,它有如下好处:<o:p></o:p>

                                                       <o:p></o:p>

    1.为了更容易的写单元测试,我们会广泛的使用接口(比如StudentRegistryChecker等)。这个会让单元测试代码很容易读跟写,因为测试代码里面没有多余的数据。如果我们不用TDD而是直接写实现的话,我们经常会使用现成的类(比如StudentSet),测试为了调用现成的类,就不得不创建很多多余的数据,创建很巨型的对象,就像Student或者Course<o:p></o:p>

    <o:p></o:p>

    2.因为广泛的使用接口,我们的类之间就不会藕合(比如EnrollmentSet就一点都不知道StudentSet的存在),因此重用性更好。<o:p></o:p>

<o:p> </o:p>

    3.写单元测试的时候,很容易就可以为一个行为写一个测试用例,让它通过,然后为另一种行为写另一个测试用例。也就是说,整个任务会被划分成很多小的任务,独立完成。如果我们不用TDD而直接实现的话,我们很容易就会同时把所有的行为都实现了。这样花的时间长,而且在这相当长的时间里面,写的代码都是没有测试过,不能保证准确性的。相反的,用TDD的话,我们只实现要测的行为的代码。它只花费很少的时间(几分钟),而且可以马上测试。<o:p></o:p>

分享到:
评论

相关推荐

    敏捷开发的必要技巧

    敏捷开发的必要技巧 目录 第 1 章 移除重复代码 第 2 章 将注释转换为代码 第 3 章 除去代码异味 第 4 章 保持代码简洁 第 5 章 慎用继承 第 6 章 处理不合适的依赖 第 7 章 将数据库访问,UI和域逻辑分离 第 8 章...

    敏捷开发的必要技巧完整版

    在敏捷开发的必要技巧中,有几个核心概念和实践值得深入理解和掌握。 1. **敏捷价值观**:敏捷开发的核心价值观包括个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,以及响应变化...

    敏捷开发知识体系--高清版.pdf

    - 极限编程(XP)则侧重于技术和实践,如持续集成、测试驱动开发(TDD)、重构、配对编程等。 敏捷开发对于现代软件工程的影响深远,它帮助团队以更短的迭代周期发布软件,更好地适应需求变化,并提高交付质量。...

    测试驱动开发 by example.rar

    1. **TDD的起源与背景**:介绍TDD的发展历程,以及为什么它在敏捷开发中占有一席之地。 2. **TDD的步骤与技巧**:详细阐述“红-绿-重构”循环的执行过程,以及如何有效地编写测试用例。 3. **实战案例**:通过具体...

    敏捷开发合集

    《敏捷开发最佳实践.pdf》涵盖了敏捷开发中的各种实用技巧,如持续集成、测试驱动开发、结对编程等。这些实践有助于提升代码质量,降低风险,并确保团队能够快速适应需求变更。 4. **敏捷开发的必要技巧** 《敏捷...

    敏捷软件开发简介PPT

    敏捷实践还包括多种具体方法,如极限编程(XP)、测试驱动开发(TDD)和重构等,它们提供了具体的工具和技巧,帮助团队实现敏捷价值观和原则。 敏捷软件开发的核心理念是通过简化过程、增强团队协作和灵活应对变化...

    敏捷建模_java_

    Java作为一种广泛使用的面向对象编程语言,其灵活性和强大的库支持使其成为敏捷开发的理想选择。在Java项目中,敏捷建模可以帮助开发者: 1. **需求理解和沟通**:敏捷建模强调与利益相关者的紧密合作,通过频繁的...

    百度2014校园招聘测试笔试题

    9. **敏捷开发和持续集成**:理解敏捷开发原则和Scrum、Kanban等敏捷框架,以及持续集成(CI)和持续部署(CD)的概念,如Jenkins的使用。 10. **数据库基础**:熟悉SQL语言,能够进行基本的数据库查询和操作,这对于...

    软件测试实习招生笔试题

    9. **敏捷开发与测试**:敏捷方法如Scrum或Kanban在软件开发中的应用,以及敏捷测试的原则和实践,如持续集成和TDD(测试驱动开发)。 10. **测试文档**:理解需求规格书、测试计划、测试策略、测试报告等文档的...

    软件测试基础面试题及答案

    18. 在资源有限的环境下:优先级排序,聚焦核心功能测试,采用敏捷方法,与开发团队紧密合作,提高需求沟通效率。 19. 测试工程师素质和技能:编程基础,了解多种测试工具,熟悉测试框架,掌握缺陷管理,具备一定的...

    软件面试的技巧

    5. **敏捷开发知识**:软件测试往往与敏捷开发环境紧密相连。理解Scrum或Kanban框架,以及它们如何影响测试策略和实践。 6. **数据库知识**:理解SQL语言,能够进行基本的数据查询和操作,这对于测试数据库驱动的...

    万得资讯2017校招软件测试工程师笔试试题

    10. **敏捷开发与持续集成**:了解敏捷开发原则和Scrum框架,熟悉持续集成工具(如Jenkins、Travis CI),能够在快速迭代的环境中高效进行测试。 11. **通信与合作**:作为软件测试工程师,良好的沟通技巧和团队...

    软件测试经验与测试方向

    这需要通过不断学习新技能,比如掌握自动化工具、了解敏捷开发流程,同时积极参与项目决策,提供有价值的反馈和建议。此外,良好的沟通能力和问题解决能力也是测试人员不可忽视的素质。在面试时,展示这些能力以及对...

    2022自动化测试面试宝典根据公司内部题和培训机构老师整理的这些年来高频的自动化测试相关面试题。.zip

    3. **编程语言**:自动化测试往往涉及到编程,因此熟悉至少一种编程语言,如Java、Python或C#是必要的。面试可能会考察你对这些语言的基本语法和面向对象编程概念。 4. **Page Object Model(POM)**:这是一种设计...

    IEEE极限编程2014原题

    在准备这样的比赛时,参与者需要熟悉敏捷开发流程,熟练掌握至少一种编程语言,理解软件工程的基本原理,并具备良好的团队协作和沟通技巧。通过解决2014年的原题,参赛者可以提升自己在实际项目中的极限编程能力,为...

    Java极限编程.part05.rar

    在极限编程中,有几个核心原则和实践,包括测试驱动开发(TDD)、结对编程、持续集成、重构以及最小化工作待办事项列表。这些原则都是为了确保代码的质量和项目的进度得以有效控制。 1. 测试驱动开发(TDD):TDD ...

Global site tag (gtag.js) - Google Analytics