图书介绍
开发高质量PHP框架与应用的实际案例解析2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)伯格曼,(美)普瑞斯克著;刘文瀚,刘海燕译 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302285267
- 出版时间:2012
- 标注页数:314页
- 文件大小:84MB
- 文件页数:331页
- 主题词:PHP语言-程序设计
PDF下载
下载说明
开发高质量PHP框架与应用的实际案例解析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 基础3
第1章 软件质量3
1.1 外部质量4
1.2 内部质量4
1.3 技术债务5
1.4 结构性质量保证6
1.5 整洁代码7
1.5.1 显式、最小的依赖7
1.5.2 责任明确8
1.5.3 不可复制8
1.5.4 尽可能少的执行分支、尽可能简短的方法8
1.6 软件度量8
1.6.1 圈复杂度与npath复杂度9
1.6.2 CRAP9
1.6.3 non-mockable total recursive cyclomatic complexity9
1.6.4 全局可变状态10
1.6.5 聚合与耦合10
1.7 工具10
1.7.1 PHPUnit10
1.7.2 phploc10
1.7.3 PHP Copy-Paste-Detector10
1.7.4 PHP Dead Code Detector11
1.7.5 PHP_Depend11
1.7.6 PHP Mess Detector11
1.7.7 PHP_CodeSniffer11
1.7.8 bytekit-cli11
1.7.9 PHP_CodeBrowser11
1.7.10 CruiseControl与PHPUnderControl11
1.7.11 Hudson12
1.7.12 Arbit12
1.8 本章小结12
第2章 软件测试13
2.1 黑盒测试与白盒测试13
2.2 需要多少次测试13
2.3 系统测试14
2.3.1 浏览器测试15
2.3.2 自动测试16
2.3.3 孤立测试16
2.3.4 验收测试17
2.3.5 系统测试的局限17
2.4 单元测试18
2.4.1 返回值19
2.4.2 依赖性21
2.4.3 副作用21
2.5 案例探究21
2.5.1 分析待测试代码24
2.5.2 创建测试环境25
2.5.3 避免全局依赖性27
2.5.4 独立于数据源的测试28
2.5.5 异步事件测试33
2.5.6 数据库变化的存储36
2.5.7 意外的结果37
2.5.8 封装输入数据39
2.5.9 问题的进一步研究40
2.6 本章小结41
第Ⅱ部分 最佳实践第3章 TYPO3:呆板项目之敏捷未来45
3.1 简介45
3.1.1 TYPO3的历史:13个春秋45
3.1.2 敢于重新开始46
3.1.3 我们的测试经验47
3.2 方法和技术47
3.2.1 苦甜参半的“大块头”48
3.2.2 测试驱动开发48
3.2.3 文档式测试49
3.2.4 持续集成50
3.2.5 整洁代码51
3.2.6 代码重构52
3.2.7 编程向导52
3.2.8 领域驱动设计53
3.3 开发过程中的行动方向54
3.3.1 开发新代码54
3.3.2 扩展和调试代码54
3.3.3 优化代码55
3.3.4 寻找并修复漏洞56
3.3.5 处理旧代码56
3.4 测试处方56
3.4.1 无意的功能性单元测试57
3.4.2 文件系统入口57
3.4.3 接口处的构造函数58
3.4.4 测试抽象类58
3.4.5 测试受保护方法59
3.4.6 回调函数的使用61
3.5 迈向未来62
第4章 单元测试的糟糕实践63
4.1 为什么测试质量很重要63
4.2 糟糕实践和测试味道64
4.2.1 测试代码重复64
4.2.2 断言复杂和测试试图65
4.2.3 脆弱测试67
4.2.4 模糊测试69
4.2.5 谎言测试73
4.2.6 慢测试74
4.2.7 测试中的条件逻辑75
4.2.8 自行验证测试76
4.2.9 Web冲浪测试77
4.2.10 模拟过度杀伤78
4.2.11 跳过蔓延79
4.3 本章小结79
第5章 Digg公司的质量保证81
5.1 面临的问题81
5.1.1 遗留基本代码82
5.1.2 如何解决这些问题83
5.1.3 选择测试框架84
5.1.4 引进专家84
5.1.5 会议室内的一周84
5.2 训练团队84
5.3 编写可测试代码87
5.3.1 规避静态方法87
5.3.2 依赖注入89
5.4 模拟对象89
5.4.1 综述89
5.4.2 数据库89
5.4.3 松散耦合依赖90
5.4.4 测试类内部构件的试验对象观察者91
5.4.5 分布式缓存92
5.4.6 模拟服务型架构92
5.5 Digg的质量保证过程96
5.5.1 测试96
5.5.2 益处97
5.6 本章小结98
第Ⅲ部分 服务器与服务第6章 服务型API测试101
6.1 问题102
6.2 解决方案103
6.2.1 API证书103
6.2.2 API限制106
6.2.3 服务协议的脱机测试107
6.2.4 具体服务的脱机测试110
6.3 本章小结115
第7章 测试WebDAV服务器117
7.1 关于eZ WebDAV组件117
7.1.1 WebDAV117
7.1.2 体系结构119
7.2 开发过程中的挑战120
7.2.1 需求分析120
7.2.2 RFC之后的TDD121
7.2.3 测试一个服务器121
7.3 使用PHPUnit进行自动验收测试123
7.3.1 捕获追踪测试124
7.3.2 测试方法125
7.3.3 集成到PHPUnit126
7.3.4 定制测试案例126
7.3.5 验收测试套件129
7.3.6 验收测试示例130
7.4 本章小结132
第Ⅳ部分 体系结构第8章 Symfony测试与Symfony项目135
8.1 测试框架135
8.1.1 Symfony发布管理过程136
8.1.2 测试与真实代码137
8.1.3 运行测试套件137
8.1.4 主要教训137
8.2 测试Web应用程序141
8.2.1 减少进入测试的障碍142
8.2.2 单元测试142
8.2.3 功能测试146
8.3 本章小结150
第9章 测试ezcGraph组件151
9.1 开发理念152
9.2 图形组件152
9.2.1 体系结构153
9.2.2 测试需求154
9.3 驱动程序的模拟化154
9.3.1 模拟驱动程序154
9.3.2 多重断言156
9.3.3 结构157
9.3.4 预处理157
9.3.5 小结158
9.4 测试二进制数据158
9.4.1 驱动程序158
9.4.2 预处理159
9.4.3 SVG159
9.4.4 创建位图160
9.4.5 位图对比161
9.4.6 Flash162
9.5 本章小结164
第10章 测试数据库交互165
10.1 概述165
10.2 不编写数据库测试的原因166
10.3 编写数据库测试的原因166
10.4 测试的内容167
10.5 编写测试:模拟数据库连接168
10.6 编写测试:PHPUnit数据库扩展168
10.6.1 数据库测试案例类169
10.6.2 建立数据库测试连接170
10.6.3 创建数据集172
10.6.4 数据操作185
10.6.5 建立测试187
10.6.6 使用数据库测试器193
10.7 应用测试驱动的设计进行数据库测试195
10.8 使用数据库测试进行回归测试195
10.8.1 数据的测试问题196
10.8.2 数据揭示的测试问题197
10.9 本章小结197
第Ⅴ部分 整体问题与解决方案第11章 studiVZ的质量保证201
11.1 简介201
11.2 验收测试202
11.3 Selenium203
11.4 studiVZ的技术设置205
11.4.1 开发环境205
11.4.2 测试环境206
11.5 最佳做法206
11.5.1 早期的错误207
11.5.2 策略变更208
11.6 我们需要一个DSL215
11.6.1 内部DSL216
11.6.2 Testing_SeleniumDSL 1.0版本216
11.6.3 Testing_SeleniumDSL 2.0版本——一个草案218
11.6.4 Testing_SeleniumDSL 2.0版本的现状和展望218
11.7 本章小结219
第12章 持续集成221
12.1 简介221
12.1.1 持续集成222
12.1.2 静态分析223
12.2 安装232
12.3 配置233
12.3.1 静态测试236
12.3.2 动态测试240
12.3.3 报告241
12.3.4 成果242
12.4 操作244
12.5 高级话题244
12.5.1 持续部署244
12.5.2 使用反向代理245
12.5.3 持续集成和敏捷范式246
12.6 本章小结247
第13章 swoodoo:真正的敏捷史249
13.1 简介249
13.2 强者生存249
13.3 现在我们正在做的工作255
13.4 演化的艺术258
13.4.1 经验不足259
13.4.2 Java开发人员使用PHP编码的现象260
13.4.3 只有自己理解其代码的开发人员262
13.5 本章小结263
第Ⅵ部分 非功能性方面第14章 易用性267
14.1 开销和工作的平衡268
14.2 设计269
14.2.1 可访问性269
14.2.2 可读性270
14.2.3 表单元素标签270
14.2.4 键盘导航270
14.2.5 有效的对比度271
14.2.6 返回首页的连接标志271
14.2.7 图像的替代文本272
14.2.8 背景图像的背景颜色272
14.2.9 可用的打印版本272
14.2.10 可视的链接272
14.2.11 良好的书签272
14.2.12 不使用帧272
14.2.13 可缩放的字体273
14.3 技术273
14.3.1 性能273
14.3.2 JavaScript274
14.4 用户指南275
14.4.1 “折叠”的神话275
14.4.2 互动的反馈276
14.4.3 导航276
14.4.4 弹出窗口和其他的烦恼277
14.4.5 习惯和期望277
14.4.6 容错和反馈277
14.5 测试易用性277
14.6 本章小结278
第15章 性能测试279
15.1 简介279
15.1.1 工具280
15.1.2 环境的注意事项280
15.2 负载测试281
15.2.1 Apache Bench282
15.2.2 Pylot283
15.2.3 其他负载测试工具285
15.3 剖析285
15.3.1 Callgrind286
15.3.2 KCachegrind289
15.3.3 APD290
15.3.4 Xdebug291
15.3.5 XHProf292
15.3.6 OProfile293
15.4 系统指标294
15.4.1 strace294
15.4.2 Sysstat295
15.4.3 自定义工具297
15.5 常见的陷阱297
15.5.1 开发与生产环境297
15.5.2 CPU时间298
15.5.3 微优化298
15.5.4 将PHP作为粘合剂298
15.5.5 优化的优先级299
15.6 本章小结299
第16章 安全性301
16.1 安全性概述301
16.2 设计安全302
16.2.1 操作302
16.2.2 物理访问303
16.2.3 软件开发303
16.3 安全性的开销305
16.4 最常见的问题306
16.4.1 未经验证的重定向和转发306
16.4.2 传输层保护不足307
16.4.3 限制URL访问失败307
16.4.4 不安全的加密存储308
16.4.5 安全性错误配置308
16.4.6 跨站点请求伪造309
16.4.7 不安全的直接对象引用309
16.4.8 破坏的认证和会话管理310
16.4.9 跨站点脚本310
16.4.10 注入311
16.5 本章小结312
第17章 结束语313
热门推荐
- 3692681.html
- 1098381.html
- 1742904.html
- 1875968.html
- 159495.html
- 2682965.html
- 376918.html
- 851083.html
- 1157081.html
- 291119.html
- http://www.ickdjs.cc/book_1370045.html
- http://www.ickdjs.cc/book_154677.html
- http://www.ickdjs.cc/book_2987844.html
- http://www.ickdjs.cc/book_427864.html
- http://www.ickdjs.cc/book_2382368.html
- http://www.ickdjs.cc/book_888879.html
- http://www.ickdjs.cc/book_2933782.html
- http://www.ickdjs.cc/book_2080256.html
- http://www.ickdjs.cc/book_2478115.html
- http://www.ickdjs.cc/book_1544840.html