图书介绍
软件测试技术大全 测试基础 流行工具 项目实战pdf电子书版本下载
- 陈能技,黄志国编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115397874
- 出版时间:2015
- 标注页数:556页
- 文件大小:105MB
- 文件页数:574页
- 主题词:软件工具-测试技术
PDF下载
下载说明
软件测试技术大全 测试基础 流行工具 项目实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 软件测试的基础 1
第1章 软件测试行业 1
1.1软件测试的起源 2
1.1.1第一个Bug的故事 2
1.1.2几个导致严重错误的Bug 3
1.1.3软件测试的起因 3
1.2软件测试的发展 3
1.2.1软件调试 4
1.2.2独立的软件测试 4
1.2.3软件测试的第一次定义 4
1.2.4软件测试成为专门的学科 5
1.2.5开发与测试的融合趋势 5
1.2.6为什么软件测试发展比较缓慢 5
1.3软件测试行业的现状和前景 6
1.3.1国内测试行业现状 6
1.3.2测试人员的现状 7
1.3.3软件测试的前景 8
1.4小结 8
1.5新手入门须知 9
1.6模拟面试问答 9
第2章 软件测试的组织 11
2.1测试的组织形式 12
2.1.1微软的经验教训 12
2.1.2最简单的软件测试组织 12
2.1.3组织形式的分类方式 13
2.1.4综合型的测试组织 14
2.2融入测试组织 15
2.2.1根据开发的模式判断自己的测试角色定位 15
2.2.2“支持编码”的测试与“批判产品”的测试 17
2.2.3“面向业务”的测试与“面向技术”的测试 17
2.2.4测试的划分对敏捷项目开发的重要性 18
2.2.5如何融入一个项目团队 18
2.2.6快速融入项目团队的技巧 19
2.2.7尽快投入测试工作的技巧 19
2.3软件测试的团队建设 19
2.3.1学习型团队的组建 19
2.3.2让每一位测试人员找到适合自己的位置 20
2.3.3“无规矩则不成方圆” 21
2.3.4测试规范 21
2.3.5部门制度 22
2.4小结 23
2.5新手入门须知 23
2.6模拟面试问答 23
第3章 软件测试的人员要求 25
3.1测试人员的素质要求 26
3.1.1你对测试感兴趣吗 26
3.1.2你有适合做软件测试的性格特征吗 27
3.1.3好奇心 27
3.1.4成就感 28
3.1.5消极思维 29
3.1.6全面的思维能力 29
3.1.7测试的正确态度 29
3.1.8责任感 30
3.1.9压力 30
3.2测试人员的技能要求 31
3.2.1业务知识 31
3.2.2产品设计知识 32
3.2.3测试人员需要了解软件架构知识 32
3.2.4测试人员需要了解统一建模语言(UML) 32
3.2.5测试人员的“武器” 33
3.2.6测试人员需要掌握的测试工具 33
3.2.7测试人员需要掌握开发工具吗 34
3.2.8用户心理学 34
3.2.9界面设计中的3种模型 34
3.2.10人机交互认知心理学 35
3.2.11测试人员是否需要编程技能 35
3.2.12掌握编程技能的好处 35
3.2.13脚本语言 36
3.2.14文档能力 39
3.3小结 40
3.4新手入门须知 40
3.5模拟面试问答 41
第2篇 软件测试必备知识 42
第4章 软件工程与软件测试 42
4.1软件工程简介 43
4.1.1什么是软件工程 43
4.1.2软件的生命周期 43
4.1.3软件工程的研究领域 43
4.1.4软件工程的发展历史 44
4.1.5软件工程化概念的提出 44
4.1.6“软件工厂” 44
4.1.7软件过程管理 45
4.1.8软件过程相关方法和工具 45
4.1.9软件工程发展的新趋势 46
4.1.10软件工程的目的 46
4.2软件开发模式 47
4.2.1常见的软件开发模式 47
4.2.2线性模型 47
4.2.3渐进式模型 48
4.2.4变换模型 49
4.2.5软件开发模式的发展 49
4.2.6 RUP的历史 49
4.2.7 RUP过程模型下的软件测试 50
4.2.8 RUP工具 51
4.2.9“重型”过程VS.“轻量”过程 51
4.2.10敏捷运动 52
4.2.11极限编程(XP) 52
4.2.12 XP中的软件测试 54
4.2.13 XP工具 54
4.3不同软件开发模式下的软件测试 54
4.3.1 CMM和ISO中的软件测试 54
4.3.2 CMM与软件测试 54
4.3.3 ISO与软件测试 55
4.3.4敏捷开发中的软件测试 56
4.4小结 57
4.5新手入门须知 57
4.6模拟面试问答 58
第5章 软件配置管理与软件测试 61
5.1软件配置管理的应用 62
5.1.1什么是配置管理 62
5.1.2实施软件配置管理的好处 63
5.1.3配置管理计划 63
5.1.4配置标识 64
5.1.5变更控制 65
5.1.6配置状态记录和报告 66
5.1.7配置审计 66
5.1.8配置管理的自动化 66
5.1.9进度控制与软件测试 67
5.1.10变更控制与软件测试 67
5.1.11配置管理与软件测试 68
5.2 VSS的安装和使用 68
5.2.1 VSS简介 68
5.2.2 VSS的安装 69
5.2.3创建VSS数据库 69
5.2.4创建VSS项目Project 69
5.2.5 VSS备份 69
5.3 SVN的安装和使用 70
5.3.1 SVN的基本原理 70
5.3.2 SVN的下载与安装 71
5.3.3创建资源库 71
5.3.4运行SVN服务 72
5.3.5用户授权 72
5.3.6导入项目 73
5.3.7检出项目 73
5.3.8用add命令添加文件 74
5.3.9用commit命令提交文件 74
5.3.10用update命令更新文件 74
5.3.11将SVN服务注册为系统服务 74
5.3.12远程客户端访问 75
5.3.13目录访问权限控制 75
5.4 Git的安装和使用 76
5.4.1 Git简介 76
5.4.2安装Git 77
5.4.3远程仓库 77
5.4.4分支管理 78
5.4.5标签管理 78
5.5小结 79
5.6模拟面试问答 79
第6章 软件质量与软件测试 81
6.1软件质量属性 82
6.1.1质量的3个层次 82
6.1.2软件质量模型 83
6.2软件质量保证与软件测试 83
6.2.1 SQA与软件测试 84
6.2.2 SQA与项目组各成员之间的关系 84
6.2.3 SQA组织 84
6.2.4 SQA的工作内容 85
6.2.5 QA与QC的区别 85
6.3质量保证体系建设 86
6.3.1 ISO 9000质量管理体系与八项质量管理原则 86
6.3.2 ISO 9000质量管理体系的建立过程 87
6.3.3 CMM质量管理体系与过程改进 87
6.3.4结合PSP、TSP建立CMM过程改进体系 87
6.3.5应用PDCA质量控制法持续改进软件质量 88
6.4小结 88
6.5新手入门须知 89
6.6模拟面试问答 89
第7章 软件测试的目的与原则 91
7.1软件测试的目的 92
7.1.1测试是为了建立软件的信心 92
7.1.2软件测试与软件信心的关系 92
7.1.3软件测试的两面性 92
7.1.4软件测试的验证与确认 93
7.1.5测试是一种服务 94
7.2软件测试应该遵循的原则 94
7.2.1 Good enough原则 94
7.2.2 Pareto原则 95
7.2.3尽可能早开展测试 95
7.2.4在发现较多错误的地方投入更多的测试 96
7.2.5同化效应 96
7.3小结 96
7.4新手入门须知 97
7.5模拟面试问答 97
第8章 软件测试的方法论 99
8.1软件测试的五大流派 100
8.1.1分析学派 100
8.1.2标准学派 100
8.1.3质量学派 101
8.1.4上下文驱动学派 101
8.1.5敏捷学派 102
8.1.6不同流派的测试定义 102
8.2软件测试的方法应用 102
8.2.1微软公司的第一类测试 103
8.2.2微软公司的第二类测试 103
8.2.3微软的缺陷管理 104
8.3 IBM公司的软件测试方法 104
8.3.1回归测试 104
8.3.2测试的度量 105
8.3.3用例驱动 105
8.3.4 RUP对软件测试的分类 105
8.3.5 RUP对测试阶段的划分 107
8.4自动错误预防(AEP)方法 107
8.4.1 AEP的基本概念 107
8.4.2实现软件自动错误预防的五大法则 108
8.5小结 110
8.6新手入门须知 110
8.7模拟面试问答 112
第9章 软件测试的过程管理 113
9.1软件测试的各个阶段 114
9.2测试需求 114
9.2.1需求规格说明书的检查要点 115
9.2.2需求文档的检查步骤 115
9.2.3通过编写测试用例来检查需求 118
9.3测试计划 119
9.3.1为什么要制定测试计划 119
9.3.2测试计划是对测试过程的整体设计 119
9.3.3确定测试范围 120
9.3.4制定测试策略 120
9.3.5安排好测试资源 121
9.3.6安排好进度 121
9.3.7计划风险 122
9.4测试的设计及测试用例 122
9.4.1基于需求的测试方法 122
9.4.2等价类划分法 123
9.4.3边界值分析法 124
9.4.4等价类+边界值 126
9.4.5基本路径分析法 126
9.4.6因果图法 127
9.4.7场景设计法 128
9.4.8错误猜测法 129
9.4.9正交表与TCG的使用 129
9.4.10利用均匀试验法设计测试用例 131
9.4.11组合覆盖与PICT的使用 132
9.4.12分类树与TESTONA的使用 134
9.4.13测试用例设计的自动化 136
9.4.14敏捷测试用例设计 137
9.4.15 测试用例的粒度 137
9.4.16基于需求的测试用例设计 138
9.4.17 测试用例的评价 138
9.4.18测试用例数据生成的自动化 139
9.5测试的执行 139
9.5.1测试用例的合理选择 139
9.5.2测试的分工与资源利用 140
9.5.3测试环境的搭建 140
9.5.4 BVT测试与冒烟测试 141
9.5.5每日构建的基本流程 142
9.5.6通过每日构建来规范源代码管理 142
9.5.7通过每日构建来控制版本风险 143
9.6测试的记录和跟踪 143
9.6.1 Bug的质量衡量 143
9.6.2如何录入一个合格的Bug 144
9.6.3报告发现问题的版本 144
9.6.4报告问题出现的环境 145
9.6.5报告问题重现的操作步骤 145
9.6.6描述预期的行为 145
9.6.7描述观察到的错误行为 145
9.6.8 Bug报告应该注意的几个问题 146
9.6.9如何跟踪一个Bug的生命周期 146
9.6.10如何与开发人员沟通一个Bug 147
9.6.11 Bug评审要注意的问题 147
9.6.12基于QC的缺陷管理 148
9.7回归测试 149
9.7.1为什么会回归 149
9.7.2回归测试的难度 149
9.7.3基于风险的回归测试 150
9.8测试总结和报告 151
9.8.1缺陷分类报告 152
9.8.2缺陷类型分布报告 152
9.8.3缺陷区域分布报告 152
9.8.4缺陷状态分布报告 152
9.8.5缺陷趋势报告 153
9.8.6典型缺陷与Bug模式 154
9.8.7测试中的PDCA循环 155
9.8.8客观全面的测试报告 156
9.8.9实用测试经验的总结 156
9.9小结 157
9.10新手入门须知 157
9.11模拟面试问答 157
第10章 软件测试的度量 160
10.1软件测试度量的目的 161
10.1.1测试度量的难度 161
10.1.2测试人员工作质量的鉴定 162
10.1.3度量的目的 163
10.2软件测试的度量方法及其应用 164
10.2.1 Bug的数量能说明什么 164
10.2.2度量Bug的数量 164
10.2.3加权法度量缺陷 164
10.2.4 Bug的定性评估 166
10.2.5 Bug综合评价模型 166
10.2.6测试覆盖率统计 167
10.2.7代码覆盖率 167
10.2.8功能模块覆盖率 168
10.2.9需求覆盖率 169
10.2.10测试用例文档产出率与测试用例产出率 170
10.2.11考核测试人员的硬指标和软指标 170
10.2.12硬指标 170
10.2.13软指标 171
10.2.14考核表 172
10.3小结 173
10.4新手入门须知 173
10.5模拟面试问答 174
第3篇 实用软件测试技术与工具应用 175
第11章 实用软件测试技术 175
11.1软件测试技术的发展 176
11.2软件测试技术 177
11.2.1不管黑盒、白盒,找到Bug就行 177
11.2.2黑盒测试 177
11.2.3白盒测试 178
11.2.4手工测试、自动化测试,一个都不能少 179
11.2.5自动化测试的目的 179
11.2.6手工测试的不可替代性 179
11.2.7探索性测试的“技术” 180
11.2.8探索性测试的基本过程 181
11.2.9探索性测试的管理 181
11.2.10单元测试的定义 182
11.2.11单元测试由谁做 182
11.2.12结对单元测试 183
11.2.13单元级别的性能测试 184
11.2.14性能测试“从小做起” 184
11.2.15 数据库性能检查 186
11.2.16软件的“极限考验”——压力测试 187
11.2.17软件的容量如何 187
11.2.18安全性测试 191
11.2.19网页安全漏洞检测 192
11.2.20 SQL注入 192
11.2.21缓冲区溢出 193
11.2.22安装测试 193
11.2.23环境测试 196
11.3实用软件测试技术的综合应用 197
11.3.1跟踪法测试 197
11.3.2跟踪法的典型应用 197
11.3.3跟踪法测试的好处 199
11.3.4跟踪法测试的必要性 200
11.3.5 C/S结构软件系统的测试 200
11.3.6 B/S结构软件系统的测试 201
11.3.7链接测试 201
11.3.8 Cookies测试 202
11.3.9兼容性测试 202
11.3.10并发访问测试 202
11.3.11手机应用测试的要点 202
11.3.12手机应用软件的特点 203
11.3.13手机应用软件的测试要点 203
11.3.14游戏软件系统的测试重点是“玩” 204
11.3.15游戏可玩性的测试 204
11.3.16游戏的环境测试 205
11.3.17网络游戏的安全性测试 205
11.3.18游戏的性能测试 205
11.3.19界面交互及用户体验测试 205
11.3.20使用用户模型对界面交互进行测试 205
11.3.21界面和用户体验测试的要点 206
11.3.22数据库测试 207
11.3.23数据库设计的测试 207
11.3.24 SQL代码规范性测试 207
11.3.25 SQL语句效率测试 208
11.3.26 SQL数据库兼容性测试 209
11.3.27 Web Services的测试 211
11.3.28内存泄露测试 212
11.3.29造成软件内存泄露的原因 212
11.3.30如何检测内存泄露 213
11.3.31 对内存问题测试的分工与合作 213
11.3.32 检查程序员的编码规范 214
11.3.33报表测试 215
11.3.34报表测试的业务基础 216
11.3.35报表测试中的细节问题检查 216
11.3.36报表测试中的性能测试、安全性测试 216
11.3.37报表的保存和打印测试 216
11.3.38报表的格式测试 216
11.3.39联机帮助和用户手册的测试 217
11.3.40联机帮助的测试要点 217
11.3.41用户手册的测试要点 218
11.3.42缺乏工具支持的性能测试 218
11.3.43借助其他小工具和自己开发的小程序来解决问题 219
11.3.44手工的性能测试 221
11.3.45本地化测试与国际化测试 222
11.3.46本地化软件测试和国际化测试的要点 222
11.3.47本地化软件测试和国际化测试对测试人员的要求 223
11.3.48本地化软件测试和国际化测试工具的使用 223
11.3.49可访问性测试 224
11.3.50 Section 508 Web指南 224
11.3.51可访问性测试工具 225
11.4小结 225
11.5新手入门须知 225
11.6模拟面试问答 226
第12章 测试管理工具QC的应用 229
12.1测试管理平台 230
12.1.1测试过程管理规范化 230
12.1.2测试管理平台——QC简介 231
12.1.3 QC安装 231
12.2测试需求管理 237
12.2.1定义测试需求 237
12.2.2把需求项转换成测试计划 237
12.3测试计划管理 238
12.3.1测试用例的管理 238
12.3.2设计测试步骤 239
12.3.3测试用例的重用 240
12.3.4测试用例对需求项的覆盖 241
12.4测试执行 242
12.4.1定义测试集 242
12.4.2为测试集添加测试用例 242
12.4.3执行测试 242
12.5缺陷登记与跟踪 243
12.5.1添加新缺陷 243
12.5.2如何避免录入冗余的缺陷 244
12.5.3 Bug的生命周期 245
12.5.4把缺陷链接到测试 245
12.6在QC中生成测试报告的图表 247
12.7基于QC的测试项目管理 247
12.7.1 QC的库结构 247
12.7.2创建QC项目库 248
12.7.3定制项目 248
12.7.4添加项目组成员 248
12.7.5自定义QC的数据字段 249
12.7.6配置跟踪提醒规则 252
12.7.7设置警报规则 254
12.7.8设置工作流 255
12.7.9“缺陷模块”列表自定义 255
12.7.10脚本编辑器 256
12.7.11 QC项目的导入导出 257
12.8其他资源 259
12.9练习和实践 259
第13章 功能自动化测试工具UFT的应用 261
13.1如何开展功能自动化测试 262
13.1.1选取合适的测试项目来开展自动化测试 262
13.1.2自动化测试工程师的知识体系 262
13.1.3自动化测试工具选型 263
13.1.4自动化测试项目计划 264
13.2使用UFT开展功能自动化测试 265
13.2.1 UFT的安装 265
13.2.2使用UFT录制脚本 266
13.2.3使用关键字视图和专家视图编辑脚本 269
13.2.4回放脚本 270
13.2.5插入检查点 271
13.3构建功能自动化测试框架 273
13.3.1模块化框架 273
13.3.2函数库结构框架 275
13.3.3数据驱动框架 276
13.4其他资源 279
13.5练习和实践 279
第14章 性能测试工具Load Runner的应用 281
14.1如何开展性能测试 282
14.1.1性能测试工程师的素质要求 282
14.1.2认识性能测试 283
14.1.3性能测试的类型 284
14.1.4性能测试成熟度模型 285
14.1.5分析和定义性能需求 286
14.1.6“不成文的”性能需求定义 287
14.1.7计划性能测试 287
14.2使用LoadRunner开展性能测试 288
14.2.1 LoadRunner简介 288
14.2.2 LoadRunner基本使用方法和步骤 290
14.2.3选择协议 292
14.2.4录制脚本 293
14.2.5解决常见的脚本回放问题 296
14.2.6修改和完善脚本 297
14.2.7脚本参数化 297
14.2.8添加事务 298
14.2.9添加内容检查点 299
14.2.10性能参数的选择和监视 300
14.2.11运行场景 301
14.2.12选择需要监控的性能参数 302
14.2.13性能测试报告与性能瓶分析 302
14.3其他资源 303
14.4练习和实践 304
第15章 安全测试 305
15.1常见安全漏洞分析 306
15.1.1缓冲区溢出 306
15.1.2整数溢出 308
15.1.3命令注入 309
15.1.4 SQL注入 309
15.1.5 XSS——跨站脚本攻击 311
15.2使用AppScan进行安全测试 313
15.2.1 AppScan简介 313
15.2.2利用AppScan进行Web安全测试 313
15.2.3使用AppScan测试AltoroJ项目 315
15.3其他资源 318
15.4练习和实践 318
第16章 单元测试工具MSTest的应用 320
16.1单元测试范围管理 321
16.1.1单元测试的分类 321
16.1.2静态单元测试 322
16.1.3动态单元测试 322
16.1.4“广专结合”、“动静相宜” 323
16.1.5单元测试的效果 323
16.1.6单元测试的范围 323
16.2单元测试的过程管理 324
16.2.1单元测试的过程策划 324
16.2.2管理层对单元测试的重视 324
16.2.3单元测试意识的改变 324
16.2.4单元测试的组织 325
16.2.5单元测试模式的选择 325
16.2.6单元测试的管理规范 325
16.2.7单元测试的人员分工 326
16.2.8单元测试的策略 326
16.2.9单元测试用例的设计 326
16.2.10代码标准和规范 326
16.2.11代码审查制度 327
16.2.12单元测试的流程 327
16.2.13单元测试与每日构建的结合 328
16.2.14单元测试的自动化方面 328
16.2.15 自动化单元测试与每日构建的结合 329
16.3单元测试的质量度量 330
16.3.1单元测试覆盖率 330
16.3.2单元测试评审 331
16.4单元测试工具MSTest的应用 331
16.4.1建立单元测试项目 332
16.4.2巧用NMock对象 333
16.4.3对缺乏接口实现的类的方法进行测试 334
16.4.4使用NMock对象 334
16.4.5使用NMock的场合 335
16.4.6单元测试的执行 335
16.4.7测试管理 335
16.4.8运行测试代码 336
16.4.9查看测试结果 336
16.5数据驱动的单元测试 336
16.5.1为什么要使用数据驱动的方式 336
16.5.2创建数据驱动单元测试 336
16.5.3使用数据源 338
16.5.4使用配置文件定义数据源 339
16.5.5编写单元测试代码使用配置文件定义的数据源 339
16.6小结 340
16.7新手入门须知 341
16.8模拟面试问答 341
第17章 开源测试工具 343
17.1开源测试工具简介 344
17.1.1开源的背景 344
17.1.2开源测试工具的发展现状 344
17.1.3开源测试工具的分布 344
17.1.4开源测试工具的来源 345
17.1.5开源测试工具的优势 345
17.1.6开源测试工具的不足 345
17.2常用开源测试工具介绍——测试管理类 346
17.2.1 Bugzilla 346
17.2.2 Mantis 347
17.2.3 BugFree 348
17.2.4综合比较 349
17.3常用开源测试工具介绍——单元测试类 349
17.3.1 NUnit 349
17.3.2 NMock 350
17.3.3 NUnitForms 351
17.4常用开源测试工具介绍——性能测试类 352
17.4.1 JMeter 353
17.4.2 TestMaker 354
17.4.3 DBMonster 355
17.5常用开源测试工具介绍——自动化功能测试类 357
17.5.1 Abbot Java GUI Test Framework 357
17.5.2 White 358
17.5.3 Watir 359
17.6如何在测试组中引入开源测试工具 360
17.6.1开源测试工具的成本考虑 361
17.6.2引入开源测试工具的步骤 361
17.6.3引入开源测试工具可能碰到的问题 362
17.7小结 363
17.8新手入门须知 363
17.9模拟面试问答 364
第18章 测试工具的原理及制作 366
18.1自制测试工具的优势 367
18.2辅助工具的制作 368
18.2.1测试工具的开发策划 368
18.2.2测试语言的选择 368
18.2.3测试工具开发的各种实现技术 369
18.2.4接口驱动 369
18.2.5测试执行器及远程代理 370
18.2.6测试解释器和测试生成器 371
18.3利用Windows脚本辅助测试 371
18.3.1利用JScript进行简单的GUI自动化测试 372
18.3.2利用JScript检查注册表 372
18.3.3利用JScript的FileSystem Object对象处理文件 373
18.3.4读取文件 373
18.3.5创建文件 374
18.3.6利用JScript操作Excel 374
18.3.7在JSctipt中运行应用程序 375
18.3.8在JScript中使用WMI 376
18.3.9在JScript中访问网络 377
18.3.10在JScript中使用正则表达式 378
18.3.11使用JScript发送邮件 379
18.3.12 JSctipt脚本的调试方法 379
18.4简易自动化测试 380
18.4.1使用VBScript进行Web自动化测试 380
18.4.2利用UI Automation实现GUI自动化测试 381
18.5设计一个性能测试框架 384
18.5.1性能测试的基本原理 384
18.5.2 Controller的简单设计 385
18.5.3 Agent的简单设计 386
18.5.4虚拟用户的产生 389
18.6正交表测试用例自动生成工具的设计 390
18.6.1正交表类的设计 391
18.6.2加载正交表文件 392
18.6.3解释输入 394
18.6.4查找正交表 395
18.6.5改进方向 402
18.7数据库比较工具的制作 403
18.7.1“三库”的问题 403
18.7.2 SQL Server表结构原理 403
18.7.3数据库比较工具的设计 404
18.8 Oracle的SQL语句跟踪工具的制作 407
18.8.1设置Oracle的SQL跟踪参数 408
18.8.2打开SQL跟踪 408
18.8.3关闭SQL跟踪 409
18.8.4改进方向 410
18.9一个简单的猴子测试工具的制作 410
18.9.1猴子测试工具应该具备的功能 410
18.9.2 Windows API的调用 411
18.9.3截屏功能的实现 414
18.9.4让猴子动起来 416
18.9.5 记录猴子的足迹 417
18.9.6给猴子一些知识 417
18.9.7记录被测试应用程序的资源使用情况 419
18.9.8完整的猴子测试工具 421
18.9.9扩展 427
18.10测试覆盖率辅助管理工具的制作 428
18.10.1测试覆盖率管理 428
18.10.2需求覆盖率管理 428
18.10.3测试用例覆盖率管理 430
18.10.4功能模块覆盖率管理 431
18.10.5代码覆盖率管理 431
18.10.6数据覆盖率管理 432
18.10.7测试覆盖率统计的自动化 433
18.10.8测试覆盖率对测试管理的意义 434
18.10.9测试覆盖率辅助管理工具的设计 434
18.10.10调用DevPartner的代码覆盖率统计工具 435
18.10.11用C#来调用DPAnalysis执行被测试应用程序 435
18.10.12测试覆盖率辅助管理工具的使用 439
18.11小结 440
18.12新手入门须知 441
18.13模拟面试问答 441
第19章 小工具的使用 443
19.1巧用Windows自带的小工具 444
19.1.1 Windows任务管理器 444
19.1.2利用Windows任务管理器检查进程驻留 444
19.1.3利用Windows任务管理器检查内存问题 444
19.1.4利用Windows任务管理器检查网络使用情况 445
19.1.5 利用Windows任务管理器检查CPU使用情况 446
19.1.6 Perf non的性能监控 446
19.1.7 NetStat的网络监视 449
19.2免费小工具的妙用 450
19.2.1 SQL Server数据库的SQL事件探查器 450
19.2.2 Visual Studio开发工具的Spy++ 452
19.2.3 Visual Source Safe的文件比较器 453
19.2.4 HTTP协议包查看器——HTTP Watch 454
19.2.5 HTML DOM查看器——IE Developer Toolbar 455
19.3小结 456
19.4新手入门须知 456
19.5模拟面试问答 457
第20章 持续集成 458
20.1持续集成简介 459
20.1.1持续集成的价值 459
20.1.2持续集成包含的过程 459
20.2利用Windows脚本搭建一个每日构建框架 459
20.2.1每日构建框架的基本要素 459
20.2.2获取源代码 460
20.2.3编译源代码 462
20.2.4分析编译结果 462
20.2.5处理编译结果 464
20.2.6发送编译报告 465
20.2.7利用Windows任务计划来定时启动脚本 466
20.2.8每日构建框架的扩展1——单元测试 467
20.2.9每日构建框架的扩展2——自动化功能测试 472
20.2.10每日构建框架的扩展3——每日缺陷简报 473
20.2.11缺陷库表结构分析 473
20.2.12缺陷统计程序的设计 475
20.2.13每日构建框架的扩展4——每日配置管理简报 479
20.2.14配置管理的现状 480
20.2.15缺陷简报程序的设计 480
20.2.16每日构建框架的扩展5——每日里程碑预报 482
20.2.17每日构建框架的其他扩展思路 484
20.2.18每日缺陷率统计 484
20.2.19每日缺陷简报 486
20.3利用Windows脚本整合一个自动错误预防系统 487
20.3.1轻量级的AEP框架 487
20.3.2把AEP系统整合到每日构建框架中 487
20.3.3整合FxCop 487
20.3.4整合SQL BPA 489
20.3.5测试结果检查和发送 489
20.4其他资源 490
第21章 代码审查 491
21.1代码审查实践 492
21.1.1为什么需要代码审查 492
21.1.2代码静态分析的工作内容 493
21.1.3类型检查 493
21.1.4风格检查 493
21.1.5程序理解 494
21.1.6 Bug查找 495
21.2自动代码审查 496
21.2.1代码分析工具PCLint的应用 497
21.2.2 PCLint与VC6的整合 497
21.2.3代码风格审查工具StyleCop的应用 498
21.2.4 StyleCop的设置 499
21.3其他资源 500
第22章 探索性测试管理 501
22.1探索性测试的必要性 502
22.1.1探索性测试的原理 502
22.1.2探索性测试与即兴测试的区别 502
22.1.3探索性测试的意义 503
22.2如何进行探索性测试 503
22.2.1优秀探索性测试人员的基本素质 503
22.2.2测试就是向程序提问 504
22.3探索性测试的过程管理和度量 505
22.3.1测试组长是“教练” 505
22.3.2基于探索任务的测试计划 505
22.3.3探索性测试的“碰头会议” 506
22.4小结 509
22.5新手入门须知 509
22.6模拟面试问答 509
第23章 用户界面测试管理 511
23.1用户界面测试的必要性 512
23.2如何进行用户界面测试 512
23.2.1用户界面测试的时机 512
23.2.2后期修改界面的风险 513
23.2.3界面测试遗漏 513
23.2.4用户界面测试的要点 513
23.2.5“射箭”原理 514
23.2.6减少用户的工作量 514
23.2.7“少就是多” 514
23.3用户界面测试原则 514
23.3.1亲和力 515
23.3.2协助 516
23.3.3有效 517
23.3.4鼓励 518
23.3.5熟悉 518
23.3.6明显 519
23.3.7个性化 519
23.3.8安全 520
23.3.9满意 520
23.3.10简单 521
23.3.11支持 521
23.3.12多样性 522
23.4小结 522
23.5新手入门须知 523
23.6模拟面试问答 523
第4篇 软件测试的学习和研究 525
第24章 软件测试的学习环境 525
24.1学习氛围的建立 526
24.1.1培训导师制度 526
24.1.2把测试人员的学习内容作为工作考核的一部分 527
24.1.3把测试人员的学习计划纳入项目计划 527
24.1.4把测试人员的学习和技术研究任务化、专门化 527
24.1.5建立一帮一的导师制度 528
24.1.6建立一个持续的培训体系 529
24.1.7读书会 530
24.1.8找个师傅学习软件测试 530
24.2软件测试经验的总结 531
24.2.1测试知识库的建立 531
24.2.2知识库的“进” 532
24.2.3知识库的“出” 532
24.2.4办一份内部期刊 533
24.2.5测试管理经验的总结 534
24.2.6过程管理经验总结 534
24.2.7个人管理经验总结 536
24.3软件测试的交流 537
24.3.1日常的交流 537
24.3.2专门的交流 538
24.3.3与开发人员的交流 538
24.3.4定义好自己的角色 539
24.3.5解释自己的工作 540
24.3.6尽量减少会产生误会和曲解的Bug报告 540
24.3.7与管理层的交流 541
24.3.8宣传测试 541
24.3.9主动报告测试 541
24.3.10外部交流 541
24.4小结 542
24.5新手入门须知 542
24.6模拟面试问答 543
第25章 软件测试的研究方向与个人发展 545
25.1软件测试角色与其他项目角色的可转换性 546
25.1.1转向售前 546
25.1.2转向售后 547
25.1.3转向开发 549
25.1.4转向QA 550
25.2测试人员的发展路线 551
25.2.1管理路线 551
25.2.2技术路线 553
25.3软件测试的研究方向 554
25.3.1软件测试中的数学 554
25.3.2软件测试工具设计 555
25.3.3其他研究方向 555
25.4小结 555
25.5新手入门须知 556
25.6模拟面试问答 556