注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络信息安全测试驱动开发实用指南

测试驱动开发实用指南

测试驱动开发实用指南

定 价:¥58.00

作 者: (美)David Astels著;崔凯译
出版社: 中国电力出版社
丛编项: 开发大师系列
标 签: 软件测试及维护

ISBN: 9787508324821 出版时间: 2004-09-01 包装: 胶版纸
开本: 24cm 页数: 478 字数:  

内容简介

  测试驱动开发(TDD)是近年来“敏捷革命”中最热的话题之一,但是,市面上鲜见与此相关的有深度的作品。这本书的出版填补了这个空白,满足了众多一线程序员的需要。作者Davis Astels将这本书看作是Kent Beck的经典作品《Test Driven Development By Example》(英文影印版及中文版由中国电力出版社出版)的补充,重点阐述利用TDD开发所必要的技术和工具上,因此对实际开发更具实用性。 本书共分四部分。首先介绍了与TDD有关的基本主题,例如重构、意图导向编程(programming by intention),当然还有TDD背后的原理剖析。接着深入分析了一些工具和技术,例如JUNIT、模拟对象(mock objects)。第三部分主要讲解如何将TDD应用到一个真实Java项目,这是本书的精华所在,作者亲自带你进入TDD世界,告诉你如何将看似复杂的“测试为先”在项目开发中尽情演绎。第四部分逐一概述了xUnit家族成员,如RUBYUNIT、SUNIT等。附录包含极限编程和敏捷开发的入门材料,以及一些在线资源。本书还包含了大量练习题并附有详尽的参考答案,以方便读者的学习,加深读者对本书内容的理解。本书荣获2004年度美国《软件开发》杂志Jolt大奖。· 一本真正实用的描述测试驱动开发方法的指南:真实的问题,真实的解决方案,真实的代码· 本书包含了一个完整的用Java编写并使用JUnit的软件项目· 介绍了适用于C++, C#/.NET, VB6 ,Python等多种语言环境的测试驱动开发(TDD)框架· 本书适合每一位对测试驱动开发方法感兴趣的开发人员和项目经理著名的敏捷开发专家Dave Astels通过一个从头至尾使用JavaJ和Unit测试框架创建的项目,向你展示了TDD的精妙之处。你将会领悟到“测试为先”的工作机理,它之所以成为一种有效开发方法的原因,使用过程中将会碰到的困难以及如何在现实中取得TDD所许诺的一切。· 最具实用性!书中遍布了可下载的示例代码、练习题以及网上资源链接· 介绍强大的TDD工具和技术——包括关键的JUnit扩展,相关内容由它们的创建者(Scott Ambler、Tim Bacon、MikeBowler、Mike Clark、Bryan Dollery、James Newkirk、Bob Payne、Kay Pentacost和Jens Uwe Pipka)撰写。

作者简介

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

图书目录

序言
前言
第1部分 背景知识介绍
第1章 测试驱动开发
什么是测试驱动开发?
让计算机来告诉你
一个简短的例子
小节
第2章 重构
什么是重构?
什么时候进行重构
如何重构
一些重要的重构方法
通过重构来引入模式
小节
第3章 意图导向的编程
名字
简单
要做有根据的假设
如何进行意图导向的编程
“无需注释”
小节
第2部分 工具与技术
第4章 JUnit
体系结构概览
断言
编写一个测试用例(TestCase)
运行测试
使用setUp()和tearDown()
使用TestSuite()
相互关系
测试的归属问题
一些建议
小节
第5章 JUnit的扩展(extensions)
标准扩展
使用MockObjects补充的断言
使用JUnitPerf来来测试性能与可伸缩性
Daedalos JUnit扩展
使用xmlUnit来编写基于XML的测试
Gargoyle 软件公司的JUnit扩展
第6章 与JUnit有关的工具
Jester
NoUnit
Clover
Eclipse
IDEA
第7章 模拟对象(Mock Objects)
模拟对象
例子解说
模拟对象的用途
如果能这样该有多好?
一个普通的例子
MockObjects框架
MockMaker
EasyMock
小节
第8章 以测试优先的方式开发一个GUI应用
例子
AWT机器人
蛮力测试(Brute Force)
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 极限编程
敏捷革命
极限编程
四种变化量(The Four Variables)
价值观(Values)
实践方法(Practices)
小节
附录B 敏捷建模
与建模有关的荒诞言论
敏捷建模(AM)导论
什么是敏捷模型?
附录C 联机资源
论坛
与敏捷建模有关的信息
与极限编程有关的信息
与JUnit有关的软件
与JUnit有关的信息
各种工具
XUnit家族的其他成员
相关公司
杂类
附录D 练习答案
参考文献


本目录推荐