软件测试(原书第2版),ISBN:9787111185260,作者:(美)佩腾(Patton,R.) 著,张小松 等译;张小松译
第一部分 软件测试综述
第1章 软件测试的背景 3
1.1 臭名昭著的软件错误用例研究 3
1.1.1 迪斯尼的狮子王,1994—1995 3
1.1.2 英特尔奔腾浮点除法缺陷,1994 4
1.1.3 美国航天局火星极地登陆者号探测器,1999 4
1.1.4 爱国者导弹防御系统,1991 5
1.1.5 千年虫问题,大约1974 5
1.1.6 危险的预见,2004 5
1.2 软件缺陷是什么 6
1.2.1 软件失败的术语 6
1.2.2 软件缺陷的官方定义 7
1.3 为什么会出现软件缺陷 8
1.4 软件缺陷的修复费用 9
1.5 软件测试员究竟做些什么 10
1.6 优秀的软件测试员应具备的素质 10
1.7 小结 11
1.8 小测验 12
第2章 软件开发的过程 13
2.1 产品的组成部分 13
2.1.1 软件产品需要多少投入 13
2.1.2 软件产品由哪些部分组成 16
2.2 软件项目成员 17
2.3 软件开发生命周期模式 18
2.3.1 大爆炸模式 18
2.3.2 边写边改模式 19
2.3.3 瀑布模式 20
2.3.4 螺旋模式 21
2.4 小结 22
2.5 小测验 22
第3章 软件测试的实质 23
3.1 测试的原则 23
3.1.1 完全测试程序是不可能的 23
3.1.2 软件测试是有风险的行为 24
3.1.3 测试无法显示潜伏的软件缺陷 24
3.1.4 找到的软件缺陷越多,就说明软件缺陷越多 25
3.1.5 杀虫剂怪事 25
3.1.6 并非所有软件缺陷都要修复 26
3.1.7 什么时候才叫缺陷难以说清 27
3.1.8 产品说明书从没有最终版本 28
3.1.9 软件测试员在产品小组中不受欢迎 28
3.1.10 软件测试是一项讲究条理的技术专业 28
3.2 软件测试的术语和定义 29
3.2.1 精确和准确 29
3.2.2 确认和验证 30
3.2.3 质量和可靠性 30
3.2.4 测试和质量保证(QA) 30
3.3 小结 31
3.4 小测验 31
第二部分 测试基础
第4章 检查产品说明书 35
4.1 开始测试 35
4.1.1 黑盒测试和白盒测试 36
4.1.2 静态测试和动态测试 37
4.1.3 静态黑盒测试、测试产品说明书 37
4.2 对产品说明书进行高级审查 37
4.2.1 假设自己是客户 38
4.2.2 研究现有的标准和规范 38
4.2.3 审查和测试类似软件 39
4.3 产品说明书的低层次测试技术 39
4.3.1 产品说明书属性检查清单 39
4.3.2 产品说明书术语检查清单 40
4.4 小结 40
4.5 小测验 40
第5 章 带上眼罩测试软件 42
5.1 动态黑盒测试:带上眼罩测试软件 42
5.2 通过性测试和失效性测试 43
5.3 等价类划分 44
5.4 数据测试 46
5.4.1 边界条件 47
5.4.2 次边界条件 49
5.4.3 默认、空白、空值、零值和无 51
5.4.4 非法、错误、不正确和垃圾数据 52
5.5 状态测试 53
5.5.1 测试软件的逻辑流程 54
5.5.2 失败状态测试 57
5.6 其他黑盒测试技术 58
5.6.1 像笨拙的用户那样做 58
5.6.2 在已经找到的软件缺陷的地方再找找 59
5.6.3 像黑客一样考虑问题 59
5.6.4 凭借经验、直觉和预感 59
5.7 小结 59
5.8 小测验 60
第6章 检查代码 61
6.1 静态白盒测试:检查设计和代码 61
6.2 正式审查 62
6.2.1 同事审查 63
6.2.2 走查 63
6.2.3 检验 63
6.3 编码标准和规范 64
6.3.1 编程标准和规范示例 64
6.3.2 获取标准 66
6.4 通用代码审查清单 66
6.4.1 数据引用错误 66
6.4.2 数据声明错误 67
6.4.3 计算错误 67
6.4.4 比较错误 67
6.4.5 控制流程错误 68
6.4.6 子程序参数错误 68
6.4.7 输入/输出错误 68
6.4.8 其他检查 68
6.5 小结 69
6.6 小测验 69
第7章 带上X光眼镜测试软件 70
7.1 动态白盒测试 70
7.2 动态白盒测试和调试 71
7.3 分段测试 72
7.3.1 单元测试和集成测试 72
7.3.2 单元测试示例 74
7.4 数据覆盖 75
7.4.1 数据流 76
7.4.2 次边界 76
7.4.3 公式和等式 77
7.4.4 错误强制 77
7.5 代码覆盖 78
7.5.1 程序语句和代码行覆盖 79
7.5.2 分支覆盖 79
7.5.3 条件覆盖 80
7.6 小结 81
7.7 小测验 81
第三部分 运用测试技术
第8章 配置测试 85
8.1 配置测试综述 85
8.1.1 分离配置缺陷 88
8.1.2 计算工作量 89
8.2 执行任务 90
8.2.1 确定所需的硬件类型 90
8.2.2 确定有哪些厂商的硬件、型号和驱动程序可用 90
8.2.3 确定可能的硬件特性、模式和选项 91
8.2.4 将确定后的硬件配置缩减为可控制的范围 91
8.2.5 明确与硬件配置有关的软件唯一特性 92
8.2.6 设计在每一种配置中执行的测试用例 93
8.2.7 在每种配置中执行测试 93
8.2.8 反复测试直到小组对结果满意为止 93
8.3 获得硬件 93
8.4 明确硬件标准 94
8.5 对其他硬件进行配置测试 95
8.6 小结 95
8.7 小测验 95
第9章 兼容性测试 96
9.1 兼容性测试综述 96
9.2 平台和应用程序版本 97
9.2.1 向后和向前兼容 97
9.2.2 测试多个版本的影响 98
9.3 标准和规范 99
9.3.1 高级标准和规范 99
9.3.2 低级标准和规范 100
9.4 数据共享兼容性 100
9.5 小结 102
9.6 小测验 102
第10章 外国语言测试 103
10.1 使文字和图片有意义 103
10.2 翻译问题 104
10.2.1 文本扩展 104
10.2.2 ASCll、DBCS和Unicode 105
10.2.3 热键和快捷键 105
10.2.4 扩展字符 106
10.2.5 字符计算 106
10.2.6 从左向右和从右向左读 107
10.2.7 图形中的文字 107
10.2.8 让文本与代码脱离 107
10.3 本地化问题 108
10.3.1 内容 108
10.3.2 数据格式 109
10.4 配置和兼容性问题 110
10.4.1 国外平台配置 110
10.4.2 数据兼容性 111
10.5 测试量有多大 112
10.6 小结 113
10.7 小测验 113
第11章 易用性测试 114
11.1 用户界面测试 114
11.2 优秀UI由什么构成 115
11.2.1 符合标准和规范 115
11.2.2 直观 116
11.2.3 一致 117
11.2.4 灵活 117
11.2.5 舒适 118
11.2.6 正确 118
11.2.7 实用 119
11.3 为有残疾障碍的人员测试:辅助选项测试 119
11.3.1 法律要求 120
11.3.2 软件中的辅助特性 120
11.4 小结 122
11.5 小测验 122
第12章 测试文档 123
12.1 软件文档的类型 123
12.2 文档测试的重要性 125
12.3 审查文档时要找什么 126
12.4 文档测试的实质 127
12.5 小结 127
12.6 小测验 127
第13章 软件安全性测试 129
13.1 战争游戏—电影 129
13.2 了解动机 130
13.3 威胁模式分析 131
13.4 软件安全是一项功能吗?软件漏洞是一个缺陷吗 134
13.5 了解缓冲区溢出 134
13.6 使用安全的字符串函数 135
13.7 计算机取证 137
13.8 小结 139
13.9 小测验 139
第14章 网站测试 141
14.1 网页基础 141
14.2 黑盒测试 142
14.2.1 文本 143
14.2.2 超级链接 144
14.2.3 图片 145
14.2.4 表单 145
14.2.5 对象和其他各种简单的功能 145
14.3 灰盒测试 146
14.4 白盒测试 147
14.5 配置和兼容性测试 148
14.6 易用性测试 149
14.7 自动化测试简介 151
14.8 小结 151
14.9 小测验 151
第四部分 测试的补充
第15章 自动测试和测试工具 155
15.1 工具和自动化的好处 155
15.2 测试工具 156
15.2.1 查看器和监视器 156
15.2.2 驱动程序 157
15.2.3 桩 158
15.2.4 压力和负载工具 159
15.2.5 干扰注入器和噪声发生器 159
15.2.6 分析工具 160
15.3 软件测试自动化 160
15.3.1 宏录制和回放 161
15.3.2 可编程的宏 162
15.3.3 完全可编程的自动测试工具 163
15.4 随机测试:猴子和大猩猩 164
15.4.1 笨拙的猴子 165
15.4.2 半聪明的猴子 166
15.4.3 聪明的猴子 166
15.5 使用测试工具和自动化的实质 168
15.6 小结 168
15.7 小测验 169
第16章 缺陷轰炸和beta测试 170
16.1 让别人测试你的软件 170
16.2 测试共享 171
16.3 beta测试 172
16.4 外包测试 173
16.5 小结 173
16.6 小测验 174
第五部分 使用测试文档
第17章 计划测试工作 177
17.1 测试计划的目标 177
17.2 测试计划主题 178
17.2.1 高级期望 178
17.2.2 人、地点和事 179
17.2.3 定义 179
17.2.4 团队之间的责任 180
17.2.5 哪些要测试,哪些不要测试 182
17.2.6 测试的阶段 182
17.2.7 测试策略 182
17.2.8 资源需求 183
17.2.9 测试员的任务分配 183
17.2.10 测试进度 183
17.2.11 测试用例 185
17.2.12 软件缺陷报告 185
17.2.13 度量和统计 185
17.2.14 风险和问题 185
17.3 小结 185
17.4 小测验 186
第18章 编写和跟踪测试用例 187
18.1 测试用例计划的目标 187
18.2 测试用例计划综述 188
18.2.1 测试设计 189
18.2.2 测试用例 191
18.2.3 测试程序 192
18.3 测试用例组织和跟踪 194
18.4 小结 195
18.5 小测验 195
第19章 报告发现的问题 197
19.1 设法修复软件缺陷 198
19.2 分离和再现软件缺陷 200
19.3 并非所有软件缺陷生来就是平等的 202
19.4 软件缺陷的生命周期 203
19.5 软件缺陷跟踪系统 205
19.5.1 标准:测试事件报告 205
19.5.2 手工软件缺陷报告和跟踪 206
19.5.3 自动化软件缺陷报告和跟踪 206
19.6 小结 210
19.7 小测验 211
第20章 成效评价 212
20.1 使用软件缺陷跟踪数据库中的信息 212
20.2 在日常测试中使用的度量 213
20.3 常用项目级度量 216
20.4 小结 220
20.5 小测验 221
第六部分 软件测试的未来
第21章 软件质量保证 225
21.1 质量是免费的 225
21.2 工作现场的测试和质量保证 226
21.2.1 软件测试 226
21.2.2 质量保证 227
21.2.3 软件测试团队的其他名称 228
21.3 测试的管理和组织结构 228
21.4 能力成熟度模型(CMM) 230
21.5 IS0 9000 232
21.6 小结 233
21.7 小测验 233
第22章 软件测试员的职业 234
22.1 软件测试员的工作 234
22.2 寻求软件测试职位 235
22.3 获得亲身体验 236
22.4 正规培训机会 237
22.5 网站 237
22.6 专注于软件和软件质量的专业组织 238
22.7 更进一步阅读 238
22.8 小结 239
22.9 小测验 240
附录A 小测验问题解答 241
《交换技术》系统介绍了交换技术的基本概念和工作原理,着重讨论当前通信网各种基本的交换技术,以循序渐进的方式和比较分析的观
《疯狂XML讲义》主要以XML为核心,深入地介绍了XML的各种相关知识。《疯狂XML讲义》作为疯狂Java体系图书之一,依然保持该体系图
《科学新领域的探索》:美国新墨西哥州洛基山脚下的圣菲研究所离洛斯阿拉莫斯国家实验室(LANL)不远,以研究复杂系统而著称。在
统计表明,所有效率低下的组织都有一个共性:员工没有归属感!有归属感的员工有责任心、有归属感的员工执行力强、有归属感的员
《那些脑洞大开的武器》内容简介:军事装备中有那么一些武器,它们有着奇特的设计、用途或外观,蕴含着设计者的奇思妙想。在这些武
华为技术认证-HCNP路由交换学习指南 本书特色 本书是配套华为HCNP-R&S的学习指导用书,全书共包含14章,内容包括路由基础、RIP、OSPF、IS-IS...
《少年读山海经·千万里江山》内容简介:《山海经》是一部包罗万象的千古奇书,是一座研究古代地理和神话的宝库。“少年读山海经”
博客(blog),这个由“网络日志”(weblog)派生出来的词,早已跳脱了“日志”的范畴,担当起信息传播、情感交流、产品宣传等等职责
《数据化网站运营深度剖析》内容简介:近些年,互联网促进经济迅速发展,越来越多的企业把互联网当作产品营销的重要渠道。网络营销
《创意@东京》从建筑师安藤忠雄的上野国际儿童图书馆与东京大学情报中心到任天堂的感性工学,让我们看到日本设计师对于感性工学的
Likeanyothersoftwaresystem,Websitesgraduallyaccumulate"cruft"overtime.Theyslowdo...
在线文本数据挖掘 算法原理与编程实现 本书特色 本书介绍了互联网环境下文本类型数据的分析方法,探讨了当前主流的文本挖掘技术,以及这些技术在商业环境中的具体应用。...
《深入浅出Ajax(中文版)》和其他深入浅出系列书籍一样,使用许多有趣的视觉刺激来保持我们大脑思考的兴奋。在您读完书中第一章后,
《AdobeDreamweaverCS5中文版经典教程》由Adobe公司的专家编写,是AdobeDreamweavelCS5软件的官方指定培训教材。全书共分为1...
《JavaScript精粹》主要介绍JavaScript应用中一些常见的问题及其解决方法,从最基础的数字、字符串、数组到进阶的DOM、表单验证、
《会话式AI:自然语言处理与人机交互》内容简介:本书从逻辑上看分为三大部分。第一部分(第1~2章)介绍语言理解的基础概念与环境
《当代西方政治哲学》内容简介:本书理论前沿、理路清晰,学术性较强,文风朴实,以当代西方最著名的八位政治哲学家的政治哲学理论
用AngularJS开发下一代Web应用 本书特色 我们都希望开发更小型、更轻量的Web应用,让创建应用更加容易,并且当项目变大时仍然易于测试、扩展和维护。这本...
《第一本心理学漫画书:梦的解析》内容简介:《第一本心理学漫画书:梦的解析》系列漫画是根据弗洛伊德最主要的三部著作《梦的解析
《油画棒宝典:路正先油画棒手绘完全自学教程》内容简介:本书是油画棒绘画的零基础完全自学教程,全书共分4章。第1章是油画棒绘画