《全程软件测试 第3版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:朱少民著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2019
  • ISBN:7115496560
  • 页数:406 页
图书介绍:本书共分12章,以案例为背景,以项目实际运行的全过程为路线图,全面展开软件测试的思维方式、流程、方法和优秀实践,涉及测试计划、测试需求分析与设计、软件评审、自动化测试、测试执行、缺陷跟踪、结果评估等关键内容,最后辅以深刻的剖析与总结。新版更侧重架构,策略、分析、设计和基础的内容会去掉。

第1章 360度看软件测试:一览无余 1

1.1 软件测试基本认知——正反思维 2

1.2 从狭义测试到广义测试 3

1.3 基于质量的认知 5

1.4 基于风险的认知 8

1.5 基于社会性的认知 8

1.6 基于经济的认知 9

1.7 基于标准的认知 9

1.8 基于Test Oracle的认知 11

1.9 基于批判性思维的认知 14

1.10 基于传统开发模式的认知 16

1.11 基于敏捷开发模式的认知 17

1.12 小结 20

第2章 全程测试:闪光的思想 22

2.1 测试左移与右移 23

2.2 测试驱动开发 24

2.3 传统研发模式的测试环 28

2.4 敏捷研发中的测试环 30

2.5 DevOps与测试 32

2.6 小结 34

第3章 准备:基础设施与TA框架 35

3.1 虚拟机与容器技术 35

3.2 基础设施即代码 38

3.3 持续集成环境 39

3.3.1 版本管理与构建 41

3.3.2 CI管理工具的安装 42

3.4 自动化测试框架 45

3.4.1 自动化测试框架的构成与分类 45

3.4.2 单元测试框架 48

3.4.3 UITA框架 51

3.4.4 移动应用TA框架 57

3.4.5 面向API的TA测试框架 60

3.4.6 验收测试框架 64

3.5 DevOps完整工具链 68

3.6 小结 72

第4章 准备:个体与团队 73

4.1 全栈,体现了技术深度 74

4.2 个人测试能力模型 77

4.3 软件测试思维训练 81

4.3.1 软件测试系统性思维 81

4.3.2 分析性测试思维 86

4.3.3 批判性测试思维 91

4.3.4 创造性、发散性测试思维 95

4.4 软件研发团队测试组织与能力 98

4.5 软件研发团队测试过程改进 99

4.6 DevOps对软件测试人员的影响分析 102

4.7 小结 105

第5章 项目启动:知己知彼、百战不殆 107

5.1 用户与质量要求 108

5.1.1 用户是谁 108

5.1.2 对质量有什么要求 109

5.1.3 参照哪些质量标准 110

5.2 项目背景 112

5.3 产品元素 113

5.4 测试方法和技术 115

5.5 确定测试规范 116

5.6 小结 122

第6章 测试计划:分析与策略 123

6.1 软件测试的目标 124

6.1.1 分析软件产品的特定质量要求 125

6.1.2 测试目标 127

6.2 项目的测试需求 129

6.2.1 测试需求分析的基本方法 130

6.2.2 测试需求的分析技术 132

6.2.3 功能需求分析 133

6.2.4 非功能性需求分析 137

6.3 测试工作量估算 140

6.3.1 工作量的估计 141

6.3.2 工作分解结构表方法 142

6.3.3 工作量估计的实例 145

6.4 测试资源需求 147

6.5 测试里程碑和进度安排 148

6.5.1 传统测试 149

6.5.2 敏捷测试 149

6.6 测试风险分析 150

6.7 如何制订有效的测试策略 154

6.8 编写测试计划书 160

6.9 小结 161

第7章 测试设计:架构与用例 163

7.1 测试框架的设计 163

7.1.1 从需求到测试用例 164

7.1.2 基于SUT结构来组织设计 166

7.2 测试设计要考虑的因素 170

7.3 如何运用测试设计方法 171

7.4 非功能性测试也存在设计 176

7.5 探索式测试之设计 177

7.6 测试用例规范性与评审 181

7.6.1 测试用例的构成 181

7.6.2 测试用例书写标准 182

7.6.3 测试用例评审要点 183

7.7 测试集的创建 186

7.8 小结 189

第8章 测试执行:自动与探索 190

8.1 测试执行概述 190

8.2 测试执行的准备 193

8.2.1 测试任务安排 193

8.2.2 测试环境的建立与配置 194

8.2.3 测试自动化运行平台 195

8.3 如何有效地创建测试集 196

8.4 敏捷测试的执行 198

8.4.1 策略与实践 198

8.4.2 探索式测试的执行 200

8.5 用户体验和易用性测试 202

8.5.1 易用性测试的标准 202

8.5.2 如何进行A/B测试 206

8.6 回归测试 209

8.7 软件缺陷的报告 212

8.7.1 缺陷的属性及其描述 212

8.7.2 如何有效报告缺陷 214

8.8 小结 215

第9章 永不收尾:持续反馈与改进 216

9.1 验收测试 216

9.2 部署验证 220

9.2.1 客户端软件安装测试 220

9.2.2 后台系统的部署验证 222

9.3 在线测试与日志分析 222

9.4 后继版本的测试 226

9.5 测试过程评审 228

9.6 团队反思:持续改进 229

9.7 小结 233

第10章 全程静态测试:以不变应万变 234

10.1 常用的评审方法 234

10.2 需求评审优秀实践 237

10.2.1 如何操作需求评审 238

10.2.2 需求评审的标准 239

10.2.3 需求的可测试性 241

10.3 系统架构的审查 242

10.3.1 系统架构选型的确认 243

10.3.2 软件设计评审标准 244

10.3.3 设计的可测试性 248

10.3.4 系统组件设计的审查 250

10.4 产品设计规格说明书的复审 252

10.4.1 重视设计规格说明书的审查 252

10.4.2 设计规格说明书的多层次审查 253

10.4.3 界面设计的评审 254

10.5 系统部署设计的审查 255

10.5.1 系统部署逻辑设计的审查 256

10.5.2 软件部署物理设计的审查 258

10.5.3 可用性设计的审查 259

10.5.4 可伸缩性设计的验证 263

10.5.5 安全性设计的验证 264

10.6 代码评审与静态分析 264

10.7 小结 267

第11章 全程性能测试:持续优化 268

11.1 常见的性能问题 268

11.2 如何确定系统的性能需求 269

11.2.1 明确性能测试的基本目标 270

11.2.2 关键性能指标分析 271

11.2.3 关键业务分析 273

11.3 如何完成性能测试的设计 274

11.3.1 如何模拟用户操作 274

11.3.2 如何有效地模拟加载过程 275

11.3.3 如何实时准确地控制加载 278

11.4 如何执行性能测试 279

11.5 如何分析和评估测试结果 286

11.6 小结 289

第12章 全程安全性:持续加固 290

12.1 贯穿研发生命周期的安全性测试 290

12.2 滥用案例与安全性需求 293

12.2.1 软件系统存在哪些安全漏洞 293

12.2.2 国内外标准中关于系统安全性的要求 295

12.2.3 安全性测试需求分析 297

12.3 安全性风险分析 298

12.4 安全性静态测试 301

12.5 渗透测试 302

12.6 系统运维安全性监控与审计 306

12.7 小结 307

第13章 全程建模:彻底自动化 309

13.1 测试过程模型 310

13.2 基于模型的测试 312

13.3 基于业务建模的MBT方法 314

13.3.1 基于业务流程建模 314

13.3.2 基于事件流、应用场景建模 316

13.4 基于UML的MBT方法 318

13.4.1 基于UML的MBT具体实现 319

13.4.2 基于有限状态机建模 321

13.5 小结 323

第14章 全程可视化:管理无死角 326

14.1 测试过程的度量体系 326

14.1.1 测试管理的全局性与层次性 327

14.1.2 测试过程度量指标体系 328

14.2 测试全过程的度量 332

14.2.1 测试分析与设计的度量 333

14.2.2 代码评审与分析的度量 336

14.2.3 测试执行的度量 338

14.2.4 与缺陷相关的度量 340

14.2.5 测试充分性和上线后的度量 345

14.3 测试度量管理与工具 346

14.4 测试用例管理 348

14.5 测试管理工具的应用 350

14.6 小结 353

第15章 测试展望:未来更具挑战 355

15.1 云计算与测试的基础设施 355

15.2 微服务、契约测试与自动化测试工具 357

15.2.1 契约测试工具 358

15.2.2 智能的单元测试工具 360

15.2.3 前端测试工具 362

15.3 如何测试人工智能软件 363

15.4 如何用AI技术为测试服务 365

15.4.1 AI技术及其应用 365

15.4.2 AI技术如何应用于测试 367

15.4.3 AI测试工具 372

15.5 小结 375

附录A测试中的记忆符号:测试思维宝库 376

附录B测试计划(GB8567—2006) 382

B.1 引言 382

B.1.1 标识 382

B.1.2 系统概述 382

B.1.3 文档概述 382

B.1.4 与其他计划的关系 382

B.1.5 基线 382

B.2 引用文件 382

B.3 软件测试环境 383

B.4 计划 384

B.4.1 总体设计 384

B.4.2 计划执行的测试 385

B.4.3 测试用例 386

B.5 测试进度表 386

B.6 需求的可追踪性 387

B.7 评价 387

B.7.1 评价准则 387

B.7.2 数据处理 387

B.7.3 结论 387

B.8 注解 387

B.9 附录 388

附录C代码审查的示范性列表 389

C.1 格式 389

C.2 程序语言的使用 389

C.3 数据引用错误 389

C.4 数据声明错误 390

C.5 计算错误 390

C.6 比较错误 391

C.7 入口和出口的连接 391

C.8 存储器的使用 391

C.9 控制流程错误 391

C.10 子程序参数错误 392

C.11 输入/输出错误 392

C.12 逻辑和性能 392

C.13 维护性和可靠性 393

附录D RF库与工具 394

附录E软件测试术语中英文对照 399

参考文献 404