注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2015年11月

出版社:电子工业出版社

以下为《软件测试程序设计技术》的配套数字资源,这些资源在您购买图书后将免费附送给您:
试读
  • 电子工业出版社
  • 9787121273377
  • 1-1
  • 350146
  • 16开
  • 2015年11月
  • 304
  • 软件工程
  • 研究生、本科
内容简介
本书从软件测试的基本理论出发,围绕TTCN-3核心语言国际测试标准,并结合大量的实际测试案例,对软件测试的相关方法与技术进行了详细的介绍,使读者能够更贴近实际的去了解软件测试。全书共分为10章,主要内容包括:软件测试概述、软件测试基础、TTCN树表描述语言简介、TTCN-3核心语言概述、TTCN-3类型声明、TTCN-3语句与函数、TTCN-3测试配置及操作、TTCN-3测试描述和控制、TTCN-3系统测试与测试工具和基于TTCN-3的软件测试案例。 本书内容全面、实例丰富、可操作性强,做到了理论与实践的有机结合。本书适合计算机专业高年级本科生和研究生作为教材或教学参考书,也适合作为软件测试和软件开发相关人员技术参考书。
目录
第1章 软件测试概述 1
1.1 软件故障与软件测试 1
1.2 软件测试与软件开发过程 2
1.2.1 顺序生命周期模型
(Sequential Lifecycle Models) 3
1.2.2 渐进(Progressive Development)
生命周期模型 4
1.2.3 迭代生命周期模型(Iterative
Lifecycle Model) 5
1.3 软件测试方法与测试内容 5
1.3.1 黑盒测试 6
1.3.2 白盒测试 6
1.3.3 ALAC(Act-like-a-customer)
测试 6
1.3.4 单元测试 6
1.3.5 综合测试 6
1.3.6 确认测试 7
1.3.7 α、β测试 7
1.3.8 系统测试 7
1.3.9 面向对象的软件测试 8
1.3.10 协议软件测试 9
1.4 软件测试原则与特点 10
1.4.1 软件测试的原则 10
1.4.2 软件测试特点 10
第2章 软件测试基础 12
2.1 软件测试白盒法 12
2.1.1 逻辑覆盖法 12
2.1.2 基本路径测试法 16
2.2 软件测试黑盒法 21
2.2.1 等价类划分法 21
2.2.2 边界值分析 23
2.3 小结 24
第3章 TTCN树表描述语言程序设计 25
3.1 协议一致性测试基础框架 25
3.1.1 协议一致性测试系统结构 25
3.1.2 X-协议一致性测试 26
3.2 测试系统行为描述 27
3.2.1 行为树 27
3.2.2 TTCN行为描述 28
3.3 TTCN数据类型和取值 30
3.3.1 预定义数据类型 30
3.3.2 取值 30
3.3.3 简单用户定义类型 30
3.3.4 构造类型 31
3.4 PCOs和CPs 31
3.4.1 通信模型 31
3.4.2 发送一个ASP 31
3.4.3 接收一个ASP 31
3.4.4 声明PCO类型 31
3.4.5 使用PCOs和CPs 32
3.4.6 PCO和CP快照 32
3.4.7 声明CPs 32
3.5 发送语句 32
3.5.1 发送ASP 32
3.5.2 执行发送语句 33
3.5.3 发送一个PDU 33
3.5.4 发送协同信息 33
3.6 接收语句 33
3.6.1 接收ASP 33
3.6.2 执行接收语句 34
3.6.3 接收PDU 34
3.6.4 接收协同信息 34
3.6.5 OTHERWISE语句 34
3.7 定义ASP、PDU和CM类型 35
3.7.1 TTCN复合类型 35
3.7.2 类型链Chaining 35
3.7.3 ASN.1复合类型 35
3.7.4 局部类型定义 36
3.7.5 通过引用定义类型 36
3.7.6 定义ASPs 36
3.7.7 定义PDUs 37
3.7.8 构造ASPs和PDUs的子集 38
3.7.9 定义CM类型 38
3.7.10 在行为树中使用ASPs和
PDUs 39
3.8 TTCN表达式 40
3.8.1 TTCN运算符 40
3.8.2 TTCN函数 41
3.9 说明ASP、PDU和CM值 42
3.9.1 Static和Dynamic链 42
3.9.2 复合ASN.1值 43
3.9.3 ASP约束 43
3.9.4 PDU的约束 43
3.9.5 构造类型的约束 44
3.9.6 CM约束 45
3.10 约束引用 45
3.10.1 参数化的约束 46
3.10.2 发送和接收约束 46
3.10.3 约束与OTHERWISE语句 47
3.11 接收约束值匹配 48
3.11.1 指定值(Specific Value) 48
3.11.2 匹配机制(Matching
Mechanisms) 50
3.12 编码 52
3.13 引用复合类型元素 53
3.13.1 在SEND和RECEIVE语句的
上下文中引用 53
3.13.2 引用ASN.1元素 54
3.13.3 捕获接收到的ASPs和
PDUs 55
3.14 裁决(Verdicts) 55
3.14.1 结果变量(Result Variable) 56
3.14.2 初步结果 56
3.14.3 最终结果(Final Verdicts) 56
3.15 GOTO语句 57
3.16 定时器语句 57
3.17 常量与变量 59
3.18 动态行为描述 61
3.19 使用别名 62
3.20 测试例模块化 63
3.20.1 测试步 63
3.20.2 缺省行为 65
3.21 TTCN中的参数列表 67
3.22 测试例选择 68
3.23 TTCN测试套结构 68
第4章 TTCN-3基本语言元素 85
4.1 TTCN-3概述 85
4.1.1 实例 85
4.1.2 范围规则 88
4.1.3 参数化 90
4.2 数据类型和值 93
4.2.1 基本类型和值 93
4.2.2 基本类型的子类型 95
4.2.3 记录类型 97
4.2.4 集合类型 99
4.2.5 枚举类型 101
4.2.6 联合类型 102
4.3 任意类型 102
4.4 数组 103
4.5 递归类型 104
4.6 类型的兼容 104
4.6.1 记录类型兼容性 104
4.6.2 枚举类型兼容性 105
4.6.3 子结构化的兼容性 107
4.6.4 成分类型的类型兼容性 107
4.6.5 通信操作的类型兼容性 107
4.6.6 类型变换 107
4.7 模块(Modules) 108
4.7.1 模块命名 108
4.7.2 模块参数 108
4.7.3 模块定义 109
4.7.4 模块控制 110
4.7.5 从模块导入 111
4.7.6 引入规则 113
4.8 运算符 119
4.8.1 算术运算符 120
4.8.2 串运算符 121
4.8.3 关系运算符 121
4.8.4 逻辑运算符 123
4.8.5 位运算符 123
4.8.6 移位运算符 124
4.8.7 循环移位运算符 125
第5章 类型声明 127
5.1 常量声明 127
5.2 变量声明 127
5.3 定时器声明 127
5.4 消息声明 128
5.5 过程特征声明 129
5.5.1 阻塞的和非阻塞的通信中的
过程特征 129
5.5.2 过程信号的参数 129
5.5.3 远程过程的返回值 129
5.5.4 例外描述 130
5.6 模板声明 130
5.6.1 消息模板声明 130
5.6.2 过程信号模板声明 132
5.6.3 模板匹配机制 133
5.6.4 模板参数化 134
5.6.5 作为参数传递模板 135
5.6.6 修改模板 135
5.6.7 改变模板字段 136
5.6.8 匹配操作 137
5.6.9 操作的值 137
第6章 语句、函数、可选步与通信 138
6.1 程序语句和操作 138
6.2 基本的程序语句 140
6.2.1 表达式 140
6.2.2 赋值 140
6.2.3 日志语句 140
6.2.4 标签语句 141
6.2.5 Goto语句 141
6.2.6 If-else语句 142
6.2.7 for语句 143
6.2.8 While语句 143
6.2.9 do-while语句 144
6.2.10 停止执行语句 144
6.3 行为的程序语句 144
6.3.1 选择性行为 144
6.3.2 repeat语句 149
6.3.3 交叉的行为 149
6.3.4 返回语句 151
6.4 函数和可选步 152
6.4.1 函数 152
6.4.2 可选步 154
6.4.3 用于不同成分类型的函数和
可选步 157
6.5 默认处理 157
6.5.1 默认机制 157
6.5.2 缺省引用 157
6.5.3 激活操作 158
6.5.4 去激活操作 158
6.6 通信操作 159
6.6.1 通信操作的通用格式 159
6.6.2 基于消息的通信 161
6.6.3 基于过程的通信 163
6.6.4 检查操作 170
6.6.5 控制通信端口 171
6.6.6 any和all与端口一起使用 172
6.7 定时器操作 172
6.7.1 启动定时器操作 173
6.7.2 停止定时器操作 173
6.7.3 读定时器操作 173
6.7.4 运行定时器操作 174
6.7.5 超时操作 174
6.7.6 与定时器一起使用的any和all
的总结 174
第7章 TTCN-3核心语言程序设计 175
7.1 测试配置 175
7.1.1 端口通信模型 175
7.1.2 连接上的限制 176
7.1.3 抽象测试系统接口 177
7.1.4 定义通信端口类型 177
7.1.5 定义通信类型 179
7.1.6 SUT内部的编址实体 180
7.1.7 成分引用 180
7.1.8 定义测试系统接口 182
7.2 配置操作 182
7.2.1 创建操作 182
7.2.2 连接和映射操作 183
7.2.3 断开连接和取消映射操作 184
7.2.4 MTC、System和Self 操作 185
7.2.5 启动测试成分操作 185
7.2.6 停止测试成分操作 186
7.2.7 运行操作 186
7.2.8 完成操作 187
7.2.9 使用成分数组 188
7.2.10 带有成分的any和all的使用
总结 188
第8章 测试描述与测试控制 189
8.1 描述属性 189
8.1.1 显示属性 189
8.1.2 值的编码 189
8.1.3 扩展属性 192
8.1.4 属性的范围 192
8.1.5 属性的重写规则 192
8.1.6 改变引入语言元素的属性 194
8.2 测试用例 194
8.3 测试判定操作 195
8.3.1 测试用例判定 195
8.3.2 判定值和重写规则 195
8.4 外部动作 196
8.5 模块控制部分 197
8.5.1 测试用例的执行 197
8.5.2 测试用例的终止(Termination
of test cases) 197
8.5.3 测试用例的控制执行 197
8.5.4 测试用例选择 198
8.5.5 控制部分中定时器的使用 199
第9章 系统测试及测试工具 200
9.1 性能测试 200
9.1.1 性能测试的基本概念 200
9.1.2 性能测试方法 200
9.1.3 性能测试执行 201
9.1.4 性能测试案例分析 202
9.2 压力测试(负载测试、并发测试) 204
9.2.1 压力测试的基本概念 204
9.2.2 压力测试方法 205
9.2.3 压力测试执行 206
9.3 容量测试 206
9.3.1 容量测试基本概念 206
9.3.2 容量测试方法 207
9.3.3 容量测试执行 208
9.3.4 一个容量测试案例分析 208
9.4 健壮性测试 210
9.4.1 健壮性测试基本概念 210
9.4.2 健壮性测试方法 210
9.4.3 一个健壮性测试案例分析 211
9.5 安全性测试 211
9.5.1 安全性测试基本概念 211
9.5.2 安全性测试方法 212
9.5.3 一个安全性测试案例分析 217
9.6 可靠性测试 219
9.6.1 可靠性测试基本概念 219
9.6.2 可靠性测试方法 219
9.6.3 可靠性评价模型 219
9.6.4 可靠性测试执行 222
9.6.5 一个可靠性测试案例分析 223
9.7 恢复性测试与备份测试 224
9.8 兼容性测试 225
9.9 安装性测试 225
9.10 可用性测试 226
9.10.1 可用性测试的概念 226
9.10.2 可用性测试方法 227
9.11 配置性测试 227
9.11.1 配置性测试的概念 228
9.11.2 配置性测试方法 228
9.12 文档性测试 229
9.12.1 文档性测试的概念 229
9.12.2 文档性测试方法 230
9.13 GUI测试 231
9.13.1 GUI测试的概念及方法 232
9.13.2 一个GUI测试案例分析 234
9.14 验收测试 234
9.14.1 验收测试内容与策略 234
9.14.2 验收测试方法 235
9.15 回归测试 235
9.15.1 回归测试的概念 235
9.15.2 回归测试方法 236
9.16 测试工具及其应用 237
9.16.1 测试种类 237
9.16.2 QACenter 240
第10章 基于TTCN-3的软件测试案例 243
10.1 TTCN-3在IPv6一致性测试中的
应用 243

10.1.1 IPv6测试集合的形式化
描述 243
10.1.2 测试方法 244
10.1.3 IPv6测试集中的一个
测试例 245
10.2 基于HTTP协议应用系统的
测试 247
10.2.1 HTTP协议 247
10.2.2 HTTP协议软件一致性
测试 248
10.3 天气预报服务的功能测试 252
10.4 魔兽游戏的测试 254
10.5 水果机游戏测试 267
10.6 即时通信软件测试案例分析 271
10.7 QQ是否在线测试 279
10.8 Web应用测试 284
附录A QQ在线测试抽象测试套编码 288
附录B Web应用测试详细的TTCN-3
代码 290