图书介绍

软件测试基础教程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

软件测试基础教程
  • (美)马瑟著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111351887
  • 出版时间:2011
  • 标注页数:382页
  • 文件大小:126MB
  • 文件页数:400页
  • 主题词:软件-测试-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件测试基础教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 预备知识2

第1章 软件测试的基本知识2

1.1 人、错误和测试2

1.1.1 错误、故障和失效3

1.1.2 测试自动化3

1.1.3 开发人员与测试人员是两种角色4

1.2 软件质量5

1.2.1 软件质量特性5

1.2.2 软件可靠性5

1.3 需求、运行结果和正确性6

1.3.1 输入域与软件正确性7

1.3.2 有效输入与无效输入7

1.4 正确性与可靠性8

1.4.1 正确性8

1.4.2 可靠性9

1.4.3 软件使用与操作剖面9

1.5 测试与调试10

1.5.1 制订测试计划11

1.5.2 构造测试数据11

1.5.3 运行被测软件12

1.5.4 指定被测软件的行为12

1.5.5 评价被测软件运行结果的正确性14

1.5.6 测试预言的构造15

1.6 测试度量16

1.6.1 组织级度量17

1.6.2 项目级度量17

1.6.3 过程级度量17

1.6.4 产品级度量:通用度量18

1.6.5 产品级度量:面向对象软件19

1.6.6 进度跟踪与趋势19

1.6.7 静态度量与动态度量20

1.6.8 可测试性20

1.7 软件测试与硬件测试20

1.8 测试与验证22

1.9 缺陷管理22

1.10 执行历史23

1.11 测试生成策略24

1.12 静态测试25

1.12.1 走查26

1.12.2 审查26

1.12.3 在静态测试中使用静态代码分析工具26

1.12.4 软件复杂性与静态测试27

1.13 基于模型的测试与模型检测27

1.14 控制流图28

1.14.1 基本块29

1.14.2 流图的定义与图形表示30

1.14.3 路径31

1.15 决定者与后决定者34

1.16 程序依赖图35

1.16.1 数据依赖性35

1.16.2 控制依赖性36

1.17 字符串、语言与正则表达式37

1.18 测试的类型38

1.18.1 分类因子C1:测试生成的依据39

1.18.2 分类因子C2:软件生命周期阶段40

1.18.3 分类因子C3:目标导向的测试41

1.18.4 分类因子C4:被测软件制品43

1.18.5 分类因子C5:测试过程模型44

1.19 饱和效应46

1.19.1 信赖度与真实可靠性47

1.19.2 饱和区间47

1.19.3 信赖度的错觉48

1.19.4 降低偏差△48

1.19.5 对测试过程的影响48

小结49

参考文献注释49

练习52

第二部分 测试生成56

第2章 基于需求的测试生成56

2.1 引言56

2.2 测试用例选择问题57

2.3 等价类划分58

2.3.1 缺陷定位59

2.3.2 关系与等价类划分60

2.3.3 变量的等价类62

2.3.4 一元化分与多元化分65

2.3.5 等价类划分的完整过程66

2.3.6 基于等价类的测试用例设计69

2.3.7 GUI设计与等价类71

2.4 边界值分析73

2.5 类别划分法76

2.6 因果图分析81

2.6.1 因果图中的基本符号82

2.6.2 创建因果图84

2.6.3 从因果图生成判定表86

2.6.4 避免组合爆炸的启发式方法90

2.6.5 从判定表生成测试用例92

2.7 基于谓词的测试生成92

2.7.1 谓词和布尔表达式92

2.7.2 谓词测试中的故障模型94

2.7.3 谓词约束95

2.7.4 谓词测试准则96

2.7.5 生成BOR、BRO和BRE充分性测试用例97

2.7.6 因果图与谓词测试108

2.7.7 故障传播108

2.7.8 谓词测试实践110

小结112

参考文献注释112

练习114

第3章 基于有穷状态模型的测试生成119

3.1 软件设计与测试119

3.2 有穷状态机120

3.2.1 用输入序列激活FSM122

3.2.2 转换函数和输出函数的表格表示123

3.2.3 FSM的特征123

3.3 符合性测试125

3.3.1 重置输入126

3.3.2 测试的难题127

3.4 故障模型127

3.4.1 FSM的变体129

3.4.2 故障覆盖率130

3.5 特征集131

3.5.1 k等价划分的构造132

3.5.2 特征集的构造134

3.5.3 等价集135

3.6 W方法136

3.6.1 假设136

3.6.2 最大状态数136

3.6.3 转换覆盖集的计算136

3.6.4 构造集合Z137

3.6.5 导出测试集138

3.6.6 采用W方法测试139

3.6.7 错误检测过程141

3.7 部分W方法142

3.7.1 采用m=n的Wp方法测试142

3.7.2 采用m>n的Wp方法测试144

3.8 UIO串方法148

3.8.1 假设148

3.8.2 UIO串149

3.8.3 核心行为与非核心行为150

3.8.4 生成UIO串151

3.8.5 区分符号160

3.8.6 测试生成162

3.8.7 测试优化163

3.8.8 故障检测164

3.9 自动机理论与基于控制流的技术166

3.9.1 n路径覆盖168

3.9.2 自动机理论方法的比较169

小结169

参考文献注释170

练习171

第4章 基于组合设计的测试生成技术175

4.1 组合设计175

4.1.1 测试配置和测试集175

4.1.2 输入空间与配置空间建模176

4.2 组合测试设计过程179

4.3 故障模型180

4.4 拉丁方阵182

4.5 相互正交的拉丁方阵183

4.6 对偶设计:二值参数184

4.7 对偶设计:多值参数188

4.8 正交矩阵193

4.9 覆盖矩阵与混合取值覆盖矩阵196

4.9.1 覆盖矩阵196

4.9.2 混合取值覆盖矩阵197

4.10 强度大于2的矩阵198

4.11 生成覆盖矩阵198

小结204

参考文献注释204

练习206

第5章 回归测试的选择、最小化和优先级排序209

5.1 什么是回归测试209

5.2 回归测试过程210

5.2.1 测试重确认、选择、最小化和优先级排序210

5.2.2 测试准备211

5.2.3 测试排序211

5.2.4 测试执行212

5.2.5 输出比较213

5.3 回归测试选择问题213

5.4 回归测试选择方法集214

5.4.1 全测试策略214

5.4.2 随机选择测试214

5.4.3 选择遍历修改测试用例214

5.4.4 测试最小化214

5.4.5 测试优先级排序215

5.5 利用执行轨迹进行回归测试的选择215

5.5.1 获取执行轨迹216

5.5.2 选择回归测试用例217

5.5.3 处理函数调用220

5.5.4 处理声明中的变化220

5.6 利用动态切片进行回归测试的选择222

5.6.1 动态切片223

5.6.2 计算动态切片223

5.6.3 选择测试用例225

5.6.4 潜在依赖225

5.6.5 计算相关切片228

5.6.6 语句的添加和删除228

5.6.7 标识切片变量229

5.6.8 简化的动态依赖图229

5.7 测试选择算法的可扩展性230

5.8 测试最小化232

5.8.1 集合覆盖问题232

5.8.2 测试最小化过程233

5.9 测试优先级排序234

5.10 回归测试工具237

小结238

参考文献注释238

练习242

第三部分 测试充分性评价与测试增强248

第6章 基于控制流和数据流的测试充分性评价248

6.1 测试充分性基础248

6.1.1 什么是测试充分性248

6.1.2 测试充分性的度量249

6.1.3 通过度量充分性来增强测试250

6.1.4 无效性和测试充分性252

6.1.5 错误检测和测试增强254

6.1.6 单次和多次执行255

6.2 基于控制流的测试充分性准则256

6.2.1 语句覆盖和块覆盖256

6.2.2 条件和判定258

6.2.3 判定覆盖259

6.2.4 条件覆盖260

6.2.5 条件/判定覆盖262

6.2.6 多重条件覆盖263

6.2.7 线性代码序列和跳转覆盖265

6.2.8 改进的条件/判定覆盖267

6.2.9 复合条件的MC/DC充分测试269

6.2.10 MC/DC覆盖的定义272

6.2.11 最小MC/DC测试276

6.2.12 错误检测和MC/DC充分性276

6.2.13 短路计算和无效性278

6.2.14 测试集对需求的追踪279

6.3 数据流概念280

6.3.1 定义和使用281

6.3.2 c-use和p-use282

6.3.3 全局和局部的定义与使用282

6.3.4 数据流图282

6.3.5 def-clear路径284

6.3.6 def-use对285

6.3.7 def-use链286

6.3.8 优化286

6.3.9 数据上下文和有序的数据上下文287

6.4 基于数据流的测试充分性准则289

6.4.1 c-use覆盖289

6.4.2 p-use覆盖290

6.4.3 all-use覆盖291

6.4.4 k-dr链覆盖292

6.4.5 使用k-dr链覆盖293

6.4.6 无效的c-use和p-use293

6.4.7 上下文覆盖294

6.5 控制流与数据流296

6.6 包含关系297

6.7 结构性测试与功能性测试298

6.8 覆盖度量的可量测性299

小结300

参考文献注释300

练习305

第7章 基于程序变异的测试充分性评价310

7.1 导引310

7.2 变异和变体310

7.2.1 一阶变体与高阶变体311

7.2.2 变体的语法与语义312

7.2.3 强变异和弱变异314

7.2.4 为什么要变异315

7.3 用变异技术进行测试评价316

7.3.1 测试充分性评价的步骤316

7.3.2 测试充分性评价的替代过程321

7.3.3 被区分的变体与被杀掉的变体322

7.3.4 区分变体的条件322

7.4 变异算子323

7.4.1 算子类型324

7.4.2 变异算子的语言依赖性325

7.5 变异算子的设计326

7.5.1 评判变异算子优良的准则326

7.5.2 指导准则327

7.6 变异测试的基本原则327

7.6.1 称职程序员假设327

7.6.2 耦合效应328

7.7 等价变体328

7.8 通过变异进行错误检测329

7.9 变体的类型331

7.10 C语言的变异算子331

7.10.1 什么没有被变异331

7.10.2 线性化332

7.10.3 执行序列334

7.10.4 执行序列的影响336

7.10.5 全局标识符集和局部标识符集336

7.10.6 全局引用集与局部引用集336

7.10.7 程序常量变异339

7.10.8 运算符变异340

7.10.9 语句变异344

7.10.10 程序变量变异354

7.11 Java语言变异算子357

7.11.1 传统变异算子358

7.11.2 继承359

7.11.3 多态与动态绑定361

7.11.4 方法重载362

7.11.5 Java特有的变异算子363

7.12 综合比较:Fortran 77、C与Java变异算子364

7.13 变异测试工具366

7.14 低成本变异测试366

7.14.1 划分变异函数的优先级367

7.14.2 选择使用部分变异算子367

小结368

参考文献注释369

练习377

热门推荐