第1章 软件测试现状 1
1.1 历史的回顾 3
1.1.1 20世纪80年代:蓝色巨人(Big Blue)和大铁家伙(Big Iron)统治的时代 3
1.1.2 20世纪90年代:PC将计算带到“每个桌面” 3
1.1.3 走进Web时代 5
1.1.4 目前的金融气候 6
1.1.5 此时你想到了什么?最佳方法没有改变 8
1.2 当今测试人员所面临的挑战 8
1.2.1 没有规格说明就没有测试 9
1.2.2 市场第一:迫于市场或企业压力而忽略测试 10
1.2.3 缺乏训练有素的测试人员 11
1.2.4 标准减少了对测试的需求 12
1.3 小结 15
第2章 软件测试环境中的质量保证 17
2.1 这一段场景的问题出在哪里 17
2.2 传统的质量保证存在的问题 18
2.2.1 质量的传统定义不适用了 19
2.2.2 有关质量的一些谬误 20
2.3 什么是不可行的:控制质量的传统工具 23
2.3.1 传统QA和测试工具已不能满足要求 24
2.3.2 关于纸质文档的问题 24
2.4 解决方案:改进质量过程 25
2.4.1 在你的环境中为质量选择正确的构成 25
2.4.2 正确选择适合你的开发环境的质量控制工具 26
2.5 小结 31
第3章 管理软件测试的方法 33
3.1 碰运气(I-feel-lucky)软件开发方法 33
3.2 关于艺术、科学和软件的一些说法 34
3.2.1 关于艺术的说法 35
3.2.2 关于科学的说法 35
3.2.3 关于软件的说法 36
3.3 工程方法 37
3.3.1 可审计性和履行职责 37
3.3.2 如何确定安全系数 40
3.4 集成和测试的折衷方法:艺术和工程的平衡 43
3.5 目前的测试策略 47
3.5.1 自顶向下宽度集成测试 47
3.5.2 定位测试组的组织策略 48
3.6 最佳方法 51
3.7 小结 52
第4章 最重要测试(MIT)方法 55
4.1 MIT概述 55
4.1.1 MIT能做什么 56
4.1.2 MIT是如何工作的 56
4.1.3 如何用MIT获得成功 58
4.2 MIT方法的步骤 59
4.3 现实世界的例子:重型、中型和轻型开发工作 64
4.3.1 项目概述 65
4.3.2 集成整个系统 71
4.4 小结 72
第5章 软件测试度量基础 73
5.1 度量和度量元 74
5.1.1 手工艺:艺术和工程之间的结合 74
5.1.2 可操作性定义:基础度量 74
5.2 在软件测试中如何度量 75
5.2.1 基本测试度量:它有多大 76
5.2.2 错误 78
5.2.3 度量测试工作的度量元 82
5.2.4 测试它的开销是多少 85
5.2.5 衡量效果的度量:它值得吗 85
5.3 小结 87
第6章 测试说明 89
6.1 目标:成功的测试工作 89
6.2 计划适当的测试:测试多少算充分 90
6.3 确定测试范围:它有多大 92
6.3.1 单元测试 93
6.3.2 一个测试脚本:多种测试类型 94
6.3.3 使用历史数据评估工作 95
6.4 使用测试说明的理由 97
6.5 测试说明中的测试来源 98
6.5.1 基于需求的测试 99
6.5.2 分析技术 99
6.5.3 非分析方法 102
6.6 小结 103
第7章 如何构建测试说明 105
7.1 从需求入手 105
7.1.1 结构RAD项目的测试说明示例 106
7.1.2 一个Web项目的初始测试说明 112
7.2 确定并列出测试环境 113
7.2.1 测试一个大型系统 114
7.2.2 测试多种环境 116
7.3 增加细节和步骤层次 117
7.3.1 会谈:需要准备什么和如何准备 118
7.3.2 执行会谈 121
7.3.3 分析结论:所得教训 123
7.3.4 准备按你所学地行动 124
7.4 小结 127
7.5 进一步的研究 128
7.5.1 产品A 128
7.5.2 产品B 129
第8章 测试说明自动化工具 131
8.1 测试说明的展开 133
8.1.1 简要过程 133
8.1.2 PowerPoint中的测试说明 134
8.1.3 文档中的测试说明 136
8.1.4 电子表格中的测试说明 142
8.1.5 高功能网站中的测试说明 144
8.2 小结 147
第9章 风险分析 149
9.1 风险分析过程概述 150
9.2 风险分析的益处 151
9.2.1 确保正确的测试工作重点 151
9.2.2 公开测试人员的假设 151
9.2.3 通过其他组受益来提高重用性 152
9.2.4 为测试工作提供强有力的项目管理工具 152
9.3 项目管理策略及风险 155
9.4 MIT风险分析 157
9.4.1 定量和定性分析 158
9.4.2 MIT等级索引 158
9.4.3 MIT等级准则 160
9.4.4 在辩论中使用风险等级 163
9.5 案例研究:401(k)Web项目 163
9.5.1 应用程序 164
9.5.2 我的测试 164
9.5.3 报告我的测试结果 164
9.5.4 计算测试的价值 165
9.5.5 关于这个项目的一些想法 166
9.6 小结 166
第10章 风险分析应用 169
10.1 在测试说明中应用风险分析 170
10.1.1 测试评估过程 171
10.1.2 MIT总计工作表 173
10.1.3 规划工作表 176
10.1.4 协调测试工作 181
10.1.5 不要忽视开发人员修正错误 182
10.1.6 测试合同 183
10.2 选择测试的风险准则 184
10.2.1 确认和验证系统需求 184
10.2.2 检查系统中最重要的功能 185
10.2.3 检查最重要的路径和数据 185
10.2.4 重点投资 185
10.3 小结 186
第11章 路径分析 187
11.1 弥诺陶洛斯迷宫的传说 187
11.1.1 线性无关 191
11.1.2 case语句 192
11.1.3 一连串判定语句 195
11.2 计算通过一个系统的路径数 199
11.2.1 什么是逻辑流程图 200
11.2.2 用于计算路径的方程式 202
11.3 小结 205
11.4 为进一步探索而提出的路径分析的例子 206
第12章 路径分析应用 209
12.1 通过深度理解校正问题:这一切如何开始 209
12.1.1 显示类比的游戏 210
12.1.2 获取地图 211
12.2 分而治之 214
12.3 未经计算的路径 215
12.4 快速建立路径测试评估 215
12.4.1 步骤1:建立一张系统的菜单图 216
12.4.2 步骤2:计算系统中所有的菜单选项 216
12.4.3 步骤3:对于每一个菜单选项计算异常 219
12.4.4 步骤4:为系统建立逻辑流程图 220
12.4.5 步骤5:记录路径 225
12.5 路径与数据依赖 226
12.6 小结 227
第13章 数据分析技术 229
13.1 测试用户的数据输入(GUI) 229
13.1.1 数据依赖路径 230
13.1.2 关于出错信息的一些想法 230
13.2 边界值分析 231
13.2.1 边界值分析实例 231
13.2.2 矩阵数据缩减技术 235
13.2.3 自底向上构造足够的数据集的过程 239
13.3 告诫 241
13.3.1 隐藏边界 241
13.3.2 Web服务 242
13.4 小结 243
第14章 分析的收获与将来的储备 245
14.1 测试:下一代 248
14.1.1 协同 248
14.1.2 移动计算 249
14.1.3 MIT方式及下一代 249
14.1.4 挑战 250
附录A 练习题答案 253
附录B 软件测试问卷、调查及结果 259
B.1 制定你的基准 259
B.2 测试问卷 259
B.3 商用软件测试水平状况 262
B.3.1 书面调查 263
B.3.2 口头调查 263
B.4 研讨会评估结果 263
B.5 书面测试调查结果 264
B.5.1 被调查者的组成 264
B.5.2 教育 265
B.5.3 测试活动 265
B.5.4 使用度量的类型 266
B.5.5 使用的正规方法类型 266
B.5.6 测试自动化 266
B.5.7 常用测试术语 267
B.5.8 意识到调查的不足 267
B.6 口头调查结果 267
B.7 来自调查的结论 268
附录C 测试参考样例和模板 269
C.1 描述访谈过程样例 269
C.1.1 高级访谈(持续15~30分钟) 270
C.1.2 中级访谈(持续30~60分钟) 270
C.2 项目说明及测试问卷访谈样例 271
参考文献 273
术语表 277