第一部分 机场停车场 1
第1章 停车费计算器讨论会 3
1.1 代客泊车 3
1.2 临时停车 4
1.3 经济停车和长期停车 6
1.4 基本实例 9
1.5 总结 13
第2章 代客泊车的测试自动化 17
2.1 第一个测试用例 18
2.2 结对完成第一个测试 24
2.2.1 初始化 25
2.2.2 检查结果 30
2.3 表格化测试 34
2.4 总结 36
第3章 其余的停车场实例的自动化 39
3.1 临时停车 39
3.2 经济停车 42
3.3 总结 43
第4章 期望与协作 45
4.1 需求讨论会 46
4.2 主观期望的思维方式 47
4.3 协作 48
4.4 总结 49
第二部分 交通信号灯软件系统 51
第5章 开始 53
5.1 交通信号灯 53
5.2 FitNesse 55
5.3 支持代码 56
5.4 总结 57
第6章 信号灯状态 59
6.1 状态需求 59
6.2 第一个测试 60
6.3 深入代码 63
6.4 重构 67
6.4.1 包 68
6.4.2 LightState枚举 68
6.4.3 编辑LightState 73
6.5 总结 83
第7章 第一个路口 85
7.1 控制器的需求 85
7.2 驱动控制器的实现 86
7.3 总结 106
第8章 发现和探索 107
8.1 发现领域 107
8.2 驱动产品代码 109
8.3 测试你的粘合代码 110
8.4 粘合代码的价值 111
8.5 总结 112
第三部分 验收测试驱动开发的原则 115
第9章 使用实例 117
9.1 使用合适的格式 118
9.1.1 行为驱动开发 119
9.1.2 表格格式 121
9.1.3 关键字驱动的自动化 124
9.1.4 粘合代码和支持代码 125
9.1.5 正确的格式 126
9.2 细化实例 128
9.2.1 领域测试 129
9.2.2 边界值 130
9.2.3 配对测试 130
9.3 裁减实例 132
9.4 考虑缺失 134
9.5 总结 137
第10章 协作确定需求 139
10.1 见识“三的力量” 139
10.2 举办讨论会 141
10.2.1 参加者 141
10.2.2 讨论会的目标 142
10.2.3 频率与时长 142
10.3 捕捉需求 143
10.4 总结 145
第11章 基于文本的自动化 147
11.1 使用友好的自动化 148
11.2 自动化上的协作 149
11.3 发现领域 151
11.4 总结 153
第12章 整洁的测试 155
12.1 测试自动化的开发 156
12.2 倾听测试的声音 158
12.3 重构测试 162
12.3.1 提取变量 163
12.3.2 提取关键字 164
12.4 总结 165
第13章 成功运用ATDD 167
附录A Cucumber 171
A.1 特性文件 171
A.2 步骤定义 172
A.3 产品代码 173
附录B FitNesse 175
B.1 Wiki结构 176
B.2 SLiM表格 176
B.3 支持代码 177
附录C Robot Framework 179
C.1 段落 179
C.2 库代码 182