《软件测试技术大全》一书的目录

目录
第一篇 软件测试的基础
第1章 软件测试行业1
1.1 软件测试的起源1
1.1.1 第一个BUG的故事1
1.1.2 最近的几个导致严重错误的Bug1
1.1.3 软件测试的起源2
1.2 软件测试的发展2
1.2.1 软件调试3
1.2.2 独立的软件测试3
1.2.3 软件测试的第一次定义3
1.2.4 软件测试成为专门的学科4
1.2.5 开发与测试的融合趋势4
1.2.6 为什么软件测试发展比较缓慢4
1.3 软件测试行业的现状和前景5
1.3.1 国内测试行业现状5
1.3.2 测试人员的现状6
1.3.3 软件测试的前景6
1.4 小结7
1.5 新手入门须知8
1.6 模拟面试问答8
第2章 软件测试的组织10
2.1 测试的组织形式10
2.1.1 微软的经验教训10
2.1.2 最简单的软件测试组织10
2.1.3 组织形式的分类方式11
2.1.3 综合型的测试组织12
2.2 融入测试组织13
2.2.1 根据开发的模式判断自己的测试角色定位13
2.2.2 如何融入一个项目团队15
2.3 软件测试的团队建设16
2.3.1 学习型团队的组建16
2.3.2 让每一位测试人员找到适合自己的位置17
2.3.3 “无规矩则不成方圆”18
2.4 小结20
2.5 新手入门须知20
2.6 模拟面试问答20
第3章 软件测试的人员要求22
3.1 测试人员的素质要求22
3.1.1 你对测试感兴趣吗?22
3.1.2 你有适合做软件测试的性格特征吗?23
3.1.3 测试的正确态度-责任感25
3.2 测试人员的技能要求26
3.2.1 业务知识26
3.2.2 产品设计知识27
3.2.3 测试人员的“武器”27
3.2.4 用户心理学28
3.2.5 测试人员是否需要编程技能?29
3.2.6 文档能力33
3.3 小结34
3.4 新手入门须知34
3.5 模拟面试问答35
第二篇 软件测试基本理论
第4章 软件工程与软件测试36
4.1 软件工程简介36
4.1.1 什么是软件工程?36
4.1.2 软件工程的发展历史38
4.1.3 软件工程的目的39
4.2 软件开发模式39
4.2.1 常见的软件开发模式39
4.2.2 敏捷开发模式42
4.3 不同软件开发模式下的软件测试43
4.3.1 CMM和ISO中的软件测试43
4.3.2 敏捷开发中的软件测试45
4.3.3 QA与QC的区别46
4.4 配置管理与软件测试47
4.4.1 什么是配置管理?47
4.4.2 测试人员参与的配置管理活动50
4.5 小结51
4.6 新手入门须知51
4.7 模拟面试问答52
第5章 软件测试的目的与原则54
5.1 软件测试的目的54
5.1.1 测试是为了建立软件的信心54
5.1.2 测试是一种服务57
5.2 软件测试应该遵循的几个原则57
5.2.1 Good enough原则58
5.2.2 Pareto原则58
5.2.3 尽可能早开展测试59
5.2.4 在发现比较多错误的地方需要投入更多的测试59
5.2.5 同化效应60
5.3 小结60
5.4 新手入门须知60
5.5 模拟面试问答61
第6章 软件测试的方法论63
6.1 软件测试的5大流派63
6.2 软件测试的方法应用66
6.2.1 微软的软件测试方法66
6.2.2 IBM的软件测试方法68
6.2.3 自动错误预防(AEP)方法71
6.3 小结74
6.4 新手入门须知74
6.5 模拟面试问答76
第7章 软件测试的过程管理78
7.1 软件测试的各个阶段78
7.2 测试需求79
7.2.1 需求规格说明书的检查要点79
7.2.2 需求文档的检查步骤79
7.2.3 通过编写测试用例来检查需求82
7.3 测试的计划83
7.3.1 我们为什么要制定测试计划?83
7.3.2 测试计划是对测试过程的整体设计84
7.3.3 确定测试范围84
7.3.4 制定测试策略85
7.3.5 安排好测试资源85
7.3.6 安排好进度85
7.3.7 计划风险85
7.4 测试的设计及测试用例86
7.4.1 等价类划分法86
7.4.2 边界值分析法87
7.4.3 基本路径分析法89
7.4.4 因果图法90
7.4.5 场景设计法91
7.4.6 错误猜测法92
7.4.7 利用正交试验法设计测试用例92
7.4.8 利用均匀试验法设计测试用例93
7.4.9 利用组合覆盖法设计测试用例94
7.4.10 利用分类树方法设计测试用例96
7.4.11 测试用例设计的自动化97
7.4.12 敏捷测试用例设计99
7.5 测试的执行100
7.5.1 测试用例的合理选择100
7.5.2 测试的分工与资源利用101
7.5.3 测试环境的搭建101
7.5.4 BVT测试与冒烟测试102
7.5.5 每日构建的基本流程102
7.5.6 通过每日构建来规范源代码管理103
7.5.7 通过每日构建来控制版本风险103
7.6 测试的记录和跟踪104
7.6.1 Bug的质量衡量104
7.6.2 如何录入一个合格的Bug?104
7.6.3 Bug报告应该注意的几个问题105
7.6.4 如何跟踪一个Bug的生命周期?106
7.6.5 如何与开发人员沟通一个Bug107
7.6.6 Bug评审要注意的问题107
7.6.7 基于TestDirector的缺陷管理108
7.7 回归测试108
7.7.1 为什么会回归?108
7.7.2 回归测试的难度109
7.7.3 基于风险的回归测试109
7.8 测试总结和报告110
7.8.1 缺陷分类报告111
7.8.2 缺陷趋势报告112
7.8.3 典型缺陷与Bug模式113
7.8.4 测试中的PDCA循环114
7.8.5 客观全面的测试报告115
7.8.6 实用测试经验的总结115
7.9 小结116
7.10 新手入门须知116
7.11 模拟面试问答116
第8章 软件测试的度量119
8.1 软件测试度量的目的119
8.1.1 测试度量的难度119
8.1.2 谁来衡量测试人员的工作质量121
8.1.3 度量的目的122
8.2 软件测试的度量方法及其应用123
8.2.1 Bug的数量能说明什么?123
8.2.2 测试覆盖率统计126
8.2.3 考核测试人员的硬指标和软指标129
8.3 小结131
8.4 新手入门须知132
8.5 模拟面试问答132
第三篇 实用软件测试技术与工具
第9章 实用软件测试技术134
9.1 软件测试技术的发展134
9.2 软件测试技术135
9.2.1 不管黑盒、白盒,找到bug就行136
9.2.2 手工测试、自动化测试,一个都不能少137
9.2.3 探索性测试的“技术”138
9.2.4 结对单元测试140
9.2.5 单元级别的性能测试142
9.2.6 软件的容量如何?146
9.2.7 安全性测试151
9.2.8 安装测试153
9.2.9 环境测试156
9.3 实用软件测试技术的综合应用157
9.3.1 跟踪法测试157
9.3.2 C/S结构软件系统的测试161
9.3.3 B/S结构软件系统的测试162
9.3.4 手机应用测试的要点163
9.3.5 游戏软件系统的测试重点是“玩”163
9.3.6 界面交互及用户体验测试164
9.3.7 数据库测试166
9.3.8 Web Services的测试170
9.3.9 内存泄漏测试172
9.3.10 检查程序员的编码规范173
9.3.11 报表测试175
9.3.12 联机帮助和用户手册的测试176
9.3.13 缺乏工具支持的性能测试178
9.3.14 本地化测试与国际化测试182
9.3.15 可访问性测试(Accessibility Testing)183
9.4 小结185
9.5 新手入门须知185
9.6 模拟面试问答186
第10章 实用软件测试工具189
10.1 软件测试工具的作用189
10.2 软件测试工具的分类189
10.2.1 按测试工具的用途分类189
10.2.2 按测试工具的收费方式分类190
10.3 如何在测试组中引入测试工具190
10.3.1 测试工具的选型191
10.3.2 测试工具的试用191
10.3.3 测试工具的培训192
10.3.4 测试工具的使用192
10.4 测试管理工具TestDirector193
10.4.1 测试管理工具与缺陷管理工具的区别193
10.4.2 测试需求管理194
10.4.3 测试用例管理196
10.4.4 测试过程管理197
10.4.5 缺陷跟踪管理199
10.4.6 测试管理各大功能之间的关联202
10.4.7 利用TestDirector生成测试报告206
10.4.8 TestDirector数据库的备份和恢复208
10.4.9 TestDirector的个性化定制211
10.4.10 TestDirector的使用技巧221
10.5 自动化功能测试工具TestComplete223
10.5.1 脚本语言的选择223
10.5.2 脚本编写的基本步骤224
10.5.3 TestComplete如何模拟用户动作231
10.5.4 TestComplete的Stores对象的使用234
10.5.5 TestComplete的数据驱动测试方法238
10.5.6 TestComplete的对象驱动测试方法241
10.5.7 利用TestComplete测试Open的应用程序243
10.5.8 利用TestComplete测试分布式应用程序245
10.5.9 TestComplete的一些常用技巧248
10.5.10 TestComplete的一些常用内建函数250
10.6 性能测试工具LoadRunner252
10.6.1 协议的选择与录制253
10.6.2 脚本参数化和添加事务259
10.6.3 性能参数的选择和监视264
10.6.4 性能测试报告与性能瓶颈分析268
10.7 内存问题测试工具BoundsChecker269
10.7.1 在Delphi项目中设置好编译选项270
10.7.2 BoundsChecker使用简介271
10.7.3 如何判断内存问题?272
10.8 微软的单元测试工具MSTest274
10.8.1 建立单元测试项目274
10.8.2 巧用NMock对象276
10.8.3 单元测试的执行278
10.9 测试用例设计工具CTE XL279
10.9.1 分类树设计279
10.9.2 选择组合测试用例281
10.9.3 测试用例的自动生成283
10.9.4 统计分析和报告284
10.13 小结286
10.14 新手入门须知286
10.15 模拟面试问答287
第11章 开源测试工具289
11.1 开源测试工具简介289
11.1.1 开源的背景289
11.1.2 开源测试工具的发展现状289
11.2 常用开源测试工具介绍 - 测试管理类291
11.2.1 Bugzilla291
11.2.2 Mantis292
11.2.3 BugFree293
11.2.4 综合比较293
11.3 常用开源测试工具介绍 - 单元测试类294
11.3.1 NUnit294
11.3.2 NMock295
11.3.3 NUnitForms296
11.4 常用开源测试工具介绍 - 性能测试类298
11.4.1 OpenSTA298
11.4.2 TestMaker299
11.4.3 DBMonster300
11.5 常用开源测试工具介绍 - 自动化功能测试类302
11.5.1 Abbot Java GUI Test Framework302
11.5.2 SharpRobo303
11.5.3 Samie305
11.6 如何在测试组中引入开源测试工具307
11.6.1 开源测试工具的成本考虑307
11.6.2 引入开源测试工具的步骤308
11.6.3 引入开源测试工具可能碰到的问题309
11.7 小结309
11.8 新手入门须知309
11.9 模拟面试问答310
第12章 测试工具的原理及制作312
12.1 自制测试工具的优势312
12.2 辅助工具的制作313
12.2.1 测试工具的开发策划313
12.2.2 测试语言的选择313
12.2.3 测试工具开发的各种实现技术314
12.3 利用Windows脚本辅助测试316
12.3.1 利用JScript进行简单的GUI自动化测试317
12.3.2 利用JScript检查注册表317
12.3.3 利用JScript的FileSystemObject对象处理文件318
12.3.4 利用JScript操作Excel319
12.3.5 在JScript中运行应用程序320
12.3.6 在JScript中使用WMI321
12.3.7 在JScript中访问网络322
12.3.8 在JScipt中使用正则表达式322
12.3.9 使用JScript发送邮件323
12.3.10 JScript脚本的调试方法324
12.4 利用Windows脚本搭建一个每日构建框架324
12.4.1 每日构建框架的基本要素325
12.4.2 获取源代码326
12.4.3 编译源代码327
12.4.4 分析编译结果328
12.4.5 处理编译结果330
12.4.6 发送编译报告330
12.4.7 利用Windows任务计划来定时启动脚本331
12.4.8 每日构建框架的扩展1 – 单元测试333
12.4.9 每日构建框架的扩展2 - 自动化功能测试339
12.4.10 每日构建框架的扩展3 – 每日缺陷简报340
12.4.11 每日构建框架的扩展4 – 每日配置管理简报347
12.4.12 每日构建框架的扩展5 – 每日里程碑预报350
12.4.13 每日构建框架的其它扩展思路352
12.5 利用Windows脚本整合一个自动错误预防系统356
12.5.1 轻量级的AEP框架356
12.5.2 把AEP系统整合到每日构建框架中356
12.5.3 整合FxCop357
12.5.4 整合SQL BPA358
12.5.5 测试结果检查和发送359
12.6 设计一个性能测试框架359
12.6.1 性能测试的基本原理359
12.6.2 Controller的简单设计360
12.6.3 Agent的简单设计362
12.6.4 虚拟用户的产生364
12.7 正交表测试用例自动生成工具的设计365
12.7.1 正交表类的设计366
12.7.2 加载正交表文件368
12.7.3 解释输入370
12.7.4 查找正交表371
12.7.5 改进方向378
12.8 数据库比较工具的制作379
12.8.1 “三库”的问题379
12.8.2 SQLServer表结构原理379
12.8.3 数据库比较工具的设计380
12.9 Oracle的SQL语句跟踪工具的制作383
12.9.1 设置Oracle的SQL跟踪参数383
12.9.2 打开SQL跟踪384
12.9.3 关闭SQL跟踪385
12.9.4 改进方向385
12.10 一个简单的猴子测试工具的制作386
12.10.1 猴子测试工具应该具备的功能386
12.10.2 Windows API的调用386
12.10.3 截屏功能的实现390
12.10.4 猴子测试工具的设计392
12.10.5 扩展403
12.11 测试覆盖率辅助管理工具的制作403
12.11.1 测试覆盖率管理403
12.11.2 测试覆盖率辅助管理工具的设计409
12.11.3 测试覆盖率辅助管理工具的使用413
12.12 小结415
12.13 新手入门须知416
12.14 模拟面试问答416
第13章 小工具的使用418
13.1 巧用Windows自带的小工具418
13.1.1 Windows的任务管理器418
13.1.2 Perfmon的性能监控421
13.1.3 NetStat的网络监视425
13.2 一些免费小工具的妙用427
13.2.1 SQLServer数据库的SQL事件探查器427
13.2.2 Visual Studio开发工具的Spy++430
13.2.3 Visual SourceSafe的文件比较器431
13.3 小结432
13.4 新手入门须知433
13.5 模拟面试问答433
第14章 单元测试管理434
14.1 单元测试范围管理434
14.1.1 狭义的单元测试与广义的单元测试434
14.1.2 单元测试是一把“双刃剑”436
14.2 单元测试的过程管理436
14.2.1 单元测试过程策划436
14.2.2 单元测试管理规范438
14.2.3 单元测试与每日构建的结合440
14.3 单元测试的质量度量442
14.3.1 单元测试覆盖率442
14.3.2 单元测试评审443
14.4 小结443
14.5 新手入门须知444
14.6 模拟面试问答444
第15章 自动化功能测试管理446
15.1 是否应该进行自动化功能测试?446
15.1.1 “猴子”测试技术446
15.1.2 自动化功能测试的原则447
15.2 自动化功能测试的过程策划448
15.2.1 什么时候开始自动化测试?448
15.2.2 自动化功能测试的设计449
15.2.3 自动化功能测试的编码450
15.2.4 自动化功能测试的验证453
15.2.5 自动化功能测试的管理规范453
15.2.6 自动化功能测试与每日构建的结合454
15.3 自动化功能测试的质量度量455
15.3.1 自动化功能测试项目成功了吗?455
15.3.2 为可测性设计457
15.3.3 投入与回报459
15.3.4 敏捷的自动化测试459
15.4 小结462
15.5 新手入门须知462
15.6 模拟面试问答462
第16章 性能测试管理465
16.1 性能测试的需求管理465
16.1.1 性能测试的代价465
16.1.2 性能指标的确定466
16.2 性能测试的过程管理466
16.2.1 性能测试的方案选择466
16.2.2 性能测试的资源安排467
16.2.3 应该记录哪些性能参数?468
16.2.4 性能测试报告与瓶颈分析470
16.3 性能测试的质量度量472
16.3.1 性能测试是否全面?472
16.3.2 性能测试的投入与回报474
16.4 小结474
16.5 新手入门须知474
16.6 模拟面试问答475
第17章 探索性测试管理477
17.1 探索性测试的必要性477
17.2 如何进行探索性测试?478
17.2.1 优秀探索性测试人员的基本素质478
17.2.2 测试就是向程序提问479
17.3 探索性测试的过程管理和度量480
17.3.1 测试组长是“教练”480
17.3.2 基于探索任务的测试计划481
17.3.3 探索性测试的“碰头会议”481
17.4 小结484
17.5 新手入门须知484
17.6 模拟面试问答484
第18章 用户界面测试管理486
18.1 用户界面测试的必要性486
18.2 如何进行用户界面测试?487
18.2.1 用户界面测试的时机487
18.2.2 用户界面测试的要点488
18.3 用户界面测试原则489
18.3.1 亲和力489
18.3.2 协助490
18.3.3 有效492
18.3.4 鼓励492
18.3.5 熟悉493
18.3.6 明显493
18.3.7 个性化494
18.3.8 安全494
18.3.9 满意495
18.3.10 简单495
18.3.11 支持496
18.3.12 多样性496
18.4 小结497
18.5 新手入门须知497
18.6 模拟面试问答497
第四篇 软件测试的学习和研究
第19章 软件测试的学习环境499
19.1 学习氛围的建立499
19.1.1 培训导师制度500
19.1.2 读书会502
19.1.3 找个师傅学习软件测试503
19.2 软件测试经验的总结504
19.2.1 测试知识库的建立504
19.2.2 办一份内部期刊506
19.2.3 测试管理经验的总结507
19.3 软件测试的交流509
19.3.1 技术日活动510
19.3.2 与开发人员的交流510
19.3.3 与管理层的交流512
19.3.4 外部交流513
19.4 小结513
19.5 新手入门须知513
19.6 模拟面试问答514
第20章 软件测试的研究方向与个人发展516
20.1 软件测试角色与其他项目角色的可转换性516
20.1.1 转向售前516
20.1.2 转向售后517
20.1.3 转向开发518
20.1.4 转向QA519
20.2 测试人员的发展路线520
20.2.1 管理路线521
20.2.2 技术路线522
20.3 软件测试的研究方向523
20.3.1 软件测试中的数学523
20.3.2 软件测试工具设计524
20.4 小结525
20.5 新手入门须知525
20.6 模拟面试问答525
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值