●章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基于TestOracle的认知11
1.9基于批判性思维的认知14
(咨询特价)基于传统开发模式的认知16
(咨询特价)基于敏捷开发模式的认知17
(咨询特价)小结20
第2章全程测试:闪光的思想22
2.1测试左移与右移23
2.2测试驱动开发24
2.3传统研发模式的测试环28
2.4敏捷研发中的测试环30
2.5DevOps与测试32
2.6小结34
第3章准备:基础设施与TA框架35
3.1虚拟机与容器技术35
3.2基础设施即代码38
3.3持续集成环境39
3.3.1版本管理与构建41
3.3.2CI管理工具的安装42
3.4自动化测试框架45
3.4.1自动化测试框架的构成与分类45
3.4.2单测试框架48
3.4.3UITA框架51
3.4.4移动应用TA框架57
3.4.5面向API的TA测试框架60
3.4.6验收测试框架64
3.5DevOps完整工具链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.6DevOps对软件测试人员的影响分析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
0章全程静态测试:
以不变应万变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
1章全程性能测试:持续优化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
2章全程安全性:持续加固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
3章全程建模:彻底自动化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
4章全程可视化:管理无死角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
5章测试展望:未来更具挑战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.1AI技术及其应用365
15.4.2AI技术如何应用于测试367
15.4.3AI测试工具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
E.1格式389
E.2程序语言的使用389
E.3数据引用错误389
E.4数据声明错误390
E.5计算错误390
E.6比较错误391
E.7入口和出口的连接391
E.8存储器的使用391
E.9控制流程错误391
E.10子程序参数错误392
E.11输入/输出错误392
E.12逻辑和性能392
E.13维护性和可靠性393
附录DRF库与工具394
附录E软件测试术语中英文对照399
参考文献404
内容简介
本书系统地总结了过去十年中软件测试发生的变化,浓缩了作者许多宝贵的软件测试经验。本书首先介绍对于软件测试的不同看法,全程软件测试的思想,软件测试的基础设施与TA框架、团队能力建设;然后逐步深入到测试的计划、设计、执行、持续反馈和改进;接着,讨论全程测试的思想,包括全程静态测试、全程性能测试、全程安全性、全程建模、全程可视化。本书很后展望了软件测试的未来。本书适合软件测试人员阅读,也可作为相关专业人士的参考指南。