出版社:清华大学出版社
年代:2008
定价:25.0
本书是关于软件和系统测试的书,涵盖了有效和高效的测试专业人员进行工作所需要的策略、技术和概念。
第一部分 目标、策略和战术
第1章 实用意味着什么 2
1.1 你想有什么样的效果 2
1.2 什么是高效性的正确级别 3
1.2.1 避免冗余 3
1.2.2 控制费用 3
1.2.3 软件测试不是(但是经常被误认为是)什么 4
1.3 测试者认知的5个阶段 5
1.4 测试的其他基本观点 6
1.5 将测试作为质量风险管理的一种形式 6
1.6 测试团队到底是干什么的 7
第2章 三角形测试练习 9
2.1 练习:三角形测试 9
2.2 你的三角形测试解答 9
2.3 作者的三角形测试解答 10
第3章 测试与项目的协调 13
3.1 为什么要进行测试 13
3.2 测试的视角 13
3.3 在上下文环境中测试 14
3.4 常见的测试阶段和目标 14
3.5 贯穿组织的测试 15
3.6 V模型 16
3.7 演化式和增量式模型 18
3.8 螺旋模型 18
3.9 遗憾的常用模型:编码和修正 19
3.10 测试维护性发布 20
3.11 系统集成 20
3.12 硬件开发和软件开发 22
3.13 测试过程 22
第4章 理解测试策略、战术和设计 24
4.1 让任务、策略和战术保持协调 24
4.2 分析的测试策略 25
4.3 基于模型的测试策略 25
4.4 系统的测试策略 26
4.5 面向过程的测试策略 26
4.6 动态测试策略 27
4.7 哲学的测试策略 28
4.8 回归 28
4.8.1 回归策略1:重复所有测试 29
4.8.2 回归策略2:重复一些测试 30
4.9 其他3种回归策略 31
4.10 战术:测试技术类别 31
4.11 策略与战术方面的考虑 33
4.12 测试系统 34
4.13 测试设计的经典原则 35
4.14 测试开发的阶段 36
4.15 测试策略、战术和设计的提要 37
第二部分 基于风险的测试
第5章 理解系统质量的风险 40
5.1 测试风险分类 40
5.1.1 功能 41
5.1.2 性能和可靠性 41
5.1.3 压力、容量和规模 43
5.1.4 状态 43
5.2 事务 44
5.2.1 安装和卸载 45
5.2.2 操作 45
5.2.3 维护和可维护性 46
5.3 回归 46
5.3.1 可用性和用户界面 47
5.3.2 数据质量 47
5.3.3 错误和灾难处理以及恢复 48
5.3.4 日期和时间处理 49
5.3.5 本地化 50
5.3.6 配置和兼容性 51
5.3.7 联网的、Internet上的和分布式的 51
5.3.8 符合标准和法规 51
5.3.9 安全 52
5.3.10 计时和协同 52
5.3.11 文档 53
5.4 你能想到其他质量风险吗 53
第6章 协调测试和质量风险 54
6.1 为系统质量风险划分优先级 54
6.2 测试、客户使用和系统配置 55
6.3 质量风险分析的方法 56
6.4 非正式的质量风险分析 57
6.5 风险分析的小技巧 60
6.6 风险分析的挑战 61
第7章 质量风险分析练习 63
7.1 我的解答 63
7.2 关于我的解答的评论 66
7.3 在迈向质量风险的途中我遇见了一件有趣的事 67
7.4 额外练习 69
7.5 模板 69
7.6 我的解答 72
7.7 对我的解答的评论 73
7.8 额外范例:“灰和蓝”质量风险分析 74
第三部分 静态测试
第8章 复审和其他静态测试 78
8.1 测试需求和设计 78
8.2 复审的开销和收益 78
8.3 复审的类型 79
8.4 为验证和确认而复审 79
8.5 将复审作为一种改进过程、改进系统、节约开销的手段 80
8.6 关于静态测试三个问题的答案 82
8.7 复审作为一种取得共识和理解的手段 82
8.8 复审过程、角色和责任 83
8.9 来自复审的交付品和基本章程 84
8.10 常见的需求和风险缺陷 85
8.11 复审(和测试)文档 86
8.12 其他静态测试 87
第9章 复审练习 88
9.1 复审 88
9.2 你的解答 88
9.3 我的解答 90
9.4 对我的解答的评论 93
9.5 额外练习:复审三角形需求首页 93
9.6 你所找到的需求缺陷 94
9.7 我的解答:需求缺陷 97
9.8 对我的解答的评论 98
第四部分 行为测试
第10章 等价类和边界值 100
10.1 等价性划分 100
10.2 边界值分析 101
10.2.1 整数 102
10.2.2 实数 103
10.2.3 字符和字符串 104
10.2.4 日期 107
10.2.5 时间 108
10.2.6 货币 109
10.2.7 功能之外的类和边界 110
第11章 等价类和边界值练习 111
11.1 功能性边界和类 111
11.2 我的解答和评论 112
11.3 非功能的边界和类 116
11.3.1 Omninet市场需求文档(v0.3) 116
11.3.2 Omninet系统需求文档(v0.2) 117
第12章 用况、实况数据和决策表 118
12.1 用况和场景测试 118
12.2 名词与动词、形容词与副词 120
12.3 实况数据和客户测试 120
12.4 决策表 121
第13章 决策表练习 123
13.1 决策表测试 123
13.2 我的解答和评论 124
13.3 决策表和边界值 126
13.4 我的解答和评论 127
13.5 为测试建立一个决策表 131
13.6 我的解答和评论(业务规则是互斥的) 132
第14章 状态转换图 136
14.1 使用状态转换图描述具有状态的系统 136
14.2 状态表 137
14.3 打印服务器状态转换图 138
第15章 状态转换图练习 140
15.1 自助服务机状态 140
15.2 我的解答和评论 140
15.3 ATM状态模型 146
15.4 我的解答和评论(ATM状态模型) 147
15.5 “灰和蓝”状态转换图 148
15.6 我的解答和评论(状态转换图) 149
第16章 域测试 151
16.1 组合的爆炸式剧增 151
16.2 使用飞行里程计划的域例子 152
16.3 可能的域测试值 153
16.4 一个航空例子 154
16.5 当域规则变化时 155
16.6 域分析总结 155
16.7 复杂的域测试例子 156
16.8 复杂域的一个通用规则 158
第17章 域测试练习 161
17.1 我的解答和评论 161
第18章 正交表和所有对值 164
18.1 组合的爆炸式剧增 164
18.2 正交表和所有对值表 165
18.3 两个正交表 166
18.4 选择一个正交表 167
18.5 将正交表运用到一个复杂的真实世界例子中 167
18.6 所有对值表 178
18.7 配置测试上的其他观点 179
第19章 正交表练习 181
19.1 我的解答和评论 182
第20章 反应测试 185
20.1 反应测试的基本事实 185
20.2 错误猜测、攻击和缺陷归类 186
20.3 缺陷围猎 187
20.4 探索式测试 187
20.5 清单 188
20.6 其他反应测试的灵感来源 189
20.7 优点和缺点 190
20.8 探索式测试的一个案例研究 191
第五部分 结构测试
第21章 控制流测试 196
21.1 代码覆盖 196
21.2 McCabe圈复杂度 198
第22章 控制流测试练习 200
22.1 我的解答和评论 201
22.1.1 理解潜在的测试用况的数量 201
22.1.2 为语句、分支、条件和循环的全覆盖创建一套测试用况集 201
22.1.3 计算McCabe复杂性,写出基本路径,并创建基本测试 202
第23章 数据流测试 205
第24章 数据流测试练习 207
24.1 我的解答和评论 208
第25章 集成测试 214
25.1 驱动和桩 214
25.2 集成技术 215
25.3 主干集成 217
25.4 集成的McCabe基本路径 218
25.5 增强的十六进制转换器程序 220
25.6 调用流 222
第26章 集成基本测试练习 225
26.1 我的解答和评论 225
第六部分 附 录
附录A Omninet市场需求文档 230
A.1 范围 230
A.1.1 术语、缩写和简称 230
A.1.2 适用文档 231
A.2 发布时间要求 231
A.3 需求描述 231
A.3.1 通用的技术需求 231
A.3.2 管理 232
附录B Omninet系统需求文档 235
B.1 系统功能需求 235
B.2 系统可靠性需求 237
B.3 可用性需求 238
B.4 系统高效性需求 239
B.5 系统维护性需求 240
B.6 可移植性系统需求 240
B.7 设计模型 241
B.7.1 Omninet系统架构 241
B.7.2 付费处理决策表 241
B.7.3 自助服务机模块流 242
B.7.4 自助服务机状态转换图 242
B.7.5 自助服务机状态转换表 243
B.7.6 自助服务机操作系统/
浏览器/连接速度配置的正交表 243
附录C 书目和其他推荐阅读材料 245
《软件测试实践:成为一个高效能的测试专家》包括11个完整章节,以真实而原汁原味的练习来展示所有主要的测试技术,以及具体的解决方案 。哪怕是测试一个简单的系统,也可能会是一个旷日持久的任务。在经费和进度紧张的情况下,测试者需要使用实用的技术,亲自实践的经验和正确的策略来有效而高效地进行软件测试。 《软件测试实践:成为一个高效能的测试专家》将会把这些内容交到你的手中。通过一系列表述完好,清晰透彻而实用的章节,你将掌握对软件测试至关重要的技能。 如何分析系统的质量风险,并根据风险的级别来恰当地安排你的测试工作。 不同的测试策略,以及每次如何选择正确的测试策略,包括选择处理回归测试的高效策略。 如何基于系统的预期行为来设计(黑盒)测试,包括边界值(boundary value)、等价性划分( equivalence partitioning)、决策表(decision table)、用况(use case)、状态转换图表(state diagram and table)、所有对值表 (all-pairs table)、正交表(orthogonal arrays),以及域分析(domain analysis)。 如何基于一个系统的内部结构来设计(白盒)测试,包括代码覆盖等级、数据流覆盖和基本路径覆盖。 如何规划和执行集成测试。 如何使用你的直觉、经验和知识去探测和攻击系统。 如何让你的辛勤工作服务于项目的需要。 如果你从来没有读过一本关于测试设计的书,如果你已经读过其他的测试设计的书却发现它们很难付诸实施,如果你已经读过某本测试设计的书却发现它在事情变得真正有意思的时候就嘎然而止,那么这《软件测试实践:成为一个高效能的测试专家》就是为你写的。读完《软件测试实践:成为一个高效能的测试专家》后,你学到的关于测试的具体技巧会比多数测试人员在其整个职业生涯中学到的还要多,你将会胸有成竹地把这些知识运用到你下一个测试项目中去。
《软件测试实践:成为一个高效能的测试专家》的叙述简明清晰,可操作性强,并且提供了大量有价值的练习以供实践。《软件测试实践:成为一个高效能的测试专家》适合从事软件测试与软件开发的IT从业人员或者高等院校计算机专业的高年级本科生以及研究生阅读。