每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

633 阅读4分钟

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

内容简介

本书讲述如何对所有的软件进行轻松的例行测试,书中为读者提供一些工具——一些实现模式,这些工具几乎可以测试任何代码。

《优质代码软件测试的原则、实践与模式》

目录

第一部分(第1~5章)讨论了测试的一些原则和实践,包括首次优质、代码意图、测试攻略和测试与设计之间的关系等;

 第1章 工程、匠艺和首次优质
1.1工程与匠艺
1.2 匠艺在首次优质中的作用
1.3 支持软件匠艺的实践 测试
1.4 在代码检查器的约束下进行单元测试
1.5 针对覆盖率的单元测试

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第2章 代码的意图
2.1 意图都被放到哪里去了?
2.2 将意图与实现分离
2.3 一个能引发思考的简单例子

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第3章 从哪里开始
3.1 一种测试的方法
3.1.1 了解范围
3.1.2 测试的概念框架
3.1.3 状态和行为测试
3.1.4 测试还是不测试
3.2 攻略
3.2.1 测试"正常路径"
3.2.2 测试替代路径
3.2.3 测试错误路径
3.2.4 测试数据的排列组合
3.2.5 对缺陷进行测试

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第4章 设计和可测试性
4.1 关于设计范型
4.2 封装和可观察性
4.2.1 表示性的封装
4.2.2 行为的封装
4.2.3 测试的灰度
4.2.4 封装、可观察性和可测试性
4.3 耦合和可测性

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第5章 测试的原则
5.1 把测试雕琢好
5.1.1 将输入关联到输出
5.1.2 使用命名约定
5.2 避免在生产代码内出现测试代码
5.3 通过实现来验证意图
5.4 将耦合最小化
5.5 要最小的、新的和瞬态fixture
5.6 利用现有设施
5.7 要完整的验证而不要部分的验证
5.8 编写小测试
5.9 分离关注点
5.10 使用唯一值
5.11 保持简单:删除代码
5.12 不要测试框架 不要测试生成的代码
5.13 有时测试框架

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第二部分(第6~13章)讨论了有关测试实践方面的一些模式,包括测试构造器和getter/setter、处理字符串、封装与覆写、调整代码可见性、测试单例模式、验证错误条件,以及利用各种接缝和测试多线程等;

第6章 基础知识
6.1 bootstrapping构造器
6.2 测试简单的getter和setter
6.3 共享常量
6.4 在局部重新定义
6.5 暂时替换
6.6 封装和覆写
6.7 调整可见性
6.8 通过注入的验证

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第7章 字符串处理
7.1 通过包含关系来验证
7.2 通过模式来验证
7.3 通过值来精确验证
7.4 使用格式化的结果来精确验证

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

 第8章 封装和覆写变化
8.1 数据注入
8.2 封装循环条件
8.3 错误注入
8.4 替换协作者
8.5 使用现有的无操作类

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第9章 调整可见性
9.1 用包来包装测试
9.2 将其分解
9.3 更改访问级别
9.4 仅用于测试的接口
9.5 命名那些尚未命名的
9.6 变为friend
9.7 通过反射来强制访问
9.8 声明范围变更

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第10章 间奏:重温意图
10.1 测试单例模式
10.2 单例的意图
10.3 测试的策略
10.3.1 测试单例的性质
10.3.2 对类的目的进行测试
10.4 独具慧眼的意图

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第11章 错误条件验证
11.1 检查返回值
11.2 验证异常类型
11.3 验证异常消息
11.4 验证异常有效载荷
11.5 验证异常实例
11.6 有关异常设计的思考

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第12章 利用现有接缝
12.1 直接调用
12.1.1 接口
12.1.2 实现
12.2 依赖注入
12.3 回调、观察者、监听者和通告者
12.4 注册表
12.5 工厂
12.6 日志记录与最后一手的其他设施

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第13章 并行性
13.1 线程和竞态条件的简介
13.1.1 一些历史
13.1.2 竞态条件
13.1.3 死锁
13.2 一个用于重现竞态条件的策略
13.3 直接测试线程的任务
13.4 通过常见锁来进行同步
13.5 通过注入来同步
例子:通过日志记录来注入同步
13.6 使用监督控制
13.7 统计性的验证
13.8 调试器API

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第三部分(第14~15章)展示了两个实例的编程过程,其中一个是用测试驱动开发方法编写新的Java应用程序WebRetriever,另一个是为一个未写测试的JavaScript开源项目jQuery Timepicker Addon添加测试代码。

第14章 测试驱动的Java
14.1 bootstrapping
14.2 首要功能
14.3 切断网络连接
14.4 转移到处理多个网站的情况
14.5 幽灵协议
14.5.1 死胡同
14.5.2spy手艺
14.6 执行选项
14.7 走向下游
14.8 回顾

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

第15章 遗留的JavaScript代码
15.1 准备开始
15.2 DOM的统治
15.3 在牙膏与测试之上
15.4 向上扩展
15.5 软件考古学
15.6 回顾

每日一书:《优质代码软件测试的原则、实践与模式》PDF高清版

总结

作为一名测试工程师要自己拥有核心竞争力,努力提升自己是关键,而如何提升,就需要看自己个人的学习习惯了。

最后只想说,学习不会辜负任何人,《优质代码软件测试的原则、实践与模式》