《面向函数调用路径的测试技术与方法》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:牟永敏著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302365440
  • 页数:264 页
图书介绍:第一部分介绍了软件测试基础知识,并对测试用例的设计和测试覆盖分析进行了细致讲解;第二部以软件测试的过程为主线,介绍了单元测试、集成测试、系统测试、验收测试和回归测试过程中相关的测试技术和方法;第三部介绍了当前较为热门的自动化测试技术和面向对象的测试技术。

第1章 绪论 1

1.1 软件测试 1

1.1.1 软件测试的目的与意义 1

1.1.2 软件测试分类 2

1.1.3 国内外软件测试现状 5

1.2 回归测试 6

1.2.1 回归测试概念 6

1.2.2 为什么要进行回归测试 6

1.2.3 回归测试与其他测试的区别 7

1.2.4 回归测试过程 7

1.3 面向对象的软件测试 10

1.3.1 面向对象的软件测试概念 10

1.3.2 面向对象的软件测试模型 11

1.4 路径覆盖测试 12

1.4.1 路径覆盖测试概念 12

1.4.2 为什么要进行路径覆盖测试 12

1.4.3 路径覆盖测试方法 12

1.5 基于函数调用关系的路径覆盖测试 14

1.5.1 基于函数调用关系的路径覆盖测试概念 14

1.5.2 为什么要进行基于函数调用关系的路径覆盖测试 16

1.5.3 基于函数调用关系的路径覆盖测试方法 17

1.6 本章小结 18

第2章 面向过程的函数静态调用路径生成 19

2.1 静态分析研究现状 19

2.1.1 代码解析 19

2.1.2 函数包含关系 21

2.1.3 函数路径测试原理 22

2.2 面向C语言的函数静态调用路径生成 23

2.2.1 相关概念 23

2.2.2 控制结构的转化 25

2.2.3 模型设计 26

2.2.4 静态分析算法 29

2.2.5 函数路径提取算法 30

2.2.6 C语言函数调用路径提取实例 37

2.3 面向嵌入式系统的函数静态调用路径生成 39

2.3.1 嵌入式系统测试现状 39

2.3.2 嵌入式软件测试技术 40

2.3.3 嵌入式函数调用路径提取 42

2.3.4 嵌入式函数调用路径提取实例 53

2.4 本章小结 56

第3章 面向对象的函数静态调用路径生成 57

3.1 面向对象的技术特点 57

3.1.1 封装 57

3.1.2 继承 58

3.1.3 多态 59

3.2 面向对象的软件测试研究现状 60

3.3 面向C++的函数静态调用路径生成 61

3.3.1 系统框架 61

3.3.2 代码精简模块 62

3.3.3 C++静态分析 63

3.3.4 重载唯一性确定 68

3.3.5 多态唯一性确定 73

3.3.6 模板唯一性确定 85

3.3.7 C++函数调用路径生成 87

3.3.8 C++函数静态调用路径实例 94

3.4 面向Java的函数静态调用路径生成 99

3.4.1 多态性 99

3.4.2 反射技术 101

3.4.3 线程池技术 102

3.4.4 Soot编译优化工具 105

3.4.5 多态唯一性确定 106

3.4.6 Java函数静态调用路径提取实例 112

3.5 本章小结 117

第4章 面向函数调用关系的覆盖分析 118

4.1 覆盖分析 118

4.1.1 覆盖分析概念 118

4.1.2 覆盖分析方法 119

4.1.3 基于覆盖分析的测试过程 119

4.2 覆盖分析技术现状 120

4.2.1 控制流覆盖 120

4.2.2 数据流覆盖 132

4.2.3 功能覆盖 136

4.3 函数动态调用路径生成 136

4.3.1 函数动态调用路径 136

4.3.2 插装预处理 137

4.3.3 函数动态调用路径生成 143

4.4 覆盖分析 149

4.4.1 函数动态调用路径匹配 149

4.4.2 覆盖率计算 151

4.5 本章小结 152

第5章 面向函数调用关系的测试用例优化 153

5.1 面向函数调用关系的测试用例集约简 153

5.1.1 测试用例集约简概念 153

5.1.2 为什么要测试用例集约简 154

5.1.3 测试用例集约简的技术现状 154

5.1.4 重复的动态路径 155

5.1.5 冗余的动态路径 156

5.1.6 必不可少的动态路径 156

5.1.7 代表集与最优代表集 156

5.1.8 测试用例约简算法 157

5.1.9 测试用例约简实例 158

5.2 面向函数调用关系的测试用例优先级排序 162

5.2.1 测试用例优先级排序概念 162

5.2.2 为什么要进行测试用例优先级排序 162

5.2.3 测试用例优先级排序的技术现状 163

5.2.4 相关概念 164

5.2.5 测试覆盖矩阵生成 164

5.2.6 测试用例优先级排序算法 167

5.2.7 测试用例优先级排序实例 168

5.3 本章小结 170

第6章 面向函数调用关系的测试用例自动生成 171

6.1 测试用例自动生成 171

6.1.1 测试用例自动生成概念 171

6.1.2 为什么要进行测试用例自动生成 171

6.1.3 测试用例生成的过程 173

6.2 测试用例自动生成技术现状 173

6.3 测试用例自动生成算法 176

6.3.1 函数调用关系树 176

6.3.2 带控制条件的函数调用路径生成 178

6.3.3 扩展信息流分析规则 180

6.3.4 控制流影响分析 181

6.3.5 测试用例自动生成 183

6.4 测试用例自动生成实例 186

6.4.1 测试用例覆盖率分析 188

6.4.2 测试用例生成效率分析 189

6.5 本章小结 190

第7章 面向函数调用关系的软件变更影响分析 191

7.1 软件变更影响分析 191

7.1.1 软件变更影响分析概念 191

7.1.2 为什么要进行软件变更影响分析 191

7.1.3 软件变更影响分析的过程 191

7.2 软件变更影响分析技术现状 192

7.3 软件变更函数路径分析 195

7.3.1 基本思想 195

7.3.2 最长公共序列算法 195

7.3.3 分治策略 200

7.3.4 改进的最长公共序列算法 201

7.3.5 无效变更分析 202

7.4 热点路径 203

7.4.1 热点路径的概念 204

7.4.2 C语言常见内存错误 204

7.4.3 热点路径的实现 207

7.5 软件变更函数路径分析实例 209

7.5.1 实验评测 209

7.5.2 效果展示 209

7.6 本章小结 214

第8章 Visual Studio依赖图生成工具介绍 215

8.1 工具简介 215

8.2 DGML的应用价值 215

8.2.1 可视化依赖关系 215

8.2.2 查找项目代码存在的问题 216

8.2.3 实例介绍 217

8.3 其他 221

8.3.1 Code Maps 221

8.3.2 DGQL 222

8.4 本章小结 223

第9章 Regression Test 2.0工具介绍 224

9.1 Regression Test for C/C++2.0简介 224

9.2 Regression Test for C/C++2.0的应用价值 224

9.3 工具介绍 225

9.3.1 系统架构 225

9.3.2 主界面介绍 225

9.3.3 其他界面展示 227

9.3.4 界面操作步骤 230

9.4 本章小结 230

第10章 DTS工具介绍 231

10.1 DTS工具简介 231

10.2 DTS的应用价值 233

10.3 工具介绍 234

10.3.1 系统概述 234

10.3.2 界面简介 234

10.3.3 使用流程 237

10.3.4 辅助工具 252

10.4 本章小结 257

附录A Windows API绘图程序 258

参考文献 263

后记 264