第一部分 测试理论基础 2
第1章 测试理论基础概述 2
1.1 软件测试概论 3
1.1.1 软件测试的定义 4
1.1.2 软件测试的目的、对象和原则 6
1.1.3 软件测试的分类 7
1.2 测试用例概述 10
1.2.1 测试用例的评估 11
1.2.2 测试用例的要素 12
1.3 测试工作的生命周期 13
1.3.1 计划阶段 13
1.3.2 分析阶段 14
1.3.3 设计阶段 15
1.3.4 构建阶段 15
1.3.5 循环测试阶段 16
1.3.6 最后测试和实施阶段 16
1.3.7 实施后阶段 17
1.4 Bug管理 17
1.4.1 Bug基础 17
1.4.2 发现Bug 20
1.4.3 报告Bug 22
1.4.4 提交Bug 22
1.5 自动化测试 24
1.5.1 自动化测试的优势 24
1.5.2 实施自动化测试需要考虑的问题 25
1.5.3 可自动化测试与不可自动化测试的情况 25
1.5.4 自动化测试现状及工具 26
课后练习 26
第二部分 Web应用测试 28
第2章 Web应用程序测试入门 28
2.1 Web应用程序的结构 28
2.1.1 Web应用程序简介 28
2.1.2 用户与Web应用程序的交互 28
2.1.3 Web应用程序结构的演进 29
2.2 Web应用程序常规的测试内容 36
2.2.1 功能测试 36
2.2.2 性能测试 37
2.2.3 可用性测试 38
2.2.4 客户端兼容性测试 39
2.3 系统的安全测试 39
2.3.1 进行安全测试的原因 39
2.3.2 安全的定义 40
2.3.3 安全测试考察的方面 40
2.3.4 静态测试和动态测试 45
课后练习 51
第3章 Web性能测试 52
3.1 性能测试概述 52
3.2 LoadRunner工具简介 53
3.2.1 LoadRunner的组件 53
3.2.2 LoadRunner与QTP的区别 53
3.2.3 使用LoadRunner的测试流程 54
3.3 负载测试的设计 56
3.3.1 事务 56
3.3.2 集合点 56
3.3.3 思考时间 58
3.4 对JForum论坛进行负载测试 58
3.4.1 创建虚拟用户 59
3.4.2 创建场景 72
3.4.3 运行测试 77
3.4.4 分析场景 78
课后练习 81
第4章 Web自动化测试 82
4.1 常见的Web自动化测试工具 82
4.2 WebScarab工具简介 84
4.3 WebScarab测试实例 84
4.3.1 安装WebScarab软件 84
4.3.2 运行WebScarab 85
4.3.3 IE浏览器设置代理 86
4.3.4 开启WebScarab的代理功能 87
4.3.5 拦截用户注册的POST请求 88
4.3.6 使用模糊器进行测试 91
4.4 Selenium工具简介 96
4.5 Selenium测试实例 97
4.5.1 Selenium IDE 97
4.5.2 Selenium WebDriver 102
课后练习 114
第三部分 APP测试 116
第5章 iOS APP测试 116
5.1 iOS测试策略 116
5.2 APP兼容性测试 117
5.3 APP性能测试 118
5.4 APP稳定性测试 122
5.5 iOS UI自动化测试 123
5.5.1 UI Automation简介 123
5.5.2 UI Automation脚本编辑 125
5.5.3 UI Automation实践 127
5.5.4 UI Automation日志 130
课后练习 131
第6章 Android APP自动化测试 132
6.1 Android白盒与黑盒自动化测试 132
6.2 Android Instrumentation测试框架 133
6.2.1 仪表盘技术 136
6.2.2 使用仪表盘技术编写测试用例 138
6.2.3 执行仪表盘测试用例 144
6.3 monkey工具及其使用 146
6.3.1 monkey工具命令 150
6.3.2 monkey脚本 153
6.3.3 monkey服务器 158
6.3.4 编写monkeyrunner用例 162
课后练习 170
第四部分 网络设备测试 172
第7章 网络测试概述与网络测试工具 172
7.1 网络测试概述 172
7.2 Wireshark 173
7.2.1 Wireshark发展简史 173
7.2.2 使用默认设置运行Wireshark 173
7.2.3 深入了解Wireshark工具 174
7.2.4 Wireshark过滤器 176
7.3 TCPDump 179
7.3.1 命令格式 180
7.3.2 表达式中的关键字 180
7.3.3 输出举例 181
课后练习 182
第8章 以太网协议测试 183
8.1 以太网技术介绍 183
8.1.1 以太网帧的格式 183
8.1.2 MAC地址的分类 183
8.1.3 交换机转发数据帧的规则 184
8.2 以太网测试实践 186
8.2.1 测试拓扑介绍 186
8.2.2 功能测试 187
8.2.3 负面测试 192
8.2.4 性能测试 192
8.2.5 负载测试 192
8.2.6 压力测试 192
8.2.7 用户环境测试 192
课后练习 193
第9章 VLAN测试 198
9.1 VLAN基础技术介绍 198
9.1.1 VLAN在交换机上的实现方法 199
9.1.2 使用VLAN交换机的MAC学习方法 200
9.1.3 VLAN中数据帧的转发 200
9.1.4 VLAN的优点 200
9.1.5 VLAN的配置及查看 201
9.1.6 VLAN中的Trunk链路 203
9.2 VLAN测试实践 204
9.2.1 测试拓扑介绍 204
9.2.2 功能测试 205
9.2.3 负面测试 208
9.2.4 性能测试 208
课后练习 208
第10章 STP/RSTP/MSTP测试 211
10.1 基础技术介绍 211
10.1.1 透明网桥的应用 211
10.1.2 路径回环的产生 211
10.1.3 生成树协议(STP) 212
10.1.4 快速生成树协议(RSTP) 215
10.1.5 MSTP 216
10.1.6 生成树的其他特性 220
10.1.7 配置STP 223
10.2 生成树测试实践 229
10.2.1 测试拓扑介绍 229
10.2.2 功能测试 230
10.2.3 性能测试 234
10.2.4 压力测试 234
10.2.5 用户环境测试 235
课后练习 237
第11章 ARP测试 247
11.1 ARP技术介绍 247
11.1.1 ARP简介 247
11.1.2 ARP解析过程 249
11.1.3 ARP缓存 250
11.1.4 免费ARP 250
11.1.5 ARP欺骗 251
11.1.6 配置ARP 251
11.2 ARP测试实践 252
11.2.1 ARP功能测试 252
11.2.2 ARP其他方面的测试 252
课后练习 253
第12章 路由协议RIP测试 255
12.1 RIP技术介绍 255
12.1.1 RIP简介 255
12.1.2 RIP工作原理 256
12.1.3 RIP中的计时器 256
12.1.4 路由环路 257
12.1.5 RIP v1与RIP v2的比较 261
12.2 配置RIP 261
12.2.1 创建RIP路由进程 261
12.2.2 水平分割配置 261
12.2.3 定义RIP版本 262
12.2.4 配置路由自动汇聚 263
12.2.5 RIP认证配置 263
12.2.6 RIP时钟调整 263
12.3 RIP测试实践 264
12.3.1 RIP功能测试 264
12.3.2 RIP其他方面的测试 267
课后练习 267
第13章 路由协议OSPF测试 273
13.1 OSPF技术介绍 273
13.1.1 OSPF协议简介 273
13.1.2 基本概念 273
13.1.3 报文分类 279
13.1.4 LSA介绍 283
13.1.5 OSPF协议过程 287
13.2 配置OSPF 288
13.2.1 配置任务列表 288
13.2.2 默认配置 289
13.2.3 创建OSPF路由进程 290
13.2.4 配置OSPF接口参数 291
13.2.5 配置点到多点广播网络 291
13.2.6 配置非广播网络 292
13.2.7 配置广播网络类型 293
13.2.8 监视和维护OSPF 293
13.3 OSPF测试实践 294
13.3.1 OSPF测试拓扑介绍 294
13.3.2 OSPF功能测试 295
13.3.3 OSPF其他方面的测试 305
课后练习 305
参考文献 309