目录
第一篇软件测试理论
第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验收测试28
3.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.2Boehm质量模型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程序插装技术60
5.4程序变异测试62
5.4.1变异测试理论62
5.4.2变异测试流程63
5.4.3等价变异体检测65
5.4.4变异体选择优化65
5.5本章小结66
5.6练习题66
第6章黑盒测试用例设计67
6.1等价类划分法67
6.2边界值法69
6.3决策表法70
6.4因果图法73
6.4.1因果图符号73
6.4.2因果图生成测试用例74
6.5场景图法77
6.6功能图法80
6.7正交试验法81
6.7.1正交试验设计81
6.7.2正交试验法设计用例的实现步骤82
6.8本章小结84
6.9练习题84
第7章软件测试流程86
7.1测试计划86
7.1.1测试计划的目的86
7.1.2测试计划的编写策略86
7.2测试需求87
7.2.1什么是测试需求87
7.2.2为什么要做测试需求分析88
7.2.3测试需求的依据与收集88
7.2.4测试需求分析88
7.2.5测试需求的优先级89
7.3测试用例90
7.3.1测试用例的概念90
7.3.2测试用例的重要性90
7.3.3测试用例的分类90
7.3.4测试用例的设计91
7.3.5测试用例的编写91
7.4测试执行92
7.4.1测试用例执行92
7.4.2测试数据记录93
7.4.3测试沟通93
7.4.4测试用例验证94
7.5缺陷提交94
7.5.1缺陷管理94
7.5.2缺陷跟踪94
7.6测试总结95
7.6.1测试数据整理95
7.6.2测试用例修订95
7.6.3测试用例维护95
7.7测试管理工具96
7.7.1测试需求管理96
7.7.2测试计划管理97
7.7.3测试执行管理97
7.7.4缺陷跟踪管理97
7.7.5生成测试报告98
7.8本章小结98
7.9练习题98
第三篇软件测试技术
第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测试需求分析129
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.1功能测试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嵌入式软件测试的特点184
13.1.4嵌入式软件测试的策略185
13.2嵌入式软件测试工具187
13.3本章小结188
13.4练习题189
第14章面向对象的软件测试190
14.1面向对象软件测试概述190
14.1.1面向对象开发技术190
14.1.2面向对象开发对软件测试的影响192
14.1.3面向对象软件测试概念192
14.1.4面向对象软件测试的内容193
14.2面向对象软件测试模型195
14.2.1面向对象分析的测试196
14.2.2面向对象设计的测试198
14.2.3面向对象编程的测试199
14.2.4面向对象的单元测试200
14.2.5面向对象的集成测试202
14.2.6面向对象的系统测试203
14.3面向对象软件测试工具JUnit203
14.4本章小结206
14.5练习题206
第15章智能化软件测试208
15.1智能化软件测试概述208
15.1.1智能化软件测试的定义208
15.1.2智能化软件测试的特性210
15.1.3智能化软件测试的核心技术211
15.2智能化软件测试的应用214
15.2.1智能化软件测试的内容214
15.2.2智能化软件测试应用场景215
15.3智能化测试工具216
15.3.1主流智能化测试工具216
15.3.2智能化测试工具的选取218
15.4本章小结219
15.5练习题219
参考文献221
