图书目录

目 录

第1 章软件测试快速入门....................................................................................... 1

1.1 多样性测试入门......................................................................................... 2

1.1.1 随机测试........................................................................................ 2

1.1.2 等价类测试..................................................................................... 4

1.1.3 组合测试........................................................................................ 5

1.2 故障假设测试入门..................................................................................... 7

1.2.1 常见软件故障................................................................................. 8

1.2.2 边界故障假设............................................................................... 10

1.2.3 变异故障假设............................................................................... 11

1.3 图分析测试入门....................................................................................... 13

1.3.1 图生成方法................................................................................... 13

1.3.2 图结构测试................................................................................... 15

1.3.3 图元素测试................................................................................... 16

1.4 本章练习................................................................................................. 17

第2 章软件测试的定义........................................................................................ 18

2.1 测试基础概念.......................................................................................... 19

2.1.1 常用测试术语............................................................................... 19

2.1.2 常用测试分类............................................................................... 22

2.1.3 测试理论框架............................................................................... 26

2.2 待测程序示例.......................................................................................... 30

2.2.1 三角形程序Triangle ...................................................................... 30

2.2.2 日期程序NextDay ........................................................................ 31

2.2.3 均值方差程序MeanVar .................................................................. 33

2.3 测试基本问题.......................................................................................... 36

2.3.1 测试终止问题............................................................................... 37

2.3.2 测试预言问题............................................................................... 39

2.3.3 测试生成问题............................................................................... 40

2.4 本章练习................................................................................................. 43

软件测试基础

第3 章Bug 理论基础........................................................................................... 44

3.1 认识软件Bug .......................................................................................... 45

3.1.1 第一个Bug ................................................................................... 45

3.1.2 著名的Bug ................................................................................... 47

3.2 PIE 模型介绍........................................................................................... 49

3.2.1 PIE 模型的相关概念...................................................................... 49

3.2.2 PIE 模型的计算分析...................................................................... 52

3.2.3 PIE 模型与测试调试...................................................................... 54

3.3 Bug 理论分析.......................................................................................... 57

3.3.1 Bug 的反向定义............................................................................ 57

3.3.2 Bug 的不确定性............................................................................ 58

3.3.3 Bug 的非单调性............................................................................ 61

3.3.4 Bug 间的干涉性............................................................................ 62

3.4 本章练习................................................................................................. 64

第4 章多样性测试............................................................................................... 65

4.1 随机测试理论.......................................................................................... 66

4.1.1 均匀随机测试............................................................................... 66

4.1.2 非均匀随机测试............................................................................ 68

4.1.3 自适应随机测试............................................................................ 69

4.1.4 引导性随机测试............................................................................ 73

4.2 等价类理论............................................................................................. 76

4.2.1 软件等价类假设............................................................................ 77

4.2.2 软件等价类划分............................................................................ 81

4.2.3 划分随机测试方法......................................................................... 85

4.2.4 划分随机测试分析......................................................................... 87

4.3 组合理论................................................................................................. 95

4.3.1 组合测试初步............................................................................... 95

4.3.2 组合测试准则............................................................................... 98

4.3.3 组合测试生成.............................................................................. 103

4.4 本章练习................................................................................................ 106

第5 章故障假设测试.......................................................................................... 107

5.1 边界故障假设......................................................................................... 108

5.1.1 输入边界值分析........................................................................... 108

5.1.2 计算边界值分析........................................................................... 114

VIII

目 录

5.1.3 输出边界值分析........................................................................... 117

5.2 变异故障假设......................................................................................... 120

5.2.1 变异分析基本概念........................................................................ 120

5.2.2 变异测试优化技术........................................................................ 123

5.2.3 变异分析理论框架........................................................................ 126

5.3 逻辑故障假设......................................................................................... 132

5.3.1 逻辑测试基础.............................................................................. 132

5.3.2 逻辑故障结构.............................................................................. 135

5.3.3 逻辑约束求解.............................................................................. 140

5.4 本章练习................................................................................................ 143

第6 章图分析测试.............................................................................................. 144

6.1 图测试基础............................................................................................ 145

6.1.1 图论基础..................................................................................... 145

6.1.2 控制流图..................................................................................... 147

6.1.3 数据流图..................................................................................... 149

6.1.4 事件流图..................................................................................... 151

6.2 图结构测试方法...................................................................................... 154

6.2.1 L-路径测试................................................................................. 155

6.2.2 主路径测试.................................................................................. 156

6.2.3 基本路径测试.............................................................................. 158

6.3 图元素测试方法...................................................................................... 162

6.3.1 数据流测试.................................................................................. 162

6.3.2 逻辑测试..................................................................................... 166

6.4 本章练习................................................................................................ 173

第7 章开发者测试.............................................................................................. 174

7.1 开发者多样性测试.................................................................................. 175

7.1.1 代码多样性策略........................................................................... 175

7.1.2 组合多样性策略........................................................................... 179

7.1.3 行为多样性策略........................................................................... 183

7.2 开发者故障假设测试............................................................................... 187

7.2.1 边界故障假设.............................................................................. 187

7.2.2 变异故障假设.............................................................................. 190

7.2.3 逻辑故障假设.............................................................................. 193

7.3 开发者测试进阶...................................................................................... 198

7.3.1 mock 测试对象............................................................................. 198

IX

软件测试基础

7.3.2 从单元到集成.............................................................................. 200

7.3.3 开发者测试评估........................................................................... 203

7.4 本章练习................................................................................................ 206

第8 章专项测试................................................................................................. 207

8.1 功能测试................................................................................................ 208

8.1.1 功能测试简介.............................................................................. 208

8.1.2 多样性功能测试........................................................................... 210

8.1.3 故障假设功能测试........................................................................ 216

8.2 性能测试................................................................................................ 221

8.2.1 性能测试简介.............................................................................. 222

8.2.2 多样性性能测试........................................................................... 225

8.2.3 故障假设性能测试........................................................................ 230

8.3 安全测试................................................................................................ 235

8.3.1 安全测试简介.............................................................................. 235

8.3.2 多样性安全测试........................................................................... 238

8.3.3 故障假设安全测试........................................................................ 242

8.4 本章练习................................................................................................ 247

参考文献.............................................................................................................. 248