图书介绍
程序开发人员测试指南 构建高质量的软件PDF|Epub|txt|kindle电子书版本网盘下载
![程序开发人员测试指南 构建高质量的软件](https://www.shukui.net/cover/4/31301240.jpg)
- (瑞典)亚历山大·塔林德著;朱少民,杨晓慧,欧阳辰,曾乐天译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115480088
- 出版时间:2018
- 标注页数:219页
- 文件大小:44MB
- 文件页数:244页
- 主题词:软件-测试-指南
PDF下载
下载说明
程序开发人员测试指南 构建高质量的软件PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 开发者测试1
1.1 开发者测试1
1.2 开发人员测试活动2
1.2.1 单元测试2
1.2.2 集成测试2
1.2.3 维护2
1.2.4 持续集成3
1.2.5 自动化测试3
1.3 开发人员通常不做什么4
1.4 定义“开发者测试”5
1.5 开发人员测试和开发过程5
1.6 小结6
第2章 测试目标、方式和角色7
2.1 测试和检查7
2.2 测试目标7
2.2.1 批判式测试8
2.2.2 支持式测试8
2.3 测试方式8
2.3.1 传统测试9
2.3.2 敏捷测试10
2.3.3 BDD、ATDD和实例化需求11
2.4 质量保证和开发者测试13
2.5 小结14
第3章 测试术语15
3.1 错误、缺陷、失效15
3.2 白盒测试与黑盒测试16
3.3 测试技术分类16
3.3.1 测试级别17
3.3.2 测试类型19
3.3.3 让测试级别和测试类型发挥作用21
3.4 敏捷测试四象限22
3.5 其他类型的测试23
3.5.1 冒烟测试23
3.5.2 端到端测试24
3.5.3 特性测试24
3.5.4 正面测试和负面测试24
3.5.5 小型、中型和大型测试24
3.6 小结25
第4章 开发者眼中的可测试性26
4.1 可测试的软件26
4.2 可测试性的好处27
4.2.1 功能可被验证27
4.2.2 减少意外28
4.2.3 它可以改变28
4.2.4 为什么要注重可测试性29
4.3 可测试性的定义30
4.3.1 可观察性31
4.3.2 可控制性33
4.3.3 可部署性34
4.3.4 可隔离性35
4.3.5 小规模(smallness)36
4.3.6 单一性36
4.3.7 抽象级别37
4.3.8 效率(efficiency)38
4.3.9 复用38
4.3.10 可测试性的提示38
4.4 小结39
第5章 契约式编程40
5.1 契约形式化约束41
5.2 实现契约式编程42
5.3 强制契约43
5.3.1 断言43
5.3.2 支持契约的类库44
5.3.3 单元测试45
5.3.4 静态分析45
5.4 小结45
第6章 可测试性的驱动者47
6.1 直接输入和输出47
6.2 间接输入和输出48
6.3 状态49
6.4 时序耦合50
6.5 数据类型和可测试性50
6.6 域值比54
6.7 小结55
第7章 单元测试56
7.1 为什么做单元测试?56
7.2 什么是单元测试57
7.3 单元测试框架的生命周期58
7.3.1 测试方法59
7.3.2 测试初始化器和清除59
7.3.3 构造函数和析构函数60
7.4 测试命名60
7.4.1 测试框架的强制规定60
7.4.2 行为驱动的开发方式61
7.4.3 工作单元、测试状态、所期望的行为61
7.4.4 选择一个命名标准61
7.5 测试结构化62
7.6 断言方法63
7.6.1 断言类型63
7.6.2 每个测试有多少断言64
7.6.3 断言冗长65
7.6.4 断言等式66
7.6.5 限制和匹配器67
7.7 测试异常70
7.8 行为驱动开发方式的框架72
7.8.1 测试结构72
7.8.2 命名测试73
7.8.3 匹配器74
7.9 小结75
第8章 基于规格说明的测试76
8.1 等价类划分76
8.2 边界值分析78
8.3 典型数据类型的边缘用例和其他测试用例79
8.3.1 数字79
8.3.2 字符串79
8.3.3 日期和时间80
8.3.4 集合80
8.4 状态转移测试81
8.5 决策表82
8.6 小结83
第9章 依赖关系84
9.1 对象间依赖关系84
9.1.1 传入协作者85
9.1.2 使用工厂方法86
9.1.3 提供一个外部工厂或者生成器87
9.2 系统资源依赖关系89
9.2.1 文件89
9.2.2 提供你自己的抽象89
9.2.3 测试由I/O操作处理过的数据90
9.2.4 系统时钟91
9.2.5 其他系统资源依赖关系92
9.3 层间依赖关系92
9.4 跨层级依赖关系94
9.5 小结95
第10章 数据驱动和组合测试96
10.1 参数化测试98
10.2 Theories99
10.3 生成式测试101
10.3.1 验证结果102
10.4 组合测试103
10.4.1 单模式故障104
10.4.2 双模式故障105
10.4.3 双模式故障和所有成对变量之外106
10.5 小结106
第11章 准单元测试107
11.1 实例107
11.1.1 使用内存数据库的测试108
11.1.2 测试专用的邮件服务器108
11.1.3 使用轻量级容器的测试109
11.1.4 Web服务测试110
11.2 影响111
11.3 小结112
第12章 测试替身113
12.1 桩对象113
12.1.1 桩对象的灵活性114
12.1.2 用桩对象来避免副作用115
12.2 伪对象116
12.3 模拟对象117
12.3.1 验证间接输出117
12.3.2 验证间接输入转换121
12.4 探针122
12.5 哑对象123
12.6 验证状态还是行为124
12.6.1 状态验证124
12.6.2 行为验证125
12.6.3 参数125
12.7 小结126
第13章 模拟框架127
13.1 创建测试替身127
13.2 设置预期128
13.3 验证交互行为131
13.4 误用、滥用和其他陷阱133
13.4.1 过度验证133
13.4.2 模拟具体类134
13.4.3 模拟有价值的类135
13.4.4 Mock返回Mock135
13.5 小结135
第14章 测试驱动开发——经典风格137
14.1 测试驱动一个简单的搜索引擎137
14.1.1 测试1:发现API138
14.1.2 测试2:主逻辑路径(Happy Path)139
14.1.3 测试3:多文件索引140
14.1.4 测试4:更复杂的文件141
14.1.5 测试5:在多文件中找到单词141
14.1.6 测试6:消除重复的匹配(Matches)142
14.1.7 测试7:引入排序143
14.1.8 测试8:忽略大小写145
14.1.9 测试9:处理标点符号146
14.2 测试的顺序147
14.3 红色到绿色状态条的策略147
14.4 挑战148
14.4.1 我们的代码无法被测试149
14.4.2 我们的代码很特殊150
14.4.3 测试驱动开发不是完整的测试150
14.4.4 从零开始150
14.5 测试最先还是最后151
14.6 小结151
第15章 测试驱动开发——Mockist风格153
15.1 一种不同的方法153
15.1.1 测试驱动用户注册154
15.1.2 增加更多测试158
15.2 双环TDD159
15.2.1 另一个反馈环159
15.2.2 关闭周期160
15.3 小结160
第16章 复制161
16.1 复制的坏处161
16.2 利用复制的好处162
16.3 机械复制163
16.3.1 拷贝、粘贴163
16.3.2 块拷贝、粘贴163
16.3.3 构造函数拷贝、粘贴164
16.3.4 方法复制165
16.4 知识复制166
16.4.1 不同方法中的类似功能167
16.4.2 功能相似的类167
16.4.3 竞争性实现168
16.4.4 竞争性领域模型168
16.5 小结169
第17章 使用测试代码170
17.1 测试代码中的注释170
17.2 删除测试用例173
17.2.1 需要被删除的主要候选者173
17.2.2 需要被删除的可能候选者174
17.2.3 删除测试用例的重要性174
17.3 小结175
第18章 超越单元测试176
18.1 单元测试以外的测试176
18.1.1 封装在事务内的测试176
18.1.2 需要使用服务或组件的测试178
18.1.3 需要与其他系统交互的测试179
18.1.4 通过UI运行的测试181
18.1.5 需要调用一个系统的测试183
18.1.6 更多内容184
18.2 单元测试不具备的特征185
18.2.1 复杂性186
18.2.2 稳定性186
18.2.3 缺陷定位187
18.2.4 性能187
18.2.5 环境依赖性188
18.2.6 目标受众188
18.3 实践指南189
18.3.1 测试的独立性189
18.3.2 配置189
18.3.3 验证191
18.3.4 利用测试替身191
18.3.5 决定开发者测试策略192
18.4 小结193
第19章 测试思路与启发式194
19.1 高层注意事项194
19.1.1 测试有效性194
19.1.2 测试配方194
19.1.3 抽象级别及其细节195
19.1.4 原型195
19.1.5 可信来源(结果判断依据)196
19.2 低层注意事项196
19.2.1 0-1-n196
19.2.2 空值(null)196
19.2.3 范围196
19.2.4 集合196
19.2.5 异常和错误197
19.2.6 数字197
19.2.7 字符串197
19.2.8 日期197
19.3 小结198
附录A 工具和库199
附录B 源代码201
词汇表209
后记:忘却测试是为了更好的开发216