测试驱动开发

出版社:机械工业出版社
出版日期:2013-9-1
ISBN:9787111423867
作者:Kent Beck
页数:200页

内容概要

肯特·贝克(Kent Beck) 软件工程领域泰斗、测试驱动开发理念提出者、极限编程之父,在设计模式、测试驱动开发和极限编程领域有很深的造诣,被誉为“计算机软件行业最具创造性才能的领导者之一”和“Java领域最具影响力的10位技术领袖之一”。他为软件行业的发展做出了卓越的贡献。早在1993年,他就与UML之父携手倡导软件开发的模式定义,推动了软件开发模式在软件行业的发展;更突出的贡献是,他提出并推动的极限编程方法学,以及他与Erich Gamma共同打造的JUnit工具,引发了敏捷开发的热潮。他著述颇丰,撰写了《解析极限编程:拥抱变化》、《实现模式》等多本经久不衰的经典著作,这些著作被翻译为多种文字,在世界范围内广泛传播和流行。
白云鹏 资深软件开发工程师,对软件过程有深刻理解,曾在微软(美国)总部参与多个项目的全程发布。研究方向是:软件过程改进、测试新技术应用和软件算法分析与设计。出版有《软件测试人员(Java·高级)》等著作。

书籍目录

译者序
前言
致谢
引言
第一部分 货币实例
第1章 多币种货币实例
第2章 简并对象
第3章 定义相等性
第4章 实例变量私有化
第5章 法郎的自白
第6章 相等性再定义
第7章 美元和法郎
第8章 制造对象
第9章 正在进行的times方法
第10章 有趣的times方法
第11章 万恶之源
第12章 总算谈到加法了
第13章 到达我们的预期
第14章 变化
第15章 多币种货币
第16章 总算谈到抽象了
第17章 货币回顾
第二部分 xUnit实例
第18章 走进xUnit
第19章 设置主线
第20章 后续的清理
第21章 计数
第22章 处理未通过的用例
第23章 好美妙的测试套件
第24章 xUnit回顾
第三部分 测试驱动开发的模式
第25章 测试驱动开发模式
第26章 红条模式
第27章 测试模式
第28章 绿条模式
第29章 xUnit框架下的模式
第30章 设计模式
第31章 重构
第32章 掌握测试驱动开发
附录A 影响图
附录B 斐波那契数列
后记

作者简介

本书是测试驱动开发领域的开山之作,由软件工程领域泰斗、极限编程之父Kent Beck撰写,荣获第14界Jolt大奖,10余年畅销不衰,具有里程碑意义。书中不仅以案例的形式呈现了测试驱动开发的原则和方法,而且详尽地阐述了测试驱动开发(TDD)的模式和最佳实践。
本书共32章,分为三大部分。第一部分(第1~17章)从简单问题入手,介绍了TDD的概念、优势与设计方法,再逐步深入到解决复杂问题的方式;细致讲解了如何在编写程序代码前编写自动化测试,如何先塑造一个设计再通过重构逐渐添加设计上的构思,如何为更复杂的逻辑创建测试等。第二部分(第18~24章)讲解用xUnit创建测试的实例,介绍如何利用xUnit框架创建自己的测试用例,便于高效地进行测试。第三部分(第25~32章)介绍TDD的设计模式,包括部分经典的设计模式以及如何将这些模式与TDD相结合,还介绍了重构的方法,以及TDD中的特殊问题等。本书从始至终贯穿了两个TDD项目,展示了如何轻而易举且卓有成效地编写优质代码的技术。


 测试驱动开发下载 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     测试驱动开发是否是软件开发的银弹,答案是否定的,但是其作用是值得重视的。现在的有一种趋势是弱化设计驱动,设计尽量简单,设计范围尽量减少。在“测试驱动”过程中重构,深化设计,验证结果。这是不是有效率呢?是不是符合软件开发实际呢?还是件需要思考的事情。如何把设计和测试结合呢?是一步一步从最简单的方式推演,还是先“想全面”了再coding呢?哪个更好,恐怕不能简单地说前者优于后者,要看是否适合具体个体或是团体。测试驱动的动机是整合“设计”到“测试”代码中,通过测试代码来设计,过程就是否定之否定,最后得到一个相对肯定结果,可以看作是一种“设计”的思路。如何驾驭这个过程就要看个人能力了,没有功力最后还是百搭。同样,如果用相反的思路呢?那就是“设计”驱动“测试”,通过设计过程中的use story来生成测试用例,即所谓的BDD行为驱动开发(见《实例化需求》)。我更欣赏BDD,感觉TDD是“反人类”的做法.总之不是任何人,任何团队都适合测试驱动的。尽管如此,作者写的测试实战经验和工作习惯是值得借鉴和学习的。
  •     译者又给我们带来一种软件开发方式。以测试作为软件开发的驱动。作者以货币转换实例,从简入深逐步讲解测试驱动开发方式的概念、优势与设计方法等方面知识;用xUnit框架,展示测试工具在开发过程中的关键之处。值得学习学习。
  •     测试开发驱动模式:一:测试优先,断言优先:从哪里开始构建一个系统:从对所有系统的描述开始。(1)列一个测试列表,一个个解决,后续有问题再加入列表。从哪里开始着手编写一些功能,从对已完成运行的测试开始。(2)为每一个列表写一个测试用例(实质是为某一个令你困恼的点写测试用例)。从哪里开始编写测试,从断言开始。二:隔离测试(Isolate Change);保持测试的顺序无关且不影响彼此。最好一个测试未通过只代表一个问题。(切分问题)三:让测试尽可能快的运行起来。这里讲到了两种方式,伪实现和三角测量法。伪实现:返回一个常量,逐渐使用变量取代它直到代码实现。三角测量法:编写某一个具体实现的用例,只当有两个或更多例子的情况下,才对其代码进行泛化。四:选择测试数据的准则:那些使测试易读性强且易于理解的数据,而且现实世界中的真实数据优先。五:显式数据(常量):帮忙理解测试本身的期望结果和实际结果,病尽量让它们的关系明朗。测试的流程:红色指示条——绿色指示条——重构(去掉开发余测试中的重复代码),以此循环。在没有测试失败情况下,不要去修改开发代码。(因为新变更,总是先写测试)

精彩短评 (总计12条)

  •     入门TDD必读图书
  •     测试开发驱动模式: 一:测试优先,断言优先: 从哪里开始构建一个系统:从对所有系统的描述开始。 (1)列一个测试列表,一个个解决,后续有问题再加入列表。 从哪里开始着手编写一些功能,从对已完成运行的测试开始。 (2)为每一个列表写一个测试用例(实质是为某一个令你困恼的点写测试用例)。 从哪里开始编写测试,从断言开始。 二:隔离测试(Isolate Change);保持测试的顺序无关且不影响彼此。最好一个测试未通过只代表一个问题。(切分问题) 三:让测试尽可能快的运行起来。这里讲到了两种方式,伪实现和三角测量法。 伪实现:返回一个常量,逐渐使用变量取代它直到代码实现。 三角测量法:编写某一个具体实现的用例,只当有两个或更多例子的情况下,才对其代码-----详见书评
  •     翻译的一坨屎
  •     翻译一般,但还能读。
  •     大量代码实例详述TDD的应用和涵义,建议architects们都读一读,也许不会立即使用,但开拓视野,树立正确的敏捷思想还是大有裨益的。如果不想看代码,直接读第三部分吧。
  •     稍微翻了一下,属于高级开发人员的阅读范围,所以我还是TDD先入门有个基础了解之后再看比较合适。暂不评分。
  •     主要通过两个例子介绍了测试驱动开发的一些基本原则。总体上浅显易懂,但是有些翻译看起来有点拗口。 TDD给予我在开发一个新的思路,尽管看起来有些反人类。目前还没有完全用TDD开发整个项目。但是实践中,加强了对测试的重视,以及通过编写测试审思设计这两点,让我已经获益匪浅 :)
  •     翻译的很烂
  •     老实说,看完全书没有什么收获,唯一知道的一点就是先写测试用例再开发,感觉作者只是蜻蜓点水,让人似懂非懂。另外这个版本错误不少,不只是翻译的问题,还有示例代码上的错误。
  •     太稀松平常了。
  •     入门介绍
  •     第三部分很值得一读。非常好的书。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024