测试驱动开发实用指南 百科内容来自于: 百度百科

版权信息

书 名: 测试驱动开发实用指南
作 者:(美国)艾斯特尔斯著
出版时间: 2006
ISBN: 9787508324821
开本:16
定价: 58.00 元

内容简介

测试驱动开发(TDD)是近年来“敏捷革命”中最热的话题之一,但是,市面上鲜见与此相关的有深度的作品。这本书的出版填补了这个空白,满足了众多一线程序员的需要。作者DavisAstels将这本书看作是KentBeck的经典作品《TestDrivenDevelopmentByExample》(英文影印版及中文版由中国电力出版社出版)的补充,重点阐述利用TDD开发所必要的技术和工具上,因此对实际开发更具实用性。
本书共分四部分。首先介绍了与TDD有关的基本主题,例如重构、意图导向编程(programmingbyintention),当然还有TDD背后的原理剖析。接着深入分析了一些工具和技术,例如JUNIT、模拟对象(mockobjects)。第三部分主要讲解如何将TDD应用到一个真实Java项目,这是本书的精华所在,作者亲自带你进入TDD世界,告诉你如何将看似复杂的“测试为先”在项目开发中尽情演绎。第四部分逐一概述了xUnit家族成员,如RUBYUNIT、SUNIT等。附录包含极限编程和敏捷开发的入门材料,以及一些在线资源。
本书还包含了大量练习题并附有详尽的参考答案,以方便读者的学习,加深读者对本书内容的理解。
著名的敏捷开发专家DaveAstels通过一个从头至尾使用JavaJ和Unit测试框架创建的项目,向你展示了TDD的精妙之处。你将会领悟到“测试为先”的工作机理,它之所以成为一种有效开发方法的原因,使用过程中将会碰到的困难以及如何在现实中取得TDD所许诺的一切。
·最具实用性!书中遍布了可下载的示例代码、练习题以及网上资源链接
·介绍强大的TDD工具和技术——包括关键的JUnit扩展,相关内容由它们的创建者(ScottAmbler、TimBacon、MikeBowler、MikeClark、BryanDollery、JamesNewkirk、BobPayne、KayPentacost和JensUwePipka)撰写。

作者简介

DavidAstels早在1985年就开始编写软件,涉及领域从嵌入式环境控制到知识产权保护系统,直到电能交易系统。他创建了Adaption,专门提供极限编程(XP)和软件工艺(SoftwareCraftsmanship)方面的咨询、培训、指导和编程业务。他从事TheCoadLetter中TDD一版的编辑工作,并且在一些最为重要的有关极限编程和敏捷过程的大会上发表演讲。同时他也是《APracticalGuidetoeXtremePronramming》(PrecticeHallPTR)作者之一。

目录

序言
前言
第1部分背景知识介绍
第1章测试驱动开发
什么是测试驱动开发?
让计算机来告诉你
一个简短的例子
小节
第2章重构
什么是重构?
什么时候进行重构
如何重构
一些重要的重构方法
通过重构来引入模式
小节
第3章意图导向的编程
名字
简单
要做有根据的假设
如何进行意图导向的编程
“无需注释”
小节
第2部分工具与技术
第4章JUnit
体系结构概览
断言
编写一个测试用例(TestCase)
运行测试
使用setUp()和tearDown()
使用TestSuite()
相互关系
测试的归属问题
一些建议
小节
第5章JUnit的扩展(extensions)
标准扩展
使用MockObjects补充的断言
使用JUnitPerf来来测试性能与可伸缩性
DaedalosJUnit扩展
使用xmlUnit来编写基于XML的测试
Gargoyle软件公司的JUnit扩展
第6章与JUnit有关的工具
Jester
NoUnit
Clover
Eclipse
IDEA
第7章模拟对象(MockObjects)
模拟对象
例子解说
模拟对象的用途
如果能这样该有多好?
一个普通的例子
MockObjects框架
MockMaker
EasyMock
小节
第8章以测试优先的方式开发一个GUI应用
例子
AWT机器人
蛮力测试(BruteForce)
JFCUnit
Jemmy
超瘦(Ultru-Thin)GUI
小节
第3部分一个彻头彻尾的采用TDD开发的Java软件项目
第9章项目描述
概述
用户描述及相关任务
第10章电影列表
为电影制作一个容器
为电影列表创建GUI
通过GUI增加电影
回顾
第11章可以为电影更名
支持对电影名的编辑
对电影更名的GUI
回顾
第12章电影是唯一的
电影是唯一的
发现不唯一时的出错信息
回顾
第13章评分(ratings)
给电影打分
在GUI中显示评分
对评分进行编辑
回顾
第14章类别
增加一种类别
在GUI中显示类别
提供可供选择的类别
回顾
第15章根据类别进行筛选
获得基于类别的子列表
支持一种称做ALL(所有)的类别
在GUI上添加类别选择器
处理电影类别的变更
界面修整
回顾
第16章持续性存储(persistence)
将数据输出到平直文件中
GUI中的Save-As菜单项
GUI中的Save菜单项
从平直文件中读取数据
加载到GUI中
回顾
第17章排序
电影比较
对电影列表进行排序
从MovieListEditor中获取排序后的列表
在GUI中增加排序操作
回顾
第18章多重评分
多重评分
评分来源
修正后的持续性存储
在GUI中显示电影的多重评分
在GUI中添加增加评分的功能
删除单一评分域
回顾
第19章评论
为评分附加评论
保存评论
加载评论
显示评论
增加评论
回顾
第20章项目回顾
设计
测试代码vs.应用代码
测试质量
模拟对象的使用
总体评述
调试
测试清单
小节
第4部分xUnit一族
第21章RUBYUNIT
框架描述
范例
第22章SUNIT
框架描述
范例
第23章CPPUNIT
框架描述
范例
第24章NUNIT
框架描述
范例
第25章PYUNIT
框架描述
范例
第26章VBUNIT
框架描述
范例
附录A极限编程
敏捷革命
极限编程
四种变化量(TheFourVariables)
价值观(Values)
实践方法(Practices)
小节
附录B敏捷建模
与建模有关的荒诞言论
敏捷建模(AM)导论
什么是敏捷模型?
附录C联机资源
论坛
与敏捷建模有关的信息
与极限编程有关的信息
与JUnit有关的软件
与JUnit有关的信息
各种工具
XUnit家族的其他成员
相关公司
杂类
附录D练习答案
参考文献
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定