好书推荐|软件测试:实践者方法

文化   2024-09-23 20:29   北京  

专业的软件测试最佳实践指南

  • 创新驱动,剖析软件测试经典方法和前沿技术重构软件测试价值体系。

  • 问题导向,融合软件测试发展需求和实战经验,解构软件测试实战方法。





1


内容简介

本书基于软件测试过程模型,构建软件测试价值模型、能力模型及基于能力战略的软件测试策略框架,讨论软件测试终止、测试预言、测试生成问题。基于图结构、图元素及软件失效行为,介绍逻辑驱动、数据驱动、剖面驱动的基础理论、基础技术及实践者方法。基于技术创新及软件测试发展需求,构建面向服务、大数据及应用、软硬件一体化测试的技术框架,讨论基于服务模型的形式化描述及解、服务实体及基于时间波动的服务实时性测试、大数据算法及应用性能测试、基于环境剖面及多域任务场景综合的一体化测试技术的最新研究成果及实践者方法。基于能力战略的软件测试策略,构建基于质量、效率驱动的软件测试框架,结合实际案例,讨论文档类、代码类、数据类、功能类、性能类、接口类和专项类软件测试的技术要求、测试策略、环境构建及实践者方法。


2


本书读者

本书可供软件测试人员、软件质量管理人员、软件工程管理人员、软件开发人员及软件工程专业本科高年级学生、研究生使用和参考。


3


作者简介


4


本书目录

向上滑动阅览

第1章  软件测试进展··· 1

1.1  软件赋能、赋值与赋智·· 1

1.2  软件质量现状·· 2

1.3  软件测试发展历程·· 5

1.4  软件测试发展展望·· 7

1.4.1  软件测试面临的挑战·· 7

1.4.2  软件测试发展趋势·· 12

第2章  软件测试基础··· 18

2.1  软件质量·· 19

2.1.1  软件质量架构·· 19

2.1.2  软件质量模型·· 20

2.1.3  质量模型的GDQA应用框架·· 22

2.2  软件测试·· 23

2.2.1  测试的充分性·· 23

2.2.2  测试的追溯性·· 23

2.2.3  测试的时机·· 23

2.2.4  测试的针对性·· 24

2.2.5  测试与调试·· 24

2.3  软件可测试性·· 25

2.3.1  可测试性生命周期过程模型·· 25

2.3.2  可测试性特征·· 26

2.3.3  不同级别的可测试性问题·· 28

2.4  软件可靠性·· 30

2.5  软件错误、缺陷、故障及失效·· 31

2.5.1  软件错误、缺陷及故障·· 31

2.5.2  软件失效·· 38

2.6  时间问题·· 40

2.6.1  基于时间的可靠性度量·· 40

2.6.2  Musa执行时间·· 41

2.6.3  时间问题再思考·· 41

2.7  运行剖面·· 42

第3章  软件测试模型··· 43

3.1  软件测试过程模型·· 43

3.1.1  软件测试过程·· 43

3.1.2  软件测试过程活动·· 44

3.1.3  基于流程的测试过程模型·· 46

3.1.4  基于RUP的测试过程模型·· 47

3.2  软件测试成熟度模型·· 50

3.2.1  模型框架·· 50

3.2.2  能力成熟度等级·· 50

3.2.3  测试能力评价体系·· 52

3.2.4  评价模型·· 57

3.3  测试过程模型选择·· 58

第4章  软件测试策略··· 59

4.1  软件测试价值模型及测试体系·· 59

4.1.1  软件测试价值模型·· 59

4.1.2  软件测试目标体系·· 60

4.1.3  软件测试体系·· 61

4.2  基于风险、能力的测试策略·· 63

4.2.1  基于风险的测试策略·· 63

4.2.2  基于能力的测试策略·· 64

4.3  基于架构的测试策略·· 65

4.3.1  分层架构·· 65

4.3.2  事件驱动架构·· 67

4.3.3  微服务架构·· 67

4.3.4  云架构·· 69

4.4  基于对象及环境的测试策略·· 70

4.4.1  测试对象模型·· 70

4.4.2  测试环境分析·· 71

4.5  基于流程及组织的测试策略·· 72

4.5.1  测试策略螺旋结构模型·· 72

4.5.2  测试流程·· 73

4.5.3  测试组织·· 73

4.6  软件测试思维·· 74

4.6.1  系统思维·· 74

4.6.2  分析思维·· 76

4.6.3  结构化思维·· 77

4.7  不确定性及控制·· 78

4.8  测试策划的实践者方法·· 80

第5章  逻辑驱动测试··· 82

5.1  静态分析·· 82

5.1.1  静态分析技术架构·· 83

5.1.2  技术评审·· 83

5.1.3  代码走查·· 84

5.1.4  代码审查·· 85

5.1.5  动态测试·· 89

5.1.6  静态分析方法比较·· 90

5.2  逻辑覆盖·· 91

5.2.1  语句覆盖·· 91

5.2.2  判定覆盖·· 93

5.2.3  条件覆盖·· 93

5.2.4  判定−条件覆盖·· 93

5.2.5  条件组合覆盖·· 94

5.2.6  修正条件判定覆盖·· 94

5.3  路径覆盖·· 98

5.3.1  图结构·· 99

5.3.2  控制流·· 99

5.3.3  独立路径·· 100

5.3.4  图形矩阵·· 103

5.3.5  基本路径覆盖用例设计·· 104

5.4  循环结构覆盖·· 105

5.4.1  循环结构·· 105

5.4.2  循环结构测试·· 106

5.4.3  Z路径覆盖下的循环测试·· 108

5.4.4  最少测试用例数估算·· 108

5.5  符号执行·· 109

5.5.1  符号执行原理·· 110

5.5.2  符号执行技术·· 111

5.5.3  符号表达式简化·· 116

5.5.4  约束条件求解·· 117

5.6  流敏感指针分析·· 117

5.6.1  流敏感分析背景·· 118

5.6.2  静态单赋值问题·· 118

5.6.3  LLVM的内部表示·· 119

5.6.4  稀疏流敏感指针分析·· 119

5.6.5  访问等效性·· 120

5.6.6  算法·· 121

5.7  面向对象软件的逻辑驱动测试·· 122

5.7.1  类在UML中的描述·· 122

5.7.2  错误表征·· 123

5.7.3  类测试设计·· 123

5.7.4  类测试数据·· 125

5.7.5  类测试延伸·· 126

5.7.6  测试流程及方法·· 129

5.8  逻辑驱动测试的边界值·· 132

5.8.1  数据类型的边界值·· 132

5.8.2  数组的边界值·· 132

5.8.3  分支判断语句的边界值·· 133

5.9  同源检测·· 134

5.9.1  代码克隆类型·· 134

5.9.2  同源检测技术原理·· 135

5.9.3  代码克隆检测原理及流程·· 136

5.9.4  代码大数据库构建·· 137

5.9.5  分析元模型·· 139

5.9.6  基于代码大数据库的克隆检测·· 139

5.10  静态分析融合·· 142

5.10.1  静态分析融合框架·· 142

5.10.2  基于语义的跨语言文本聚类·· 144

5.10.3  基于语义的检测结果与规则集
聚类·· 146

第6章  数据驱动测试··· 149

6.1  软件可用性问题·· 149

6.2  等价类划分·· 150

6.2.1  测试输入问题·· 150

6.2.2  等价类划分规则·· 152

6.2.3  等价类划分流程·· 152

6.2.4  等价类划分方法·· 153

6.2.5  基于等价类划分的加法器测试·· 154

6.3  边界值分析·· 156

6.3.1  基于不同视角的边界·· 156

6.3.2  单缺陷假设及多缺陷假设·· 158

6.3.3  汽车转速控制边界值分析·· 160

6.4  决策表驱动·· 161

6.4.1  决策表表示·· 161

6.4.2  决策表结构·· 162

6.4.3  决策表建立步骤·· 162

6.4.4  基于决策表驱动的三角形类型
判断测试·· 163

6.5  因果图分析·· 164

6.5.1  因果图符号及关系·· 164

6.5.2  基于因果图分析的测试设计流程·· 165

6.5.3  基于因果图分析的自动售货软件
测试设计·· 165

6.6  功能图分析·· 167

6.6.1  功能图模型·· 167

6.6.2  基于功能图分析的测试设计流程·· 167

6.6.3  基于功能图分析的播放器测试设计·· 167

6.7  场景驱动·· 169

6.7.1  基于事件触发的场景·· 169

6.7.2  基于场景驱动的测试设计流程·· 169

6.7.3  基于场景驱动的在线购物系统
测试设计·· 170

6.8  正交试验设计·· 171

6.8.1  正交试验设计原理·· 171

6.8.2  正交试验设计流程·· 175

6.8.3  基于正交试验的某网络系统
登录测试·· 177

6.8.4  基于正交试验的某超短波跳频
分组无线网传输时延测试·· 179

6.9  均匀试验设计·· 180

6.9.1  均匀试验设计原理·· 180

6.9.2  均匀试验设计的特点·· 183

6.9.3  均匀试验设计与正交试验设计比较·· 184

6.9.4  基于UDE的信息录入与信息查询测试·· 185

6.10  组合测试·· 187

6.10.1  输入及组合覆盖问题·· 187

6.10.2  组合测试分类及覆盖类型·· 190

6.10.3  成对组合覆盖·· 191

6.10.4  可变力度组合模型·· 204

6.10.5  成对组合测试方法比较·· 206

6.11  被动测试·· 208

6.11.1  有限状态机测试·· 209

6.11.2  EFSM测试·· 213

6.11.3  基于不变性的被动测试·· 219

第7章  面向服务软件测试··· 221

7.1  面向服务架构·· 221

7.1.1  架构·· 221

7.1.2  服务·· 223

7.1.3  环境·· 224

7.1.4  实现·· 225

7.2  面向服务测试的主要问题和框架·· 227

7.2.1  面向服务测试的主要问题·· 227

7.2.2  面向服务测试框架·· 228

7.2.3  面向服务测试对象·· 229

7.3  服务模型的形式化描述及求解·· 230

7.3.1  服务模型的形式化描述·· 230

7.3.2  形式化树模型·· 232

7.3.3  领域数据约束·· 234

7.3.4  领域数据语义描述·· 235

7.3.5  数据约束模型·· 236

7.4  服务实体测试·· 237

7.4.1  软件行为建模·· 237

7.4.2  测试框架·· 238

7.4.3  静态缺陷检测·· 238

7.4.4  测试设计模型·· 249

7.4.5  测试数据生成·· 251

7.4.6  单个操作基本测试用例生成·· 257

7.5  有状态服务实体测试·· 261

7.5.1  模型及定义·· 262

7.5.2  操作序列测试路径生成·· 269

7.5.3  服务操作序列测试·· 274

7.6  基于时间波动的服务实时性测试·· 278

7.6.1  基于时间波动的服务实时性测试框架·· 278

7.6.2  基于并发机制的单个服务访问频率预测·· 280

7.6.3  服务实体访问场景构建·· 282

7.6.4  服务响应时间波动分析·· 283

7.6.5  服务实时性测试·· 285

7.6.6  性能测试用例生成与执行·· 285

第8章  剖面驱动测试··· 289

8.1  软件可靠性测试的基本问题·· 290

8.1.1  基于运行周期的软件可靠性风险·· 290

8.1.2  与传统软件测试的差异·· 291

8.1.3  软件可靠性测试的必备条件·· 293

8.1.4  软件可靠性测试的空间覆盖·· 293

8.1.5  软件可靠性测试的不确定性·· 293

8.2  软件可靠性测试策略·· 295

8.2.1  基于风险的可靠性测试方案·· 295

8.2.2  一种理想化情况·· 295

8.2.3  完全随机的测试策略·· 296

8.2.4  混合测试策略·· 296

8.2.5  非均匀测试·· 297

8.2.6  最小测试集确定·· 297

8.3  软件可靠性建模·· 298

8.3.1  软件可靠性建模的基本问题·· 299

8.3.2  随机过程类模型·· 302

8.3.3  非随机过程类模型·· 310

8.3.4  基于构件的软件可靠性模型·· 317

8.3.5  模型评价、选择及合并·· 320

8.4  软件可靠性度量·· 323

8.4.1  度量模型视图·· 324

8.4.2  常用可靠性度量·· 325

8.4.3  复杂性度量·· 328

8.5  软件可靠性增长测试·· 334

8.5.1  软件可靠性增长预计·· 334

8.5.2  基于FTA的可靠性增长测试·· 335

8.5.3  充分性准则·· 337

8.6  软件可靠性验证测试·· 337

8.6.1  无失效执行时间验证测试·· 337

8.6.2  定时可靠性验证测试·· 338

8.6.3  序贯验证测试·· 339

8.6.4  验证测试方案·· 341

8.6.5  充分性准则·· 341

8.7  基于蒙特卡罗方法的软件可靠性测试·· 342

8.7.1  蒙特卡罗方法·· 342

8.7.2  测试过程模型·· 343

8.7.3  基于蒙特卡罗方法的测试应用·· 343

第9章  大数据及应用测试··· 348

9.1  大数据架构·· 348

9.1.1  大数据架构模型·· 349

9.1.2  大数据处理·· 350

9.2  大数据及应用测试体系·· 355

9.2.1  大数据质量·· 355

9.2.2  大数据及应用测试的基本问题·· 357

9.2.3  基于大数据应用架构的测试体系·· 358

9.3  大数据及算法测试·· 359

9.3.1  基准测试·· 359

9.3.2  聚类分析测试·· 360

9.3.3  分类算法测试·· 367

9.3.4  推荐算法测试·· 373

9.4  大数据应用性能测试·· 379

9.4.1  影响大数据应用性能的因素·· 380

9.4.2  大数据应用性能指标及监控·· 380

9.4.3  测试数据·· 381

9.4.4  负载模型及测试·· 383

9.5  大数据应用安全性测试·· 385

9.5.1  大数据应用安全要素·· 385

9.5.2  架构安全性测试·· 387

9.5.3  数据安全性测试·· 392

9.5.4  应用安全等级保护测试·· 398

第10章  软硬件一体化测试··· 402

10.1  一体化测试框架·· 402

10.1.1  基于MBSE的一体化测试·· 402

10.1.2  基于能力的一体化测试·· 403

10.1.3  多域任务场景下的一体化测试·· 405

10.2  一体化测试剖面构造·· 408

10.2.1  寿命剖面·· 408

10.2.2  任务剖面·· 408

10.2.3  环境剖面设计·· 409

10.2.4  面向任务的一体化测试剖面设计·· 410

10.2.5  一体化测试剖面设计·· 413

10.3  基于实测应力的综合环境应力剖面生成·· 414

10.3.1  应力测量·· 414

10.3.2  振动应力分析与归纳处理·· 415

10.3.3  温度应力分析与归纳处理·· 419

10.3.4  基于实测应力的综合环境剖面生成·· 420

10.3.5  基于实测应力的显控设备综合环境试验剖面生成·· 422

10.4  基于退化模型的一体化测试·· 424

10.4.1  在环系统失效机理·· 424

10.4.2  基于特征的功能性能退化模型·· 429

10.4.3  基于退化模型的系统可靠性评价·· 434

10.5  多域任务场景驱动的一体化测试·· 438

10.5.1  基于任务剖面的一体化测试用例生成·· 438

10.5.2  测试用例加载·· 441

10.5.3  基于场景模式感知的测试用例加载·· 445

10.5.4  测试用例执行·· 445

第11章  质量、效率驱动的测试实践··· 448

11.1  测试过程治理·· 448

11.1.1  测试过程模型·· 449

11.1.2  测试过程控制·· 451

11.1.3  基于系统特征状态的充分性度量·· 453

11.1.4   测试评价及改进·· 454

11.2  测试范围及测试类型·· 456

11.2.1  测试范围·· 456

11.2.2  测试类型·· 458

11.3  文档类测试·· 459

11.3.1  基于审查单的文档审查·· 460

11.3.2  基于问题驱动的文档审查·· 461

11.3.3  文档审查问题·· 461

11.3.4  性能指标描述审查·· 462

11.4  代码类测试·· 462

11.4.1  代码审查·· 462

11.4.2  代码走查·· 473

11.4.3  静态分析·· 474

11.4.4  逻辑测试·· 480

11.4.5  内存使用缺陷测试·· 485

11.4.6  软件成分分析·· 487

11.5  数据类测试·· 493

11.5.1  数据审查·· 493

11.5.2  数据处理测试·· 493

11.6  功能类测试·· 496

11.6.1  功能测试·· 497

11.6.2  边界测试·· 500

11.6.3  安装性测试·· 502

11.6.4  恢复性测试·· 503

11.7  性能类测试·· 505

11.7.1  性能测试·· 505

11.7.2  余量测试·· 510

11.7.3  容量测试·· 514

11.7.4  强度测试·· 517

11.8  接口类测试·· 520

11.8.1  接口测试·· 520

11.8.2  人机交互界面测试·· 526

11.9  专项类测试·· 531

11.9.1  安全性测试·· 531

11.9.2  互操作性测试·· 542

11.9.3  兼容性测试·· 544

参考文献··· 547


5


专家荐读

向下滑动查看所有内容





↓购书请戳↓



发布人:张梦菲

审核人:董亚峰

电子工业出版社
电子工业出版社成立于1982年10月,是工业和信息化部直属的科技与教育出版社。图书动态、图书查询、实时购买、互动交流,为客户提供一流的知识产品及服务。
 最新文章