图书介绍
测试驱动开发的艺术2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (芬)科斯科拉著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115238368
- 出版时间:2010
- 标注页数:334页
- 文件大小:89MB
- 文件页数:348页
- 主题词:软件开发-英文
PDF下载
下载说明
测试驱动开发的艺术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分TDD入门1
第1章 综述2
1.1挑战:用正确的方法解决正确的问题3
1.1.1糟糕的代码质量3
1.1.2不能满足客户需求4
1.2解决方案:测试驱动4
1.2.1高质量的TDD5
1.2.2用ATDD满足客户需求6
1.2.3这对我有什么好处7
1.3正确地做事:TDD9
1.3.1测试-编码-重构9
1.3.2增量式开发12
1.3.3重构以保持代码的健康16
1.3.4保证软件正常运行18
1.4做正确的事:ATDD20
1.4.1名字的含义20
1.4.2紧密协作21
1.4.3把测试作为沟通的共同语言22
1.5TDD工具23
1.5.1使用xUnit做单元测试23
1.5.2支持ATDD的测试框架23
1.5.3持续集成及构建24
1.5.4代码覆盖率25
1.6小结26
第2章TDD入门28
2.1从需求到测试29
2.1.1分解需求29
2.1.2什么是好的测试30
2.1.3依照测试的列表工作30
2.1.4意图编程30
2.2选择第一个测试31
2.2.1创建测试列表31
2.2.2写第一个失败的测试32
2.2.3通过第一个测试34
2.2.4再加一个测试36
2.3广度优先,深度优先38
2.3.1继续使用伪实现39
2.3.2清除掉伪实现39
2.4别忘了重构41
2.4.1测试代码中的可重构之处42
2.4.2移除多余的测试43
2.5添加错误处理44
2.5.1验证异常44
2.5.2把方法重构得更短些45
2.5.3保持方法平衡46
2.5.4验证异常中的详细信息47
2.6无穷尽的测试48
2.6.1性能测试48
2.6.2有些失望的结局49
2.7小结50
第3章 小步重构51
3.1探寻解决方案51
3.1.1用Spike开发原型52
3.1.2写测试学知识52
3.1.3学习API的Spike样例52
3.2以受控的方式修改设计54
3.3进一步延伸新设计61
3.3.1保持兼容62
3.3.2替换实现66
3.4小结68
第4章TDD的概念与模式69
4.1如何编写及通过测试70
4.1.1测试选择技巧70
4.1.2实现技巧72
4.1.3测试驱动的基本准则73
4.2重要的测试概念74
4.2.1夹具是测试的上下文74
4.2.2用测试替身替换依赖76
4.2.3基于状态及基于交互的的测试76
4.3近处观察测试替身78
4.3.1测试替身的例子78
4.3.2伪实现、测试桩和模拟对象79
4.3.3模拟对象实战80
4.4提高设计的可测试性的准则81
4.4.1尽量使用组合而非继承82
4.4.2避免使用static关键字以及Singleton模式83
4.4.3隔离依赖84
4.4.4注入依赖86
4.5单元测试模式88
4.5.1断言模式89
4.5.2夹具模式92
4.5.3测试模式95
4.6在遗留代码基础上工作101
4.6.1测试驱动遗留开发101
4.6.2分析变化102
4.6.3准备好变化103
4.6.4测试驱动变更103
4.7 小结104
第二部分 针对特定技术应用TDD106
第5章 测试驱动Web组件106
5.1在60秒内介绍Web应用中的MVC107
5.2控制器107
5.2.1测试驱动Java Servlets108
5.2.2测试驱动Spring控制器117
5.3用测试先行的方法构建视图120
5.3.1用JspTest 测试驱动JSP121
5.3.2测试驱动Velocity模板125
5.4在基于控件的Web框架基础上TDD129
5.4.1剖析典型框架130
5.4.2用测试先行的方法开发Wicket页面130
5.5小结135
第6章 测试驱动数据访问137
6.1探索问题领域137
6.1.1跨越边界的数据访问138
6.1.2用DAO模式分层138
6.2用单元测试驱动数据访问139
6.2.1JDBCAPI的缺点140
6.2.2用Spring的JdbcTemplate简化开发144
6.2.3用Hibernate轻松地做TDD149
6.3编码前写集成测试155
6.3.1什么是集成测试155
6.3.2选择数据库157
6.4集成测试实战159
6.4.1第一个Hibernate集成测试159
6.4.2创建数据库模式162
6.4.3实现产品代码164
6.4.4 用事务夹具保持数据清洁165
6.5为集成测试填充数据166
6.5.1用Hibernate填充对象167
6.5.2用DbUnit填充数据168
6.6使用单元测试还是集成测试172
6.6.1在TDD周期中使用集成测试172
6.6.2两全其美173
6.7文件系统访问173
6.7.1项目中实际遇到的一个问题174
6.72提高文件访问可测试性的实践174
6.8小结175
第7章 测试驱动不可预测功能177
7.1测试驱动时间相关功能177
7.1.1例子:日志和时间戳177
7.1.2抽象出系统时间179
7.13用虚设的系统时间测试日志输出181
7.2测试驱动多线程代码184
7.2.1该测什么184
7.2.2线程安全185
7.2.3阻塞操作189
7.2.4启动及中止线程191
7.2.5异步执行193
7.2.6线程同步195
7.3标准同步对象196
7.3.1信号量196
7.3.2 latche196
7.3.3 barrier196
7.3.4 futures197
7.4小结197
第8章 测试驱动Swing代码198
8.1 Swing UI中该测试什么198
8.1.1内部基础设施及实用程序199
8.1.2渲染及布局199
8.1.3交互199
8.2 可测试UI代码的模式200
8.2.1经典MVP201
8.2.2Supervising Controller201
8.2.3Passive View203
8.3 测试视图控件的工具205
8.3.1为什么要用工具205
8.3.2TDD友好的工具206
8.4 测试驱动视图组件210
8.4.1着手设计211
8.4.2添加及操作标准控件212
8.4.3绘图216
8.4.4给点添加行为224
8.5小结227
第三部分基于ATDD构建产品230
第9章 解析验收测试驱动开发230
9.1用户故事介绍231
9.1.1故事的格式231
9.1.2讲故事的力量231
9.1.3用户故事的例子232
9.2验收测试232
9.2.1故事的样例测试232
9.2.2验收测试的特征233
9.2.3实现验收测试236
9.3 理解过程237
9.3.1 ATDD周期237
9.3.2 迭代内的ATDD242
9.4作为团队活动的ATDD245
9.4.1客户角色定义245
9.4.2客户与谁一起写测试246
9.4.3需要多少测试人员247
9.5 ATDD的好处247
9.5.1“完成”的定义247
9.5.2协作248
9.5.3信任及承诺249
9.5.4通过例子验收249
9.5.5弥合差距249
9.6我们究竟要测试什么250
9.6.1应该针对UI测试吗250
9.6.2可以使用部分系统的伪实现吗251
9.6.3应该直接测试领域逻辑吗251
9.7工具概览252
9.7.1基于表格的框架252
9.7.2基于文本的框架253
9.7.3基于脚本语言的框架254
9.7.4自制工具254
9.8小结254
第10章用Fit创建验收测试256
10.1 Fit是什么256
10.1.1用Fit进行ATDD257
10.1.2包含夹具表的测试文档259
10.1.3夹具:表格和类的结合260
10.2三个内建夹具261
10.2.1 ColumnFixture261
10.2.2 RowFixture263
10.2.3 ActionFixture266
10.2.4扩展内建夹具268
10.3 FitLibrary对内建夹具的扩展269
10.3.1 DoFixture269
10.3.2 SetUpFixture272
10.3.3还有更多功能273
10.4执行Fit测试273
10.4.1单个测试文档274
10.4.2把所有测试放在一个目录结构中274
10.4.3把测试整合进自动化测试中275
10.5小结276
第11章 执行验收测试的策略277
11.1验收测试该检测什么277
11.1.1抓住问题本质278
11.1.2避免波动频繁界面278
11.1.3在技术障碍最小的地方越过279
11.2实现方式279
11.2.1端到端280
11.2.2绕过UI进行测试281
11.2.3直接测试内部逻辑284
11.2.4替换无关组件285
11.2.5测试后门286
11.3技术相关考虑287
11.3.1库287
11.3.2无界面的分布式系统288
11.3.3控制台应用289
11.3.4 GUI应用290
11.3.5 Web应用293
11.4常见问题的处理技巧295
11.4.1加快测试执行速度296
11.4.2减少测试的复杂度299
11.4.3管理测试数据300
11.5小结301
第12章TDD应用302
12.1成功采用TDD的必要条件302
12.1.1理解本质302
12.1.2紧迫感303
12.1.3成就感303
12.1.4表现诚实304
12.1.5变革的时机304
12.2让其他人参与进来305
12.2.1引导变革的角色和能力305
12.2.2改变需要时间307
12.3如何应对阻力307
12.3.1识别阻力307
12.3.2应对阻力的三种常见方法309
12.3.3应对阻力的技巧310
12.3.4挑选战场312
12.4如何推进变革313
12.4.1造势313
12.4.2降低门槛314
12.4.3培训315
12.4.4共享及感染316
12.4.5指导和督促317
12.4.6通过分配角色让人们参与进来318
12.4.7打破稳定状态319
12.4.8迟后的奖励319
12.5小结319
附录A JUnit 4简明教程321
附录B JUnit 3.8简明教程323
附录C EasyMock简明教程325
附录D 通过Ant运行测试327
相关资源331
热门推荐
- 43860.html
- 2770817.html
- 203438.html
- 1248533.html
- 307206.html
- 2582898.html
- 312999.html
- 1478142.html
- 2600030.html
- 2779381.html
- http://www.ickdjs.cc/book_3556650.html
- http://www.ickdjs.cc/book_2598370.html
- http://www.ickdjs.cc/book_3114980.html
- http://www.ickdjs.cc/book_2233100.html
- http://www.ickdjs.cc/book_3136955.html
- http://www.ickdjs.cc/book_50261.html
- http://www.ickdjs.cc/book_671218.html
- http://www.ickdjs.cc/book_3437753.html
- http://www.ickdjs.cc/book_1293907.html
- http://www.ickdjs.cc/book_3212474.html