第1章 真相
1.1 **个解决方案
1.2 变化
1.3 是什么错了?
第2章 积极求胜
2.1 极限编程(XP)
2.2 本书的结构
第3章 什么是XP
3.1 介绍
3.2 探索
3.3 探究
3.4 发行计划
3.5 迭代计划
3.6 开发
第4章 探 索
4.1 一个故事的故事
4.2 一些约束的故事
4.3 体系结构
4.4 花费昂贵的故事
4.5 组合故事
4.6 注册故事
4.7 现有用户
4.8 旧版的转换
4.9 通知
4.10 注册页的外观
4.11 杂项
4.12 结论
4.13 故事摘要
第5章 计划
5.1 按优先顺序对故事进行排列
5.2 结构重要性
5.3 发布和迭代周期
5.4 速度
5.5 计划**个版本
5.6 结论
第6章 **次迭代计划
6.1 将故事分解为任务
6.2 承担任务
6.3 估算任务
6.4 结论
第7章 开始**次迭代
7.1 计划是一回事,现实是另一回事
7.2 开始迭代
7.2.1 结构
7.2.2 测试隔离
7.2.3 两次单击按钮
7.2.4 糟糕
7.2.5 结束
7.3 结论
7.4 跟踪
第8章 任务6.3:登录任务
8.1 受保护的页
8.1.1 我们没有编写测试
8.1.2 登录
8.1.3 关闭未打开的数据库
8.1.4 测试意识
8.2 Cookie
8.2.1 登录任务结论
8.3 跟踪
第9章 重构引起的混乱
9.1 重构LoginServlet
9.2 结论
9.2.1 第二个实例为一般性付出了代价
9.2.2 这值得吗?
9.2.3 没有自动测试的重构是令人痛苦的
9.2.4 如果更早地做前置设计前置设计,会减少重构吗?
9.3 跟踪
第10章 逆向工作
10.1 TestNoUser
10.1.1 欺骗
10.1.2 逆向工作
10.1.3 但是我们还没有处理完毕
10.2 TestGoodEmail
10.3 TestBadEmail
10.4 实现模拟对象
10.4.1 Mailer
10.4.2 PasswordReminderDatabase
10.5 ForgotPassword Servlet
10.6 结论
10.7 跟踪
第11章 结构推敲
11.1 重构测试
11.2 再次重构Database
11.3 结构变革
11.4 注册Servlet
11.5 结论
11.6 跟踪
第12章 **次迭代—摘要
12.1 Cookie的悲哀
12.2 HTML/JSP任务
12.3 我们认为已经完成了任务
第13章 指 导
13.1 有趣的误解
13.2 是什么错了?
第14章 完成版本
14.1 你就不能减少两个小时
14.2 任务计划
14.3 迭代
14.3.1 更改过程
14.3.2 总结第2次迭代
14.4 学到的经验
14.5 第三次迭代
14.5.1 创建验收测试框架的失败
14.6 发行
14.6.1 版本:*初版本和当前版本
14.6.2 根据技术风险指定优先级
14.6.3 如果这不是一个XP项目,会出现什么情况呢?
第15章 结论
15.1 将此次经验应用于更大型的项目中
15.1.1 短周期
15.1.2 频繁的沟通
15.1.3 反馈
15.2 学到的经验
15.3 *终结论