第一部分 测试理论 3
第1章 软件测试概论 3
1.1软件与软件项目 3
1.1.1软件发展史 3
1.1.2项目特性 4
1.1.3软件项目 5
1.1.4项目生命周期 6
1.2软件缺陷 7
1.2.1软件缺陷案例 7
1.2.2软件缺陷 9
1.2.3软件缺陷流程 12
1.3习题 13
第2章 软件测试基本知识 15
2.1测试发展历程 15
2.2测试的几种观点 16
2.3软件测试目的与原则 18
2.4软件测试分类 20
2.4.1按照测试阶段划分 20
2.4.2按照执行主体划分 21
2.4.3按照执行状态划分 21
2.4.4按照测试技术划分 23
2.5软件测试模型 26
2.5.1 V模型 26
2.5.2 W模型 26
2.5.3 H模型 27
2.5.4 X模型 28
2.5.5前置模型 28
2.6测试用例 29
2.7习题 32
第3章 软件测试流程 33
3.1测试流程概述 33
3.2测试计划 34
3.3测试设计 35
3.4单元测试 35
3.4.1概述 35
3.4.2内容 36
3.4.3步骤 38
3.5集成测试 39
3.5.1主要任务 39
3.5.2集成测试方法 39
3.6确认测试 42
3.7系统测试 43
3.8验收测试 44
3.8.1α测试和β测试 44
3.8.2回归测试 44
3.9评估测试 47
3.10习题 48
第4章 黑盒测试 50
4.1概述 50
4.2等价类划分 51
4.2.1划分原则 51
4.2.2设计测试用例步骤 51
4.3边界值分析法 53
4.3.1设计原则 54
4.3.2应用举例 54
4.4决策表 56
4.4.1应用举例 57
4.4.2优点和缺点 59
4.5因果图 59
4.5.1基本术语 59
4.5.2应用举例 61
4.6场景法 62
4.6.1基本流和备选流 62
4.6.2应用举例 62
4.7综合策略 66
4.8习题 67
第5章 白盒测试 69
5.1概述 69
5.2逻辑覆盖法 70
5.2.1语句覆盖 70
5.2.2判定覆盖 71
5.2.3条件覆盖 71
5.2.4条件判定覆盖 72
5.2.5修正条件判定覆盖 73
5.2.6条件组合覆盖 74
5.2.7路径覆盖 75
5.2.8综合举例 75
5.3路径分析 78
5.3.1控制流图 78
5.3.2基路径测试 80
5.3.3循环测试 82
5.3.4逻辑覆盖法与路径测试比较 83
5.4数据流测试 84
5.4.1变量定义/引用分析 84
5.4.2程序片 86
5.5程序插桩 86
5.6习题 88
第6章 性能测试 90
6.1基本概念 90
6.2性能测试分类 92
6.2.1负载测试 92
6.2.2压力测试 93
6.2.3可靠性测试 95
6.2.4数据库测试 95
6.2.5安全性测试 96
6.2.6文档测试 96
6.3性能测试的步骤 97
6.4网站测试 99
6.4.1网站结构模型 99
6.4.2网站测试内容 100
6.5习题 100
第7章 面向对象测试 102
7.1面向对象影响测试 102
7.2面向对象测试模型 103
7.3面向对象分析测试 104
7.3.1对象测试 104
7.3.2结构测试 105
7.3.3主题测试 105
7.3.4属性和实例关联测试 106
7.3.5服务和消息关联测试 106
7.4面向对象设计测试 107
7.5面向对象单元测试 108
7.5.1功能性和结构性测试 109
7.5.2测试用例设计和选择 109
7.6面向对象集成测试 110
7.7面向对象系统测试 112
7.8习题 112
第8章 嵌入式软件测试 113
8.1嵌入式系统 113
8.1.1基本概念 113
8.1.2嵌入式系统软件架构 114
8.1.3嵌入式系统开发方式 114
8.2嵌入式软件测试 115
8.2.1测试特点 115
8.2.2测试策略 115
8.2.3三种测试环境 117
8.2.4测试流程 118
8.3嵌入式软件测试工具 119
8.3.1纯软件测试工具 119
8.3.2纯硬件测试工具 120
8.3.3软硬结合测试工具 120
8.4习题 120
第9章 软件质量保证 121
9.1软件测试管理 121
9.2软件测试文档 121
9.2.1测试文档的类型 122
9.2.2测试文档的重要性 123
9.3测试人员组织 124
9.3.1测试团队架构 124
9.3.2测试团队阶段性 125
9.4软件缺陷管理 126
9.4.1概述 126
9.4.2缺陷跟踪流程 127
9.4.3缺陷跟踪管理系统概述 127
9.5软件质量 128
9.5.1概述 128
9.5.2 ISO 9000系列 129
9.5.3 CMM/CMMI 130
9.5.4 ISO 15504过程评估 133
9.6习题 133
第二部分 测试实践 137
第10章 软件测试自动化与测试工具 137
10.1自动化测试 137
10.2测试成熟度模型 138
10.3测试工具原理 143
10.3.1白盒测试工具 143
10.3.2黑盒测试工具 144
10.3.3测试设计和开发工具 146
10.3.4测试执行和评估工具 147
10.3.5测试管理工具 147
10.4测试工具选择 148
10.5习题 149
第11章 测试管理工具 151
11.1概述 151
11.2测试管理工具——TestDirector 152
11.2.1 TestDirector简介 152
11.2.2 TestDirector使用概述 153
第12章 性能测试工具 165
12.1综述 165
12.2 LoadRunner测试流程 166
12.3项目实践 166
12.3.1使用VuGen创建脚本 167
12.3.2使用Controller设计场景 172
12.3.3使用Controller运行场景 174
12.3.4分析场景结果 175
第13章 缺陷管理工具 178
13.1 Bugzilla 178
13.2 JIRA 182
13.2.1跟踪操作 183
13.2.2查询操作 185
13.2.3生成报表 186
第14章 单元测试工具 188
14.1 JUnit特点 188
14.2 JUnit在eclipse中的使用 188
第15章 功能测试工具 194
15.1 WinRunner 194
15.1.1 WinRunner测试模式 194
15.1.2 WinRunner测试流程 194
15.1.3 WinRunner测试举例 197
15.2 QuickTest Professional简介 202
15.2.1 QuickTest Professional测试过程 202
15.2.2使用Mercury Tours范例网站 202
15.2.3 QTP测试范例 203
第16章 嵌入式软件测试工具 213
16.1 Logiscope简介 213
16.2 Logiscope三大功能 214
16.2.1使用Audit 215
16.2.2使用RuleChecker 224
16.2.3使用TestChecker 228
第三部分 测试考试指导 241
第17章 全国计算机等级考试四级软件测试工程师 241
17.1内容介绍 241
17.1.1考试说明 242
17.1.2考试大纲及考试重点 242
17.2相关资料 247
第18章 软件测试行业 249
18.1测试行业现状 249
18.2软件测试职位 250
18.3软件测试思维方式 251
18.4常用软件测试工程师笔试题 252
第19章 微软公司软件测试 256
19.1微软测试策略 256
19.2一道微软测试题目 258
参考文献 259