目录

第一篇软件测试理论
第1章软件测试基础3
1.1软件测试产生的背景3
1.2软件测试的定义5
1.3软件测试的目的5
1.4软件测试的原则6
1.5软件测试的复杂性与经济性分析7
1.6本章小结9
1.7练习题9
第2章软件测试类型11
2.1软件测试分类11
2.2常见的软件测试类型13
2.3软件测试过程模型14
2.4本章小结17
2.5练习题17
第3章软件测试过程19
3.1单元测试20
3.1.1单元测试的定义20
3.1.2单元测试的内容20
3.2集成测试21
3.2.1集成测试的定义21
3.2.2集成测试的层次22
3.2.3集成测试的模式22
3.2.4集成测试的组织和实施24
3.3确认测试26
3.4系统测试27
3.5验收测试283.5.1验收测试的内容28
3.5.2验收测试策略29
3.6本章小结29
3.7练习题30
第4章软件质量31
4.1软件质量概述31
4.1.1软件质量的定义31
4.1.2软件质量的要素32
4.2软件质量模型33
4.2.1McCall质量模型33
4.2.2Bohm质量模型33
4.2.3ISO软件质量模型34
4.3软件质量保证35
4.3.1软件质量保证的理论探索35
4.3.2软件质量保证的工作内容和工作方法38
4.3.3软件质量保证的活动内容39
4.3.4软件质量保证正式的技术评审(FTR)40
4.3.5质量保证与检验40
4.4软件质量控制41
4.4.1软件质量控制的定义41
4.4.2软件质量控制的目的41
4.4.3软件质量控制的必要性41
4.4.4软件质量控制的内容及过程42
4.5软件度量44
4.5.1为什么需要软件度量44
4.5.2什么是软件度量44
4.5.3软件度量的对象45
4.5.4软件度量的过程45
4.5.5软件度量小结46
4.6软件质量标准体系46
4.6.1ISO 9000系列46
4.6.2全面质量管理47
4.6.36σ方法48
4.7本章小结48
4.8练习题49第二篇软件测试实施
第5章白盒测试53
5.1逻辑覆盖法53
5.2基本路径分析法57
5.3程序插装61
5.4程序变异测试62
5.4.1变异测试理论62
5.4.2变异测试流程63
5.4.3等价变异体检测65
5.4.4变异体选择优化66
5.5本章小结66
5.6练习题67
第6章黑盒测试68
6.1等价类划分法68
6.2边界值法70
6.3决策表法71
6.4因果图法74
6.4.1因果图符号74
6.4.2因果图生成测试用例75
6.5场景图法78
6.6功能图法81
6.7正交试验法82
6.7.1正交试验设计82
6.7.2正交试验法设计用例的实现步骤83
6.8本章小结85
6.9练习题85
第7章软件测试流程87
7.1测试计划87
7.1.1测试计划的目的87
7.1.2测试计划的编写策略87
7.2测试需求88
7.2.1什么是测试需求88
7.2.2为什么要做测试需求分析89
7.2.3测试需求的依据与收集89
7.2.4测试需求分析89
7.2.5测试需求的优先级90
7.3测试用例91
7.3.1测试用例的概念91
7.3.2测试用例的重要性91
7.3.3测试用例的分类91
7.3.4测试用例的设计92
7.3.5测试用例的编写92
7.4测试执行93
7.4.1测试用例执行93
7.4.2测试数据记录94
7.4.3测试沟通94
7.4.4测试用例验证95
7.5缺陷提交95
7.5.1缺陷管理95
7.5.2缺陷跟踪95
7.6测试总结96
7.6.1测试数据整理96
7.6.2测试用例修订96
7.6.3测试用例维护96
7.7测试管理工具97
7.7.1测试需求管理97
7.7.2测试计划管理98
7.7.3测试执行98
7.7.4缺陷登记与跟踪98
7.7.5生成测试报告的图表99
7.8本章小结99
7.9练习题99
第三篇软件测试技术
第8章自动化测试103
8.1自动化测试概述103
8.1.1自动化测试的定义103
8.1.2自动化测试的优缺点104
8.1.3自动化测试适用范围105
8.2自动化测试的流程106
8.3自动化测试的框架108
8.3.1自动化测试框架的概念108
8.3.2自动化测试框架的分类109
8.4自动化测试的工具110
8.4.1白盒测试工具110
8.4.2黑盒测试工具111
8.4.3自动化测试工具的选取114
8.5本章小结114
8.6练习题115
第9章功能测试116
9.1功能测试概述116
9.1.1功能测试的定义116
9.1.2功能测试流程及策略117
9.1.3功能测试需求分析117
9.2功能自动化测试工具119
9.2.1功能自动化测试工具——UFT119
9.2.2功能自动化测试工具——Selenium122
9.3实例: 自动化测试设计128
9.3.1测试需求分析128
9.3.2自动化测试设计的实现129
9.4本章小结131
9.5练习题131
第10章性能测试133
10.1性能测试概述133
10.1.1软件性能133
10.1.2软件性能测试的概念134
10.1.3性能测试工程师135
10.2性能测试术语135
10.3性能测试类型137
10.4性能测试流程139
10.5性能测试工具142
10.5.1性能测试工具——LoadRunner142
10.5.2性能测试工具——JMeter145
10.6实例: 性能测试方案设计151
10.7本章小结152
10.8练习题153
第11章Web测试154
11.1Web网站功能测试154
11.2性能测试156
11.3安全性测试157
11.3.1安全性测试内容157
11.3.2安全性测试工具159
11.4可用性/可靠性测试161
11.5配置和兼容性测试162
11.6数据库测试163
11.7实例: Web测试的测试用例考虑的因素164
11.8本章小结166
11.9练习题166
第12章移动APP测试168
12.1移动APP测试概述168
12.1.1移动APP测试的定义168
12.1.2移动APP测试的特点168
12.1.3移动APP测试的流程169
12.2移动APP手动测试171
12.2.1APP功能测试171
12.2.2APP安装卸载测试171
12.2.3APP用户体验测试172
12.3移动APP自动化测试172
12.3.1自动化测试框架概述173
12.3.2自动化测试工具——Appium174
12.4实例: Appium测试177
12.5本章小结181
12.6练习题181
第13章嵌入式软件测试183
13.1嵌入式软件测试概述183
13.1.1嵌入式软件概述183
13.1.2嵌入式软件测试的定义184
13.1.3嵌入式软件测试与非嵌入式软件测试的区别185
13.1.4嵌入式软件测试的策略186
13.2嵌入式软件测试的工具187
13.3实例: 嵌入式软件测试分析189
13.3.1自动驾驶仪189
13.3.2嵌入式测试分析的实施189
13.4本章小结190
13.5练习题191
第14章面向对象的软件测试192
14.1面向对象的特点192
14.2面向对象开发对软件测试的影响194
14.3面向对象软件测试的基本概念194
14.4面向对象软件测试的内容195
14.5面向对象的测试模型及方法197
14.5.1面向对象分析的测试198
14.5.2面向对象设计的测试200
14.5.3面向对象编程的测试202
14.5.4面向对象的单元测试203
14.5.5面向对象的集成测试204
14.5.6面向对象的系统测试205
14.6面向对象测试工具JUnit206
14.7本章小结208
14.8练习题209
参考文献210