全新正版书籍,24小时发货,可开发票。
¥ 75.7 5.8折 ¥ 129.9 全新
库存2件
作者朱少民 李洁
出版社人民邮电出版社
ISBN9787115560988
出版时间2021-08
装帧平装
开本16开
定价129.9元
货号29271027
上书时间2024-12-28
互联网产品的快速迭代,让敏捷开发在各个领域都得到了广泛应用。同时,也加快了敏捷测试在各家企业落地生根的进程。
《敏捷测试:以持续测试促进持续交付》由测试领域老兵联合10余位测试专家对敏捷测试的实践经验汇总、整理而成。本书分为10章和4个附录。从敏捷开发和敏捷测试基础、人的因素、敏捷测试基础设施、分析与计划、设计与执行、测试右移、收尾与改进、展望等角度入手,几乎涵盖实现高效敏捷测试所需的各个方面的知识,以及测试思维、测试流程、测试基础设施和一系列的优秀实践,对提高测试效率进而提升产品交付质量具有重大的指导意义。
《敏捷测试:以持续测试促进持续交付》理论知识与实际案例深度结合,辅以思维导图、延伸阅读等模块,深入浅出,尤其适合有一定测试实践经验的软件质量保障和测试人员,想要较为深入了解敏捷测试的专业人士阅读参考。
朱少民 国内知名测试专家、同济大学特聘教授、软件绿色联盟标准评测组组长、《软件学报》审稿人、QECon大会发起人。 近30年来,一直从事软件测试、质量管理等工作,先后获得安徽省、原机械工业部、青岛市等多项科技进步奖,出版《全程软件测试》《软件测试方法和技术》《软件质量保证和管理》《软件项目管理》等10余部著作。 近5年来,致力于帮助国内近百家企业提升其软件研发能力水平,并经常在国内外学术会议或技术大会上发表演讲,拥有个人公众号“软件质量报道”,曾任思科(中国)软件有限公司QA(质量保证)高级总监,及IEEE ICST论坛主席、IEEE QRS和DSA、NASAC程序委员等。 李洁 中科创达软件股份有限公司测试总监,曾任IBM研发经理,索尼瑞典分公司高级测试经理,诺基亚及Polycom QA总监。拥有20余年软件测试技术经验及管理经验。在测试专业杂志发表过多篇文章。
第 1 章 铺垫:敏捷开发价值观、原则与实践/ 1
导读/ 1
1.1 敏捷开发模式的由来/ 2
1.1.1 新产品开发方式Scrum / 3
1.1.2 轻量级软件开发方法/ 5
1.1.3 敏捷宣言的诞生/ 6
1.2 敏捷价值观/ 7
1.3 敏捷开发原则/ 8
1.4 常见的敏捷开发框架/ 9
1.4.1 极限编程/ 9
1.4.2 行为驱动开发/ 13
1.4.3 特性驱动开发/ 15
1.4.4 Scrum 开发框架/ 17
1.5 敏捷与看板、精益的关系/ 20
1.5.1 看板/ 21
1.5.2 精益软件开发实践/ 23
1.6 敏捷与DevOps 的关系/ 26
本章小结/ 29
延伸阅读/ 29
第 2 章 基础:敏捷测试之道/ 31
导读/ 31
2.1 什么是敏捷测试/ 32
2.1.1 从一个真实的案例说起/ 32
2.1.2 敏捷测试的含义/ 35
2.1.3 敏捷测试的其他定义/ 36
2.2 传统测试与敏捷测试/ 38
2.2.1 凤凰项目:一个IT 运维的传奇故事/ 38
2.2.2 3 步工作法/ 39
2.2.3 凤凰项目改造前后对比/ 40
2.2.4 传统测试和敏捷测试的区别/ 41
2.3 敏捷测试的思维方式/ 41
2.3.1 固定性思维与敏捷思维/ 42
2.3.2 成长性思维/ 42
2.3.3 以实例来辨析不同思维的测试工程师/ 43
2.3.4 团队对质量负责的思维/ 44
2.3.5 上下文驱动的思维与用户思维/ 45
2.4 敏捷测试流程解析/ 45
2.4.1 Scrum 模式下的测试流程/ 45
2.4.2 敏捷测试的通用流程/ 47
2.4.3 敏捷测试流程闭环与持续测试/ 48
2.4.4 从敏捷项目管理角度来看测试流程/ 49
2.5 新的敏捷测试四象限/ 50
2.5.1 敏捷测试四象限之历史/ 50
2.5.2 新的敏捷测试四象限简介/ 52
本章小结/ 53
延伸阅读/ 54
第3 章 人是决定性因素/ 55
导读/ 55
3.1 敏捷团队究竟要不要专职的测试人员/ 56
3.1.1 问题的提出及各方的理由/ 56
3.1.2 根据上下文来确定是否需要/ 58
3.1.3 存在即合理/ 59
3.2 配备专职敏捷测试人员时的操作/ 60
3.2.1 Etsy 公司的优秀实践/ 60
3.2.2 敏捷测试人员的责任和具体任务/ 61
3.2.3 测试人员和开发人员的分工/ 63
3.2.4 测试敏捷化对团队意味着什么/ 64
3.3 没有专职的测试人员时的操作/ 64
3.3.1 是否借助灰度发布和一键回滚/ 65
3.3.2 消除系统测试不足带来的影响/ 66
3.3.3 加强敏捷验收测试和ATDD 的实践/ 67
3.3.4 应对其他挑战/ 67
3.4 借助测试负责人角色完成团队转型/ 68
3.4.1 冰冻三尺并非一日之寒/ 69
3.4.2 多数团队不是Google / 70
3.4.3 测试负责人角色的责任和具体实践/ 71
3.4.4 测试主负责人角色/ 72
3.5 如何创建有强烈质量意识的学习型团队/ 73
3.5.1 达成质量共识/ 73
3.5.2 营造良好的质量文化氛围/ 73
3.5.3 创建学习型团队/ 74
3.5.4 业务学习与缺陷根因分析/ 76
3.6 如何更好地为测试而学/ 76
3.6.1 系统性思维训练/ 77
3.6.2 创造性思维训练/ 79
3.6.3 如何提升测试自动化能力/ 80
3.6.4 如何学习测试建模/ 80
3.6.5 借力提升自己/ 81
3.7 如何与产品、开发等角色协作/ 82
3.7.1 团队协作的五大障碍/ 82
3.7.2 团队协作高于一切/ 84
3.7.3 达成对质量及其管理的共识/ 85
3.7.4 沟通的技巧/ 86
本章小结/ 87
延伸阅读/ 87
第4 章 构建强大的敏捷测试基础设施/ 89
导读/ 89
4.1 持续集成与持续交付意味着什么/ 90
4.1.1 敏捷的目标/ 91
4.1.2 持续集成中的测试活动/ 91
4.1.3 持续交付中的测试活动/ 93
4.1.4 持续集成 持续测试是关键/ 94
4.1.5 持续部署/ 95
4.1.6 持续运维/ 95
4.2 测试如何融入持续集成/ 持续交付环境/ 95
4.2.1 支撑持续集成的测试环境/ 96
4.2.2 支撑持续交付的测试环境/ 96
4.2.3 CI/CD 流水线中的测试过程/ 97
4.3 基于DevOps 的测试基础设施构成/ 99
4.3.1 DevOps 的测试/ 100
4.3.2 DevOps 测试基础设施/ 101
4.3.3 基础设施即代码/ 103
4.3.4 对基础设施进行验证——Testinfra / 104
4.4 虚拟机技术与容器技术的应用/ 105
4.4.1 虚拟化技术——虚拟机技术和容器技术/ 106
4.4.2 Sidecar 模式——容器的设计模式/ 107
4.4.3 虚拟化技术之NUMA 和DPDK / 108
4.4.4 服务虚拟化的利器——Hoverfly / 109
4.4.5 Molecule——虚拟化技术的自动化测试工具/ 111
4.4.6 Kubernetes 与测试环境/ 112
4.5 如何完成自动部署/ 113
4.5.1 配置即代码——CI 配置管理工具:Ansible、Chef / 114
4.5.2 微服务的容器化部署/ 116
4.5.3 微服务在CI 环境中的自动化部署/ 117
4.5.4 Docker 容器的集群管理之Kubernetes / 119
4.5.5 基础架构即代码的工具——Terraform、CloudFormation / 122
4.5.6 管道即代码的工具——Concourse、Drone / 123
4.5.7 新一代的部署体验——Serverless 软件系统架构/ 125
4.5.8 产品发布之导流模式/ 125
4.6 如何完成全自动的BVT / 126
4.6.1 BVT 要验证哪些点/ 126
4.6.2 不稳定的情况——Flaky / 128
4.7 自动的静态测试和测试报告生成/ 130
4.7.1 代码分析(静态测试)/ 130
4.7.2 优秀的静态测试工具/ 131
4.7.3 静态测试报告的自动生成/ 131
4.7.4 自动化测试报告的自动生成/ 135
4.8 测试分层策略与金字塔模型/ 139
4.9 搭建敏捷自动化测试框架及其案例分析/ 140
4.9.1 自动化测试框架的构成/ 140
4.9.2 自动化测试框架的分类/ 142
4.9.3 单元测试框架JUnit 5 / 143
4.9.4 API 层的TA 测试框架Karate / 144
4.9.5 验收测试框架Ginkgo / 146
本章小结/ 148
延伸阅读/ 149
第5 章 测试左移更体现敏捷测试的价值/ 150
导读/ 150
5.1 没有ATDD,就没有用户故事的可测试性/ 151
5.1.1 可测试性的概念/ 151
5.1.2 需求、设计和代码等不同层次的可测试性/ 152
5.1.3 用户故事的可测试性和ATDD / 153
5.1.4 ATDD 与TDD( UTDD)的关系/ 154
5.1.5 如何具体实施ATDD / 156
5.2 产品价值分析:商业画布、影响地图与用户故事地图/ 156
5.2.1 产品价值是基础/ 157
5.2.2 商业画布/ 158
5.2.3 影响地图/ 160
5.2.4 用户故事地图/ 161
5.3 从Epic 到用户故事完成需求评审/ 162
5.3.1 通用的评审标准/ 163
5.3.2 Epic 的评审/ 164
5.3.3 用户故事的评审/ 166
5.4 不可忽视的设计评审/ 169
5.4.1 设计评审的价值和重要性/ 170
5.4.2 如何完成架构评审/ 170
5.4.3 有层次的(组件)评审/ 172
5.4.4 接口定义的评审/ 173
5.4.5 设计的可测试性/ 173
5.5 BDD 及其自动化实践/ 174
5.5.1 什么是BDD / 174
5.5.2 BDD 和测试的关系/ 175
5.5.3 现有的BDD 自动化测试框架/ 177
5.5.4 BDD 实例/ 179
5.5.5 BDD 实践中的常见问题/ 183
5.6 再进一步,让实例化需求落地/ 183
5.6.1 什么是实例化需求/ 183
5.6.2 实例化需求的过程/ 185
5.6.3 RBE 的自动化实现/ 190
5.7 单元测试是否必须TDD / 191
5.7.1 为何TDD 是必需的/ 191
5.7.2 如何做好TDD / 192
5.7.3 UTDD 测试原则/ 193
5.7.4 UTDD 的具体实践/ 194
本章小结/ 195
延伸阅读/ 196
第6 章 敏捷测试的分析与计划/ 197
导读/ 197
6.1 基于上下文驱动思维的测试分析/ 198
6.1.1 上下文驱动测试流派/ 198
6.1.2 质量标准/ 201
6.1.3 项目背景/ 202
6.1.4 产品元素/ 204
6.2 如何培养自己的业务与用户体验分析技能/ 205
6.2.1 用户思维/ 205
6.2.2 场景是测试需求的灵魂/ 206
6.2.3 业务分析/ 207
6.2.4 用户体验要素/ 208
6.3 敏捷测试的主要风险在哪里/ 209
6.3.1 需求不清晰/ 210
6.3.2 需求频繁变更/ 211
6.3.3 时间太紧张/ 211
6.3.4 自动化测试的有效性/ 212
6.3.5 测试风险项目检查表/ 212
6.3.6 风险控制/ 213
6.4 启发式测试策略与测试策略的制定/ 215
6.4.1 什么是测试策略/ 215
6.4.2 启发式测试策略模型/ 216
6.4.3 快速、高效地制定测试策略/ 218
6.5 代码依赖性分析与精准测试/ 220
6.5.1 精准测试/ 221
6.5.2 如何建立测试用例和代码的映射关系/ 222
6.5.3 代码依赖性分析/ 223
6.5.4 代码的变更分析/ 225
6.5.5 测试用例集如何优化/ 225
6.5.6 优秀实践/ 226
6.6 敏捷测试要不要计划/ 227
6.6.1 测试计划的价值/ 227
6.6.2 一页纸的测试计划/ 228
6.6.3 如何编写一页纸的测试计划/ 229
6.7 探索式测试与基于脚本的测试/ 232
6.7.1 什么是探索式测试/ 232
6.7.2 探索式测试的应用场景/ 233
6.7.3 基于脚本的测试/ 234
6.7.4 探索式测试与基于脚本的测试的比较/ 235
6.7.5 敏捷拥抱探索式测试/ 236
6.8 SBTM 的由来及使用/ 237
6.8.1 SBTM 的由来/ 237
6.8.2 真正理解会话/ 237
6.8.3 测试计划分解成多个子目标/ 239
6.8.4 测试子目标进一步分解为会话/ 240
6.9 一个应用SBTM 的真实案例/ 241
6.9.1 案例背景/ 241
6.9.2 挑战在哪里/ 242
6.9.3 测试子目标分解的结果/ 242
6.9.4 几个典型的会话/ 243
6.9.5 会话表/ 246
6.9.6 口头汇报/ 247
6.10 敏捷测试分析与计划的案例/ 248
6.10.1 信息收集/ 249
6.10.2 测试目标/ 249
6.10.3 通过测试分析得到测试范围/ 250
6.10.4 根据测试分析进行风险分析和控制/ 251
6.10.5 基于风险的测试策略/ 252
6.10.6 测试计划/ 253
本章小结/ 254
延伸阅读/ 255
第7 章 敏捷测试的设计与执行/ 256
导读/ 256
7.1 正确理解DoD 与敏捷中的验收测试/ 257
7.1.1 什么是DoD / 257
7.1.2 如何创建DoD / 258
7.1.3 DoD 和敏捷验收测试的关系/ 260
7.1.4 如何验证DoD / 261
7.2 如何将用户故事转化为测试用例/ 261
7.2.1 转换为场景/ 262
7.2.2 场景离测试用例还差一步/ 263
7.2.3 用户故事转化为测试用例的模型/ 263
7.3 基于场景/ 事件流的测试用例设计/ 265
7.3.1 事件流图/ 265
7.3.2 在敏捷测试中的应用/ 266
7.3.3 状态图与有限状态机/ 268
7.4 探索式测试过程与生态/ 270
7.4.1 调查、分析、排序和实验/ 270
7.4.2 以分析为中心/ 270
7.4.3 自我管理环、学习环/ 271
7.4.4 协作环与测试环/ 272
7.5 探索式测试中的角色扮演与场景挖掘/ 272
7.5.1 批判性思维与探索式测试设计执行/ 272
7.5.2 角色扮演/ 273
7.5.3 场景挖掘/ 274
7.6 探索式测试的具体技巧/ 276
7.6.1 业务路径测试/ 277
7.6.2 遍历测试/ 279
7.6.3 极限情况的测试/ 279
7.6.4 异常情况的测试/ 280
7.7 测试自动化设计模式:一步到位/ 280
7.7.1 基于模型的自动化测试/ 281
7.7.2 状态图生成测试用例/ 281
7.7.3 测试数据的自动生成/ 284
7.8 UI 脚本开发与维护的常用技巧/ 287
7.8.1 脚本语言和测试框架的选择/ 287
7.8.2 UI 元素定位/ 288
7.8.3 测试代码的模块化和参数化/ 291
7.8.4 Selenium 集成自动化测试框架/ 293
7.8.5 Page Object 设计模式/ 295
7.8.6 隐式等待/ 296
7.9 质效合一:自动化测试和手工测试的完美融合/ 296
7.9.1 一个关于测试策略的案例/ 296
7.9.2 新功能手工测试,回归测试自动化/ 29
— 没有更多了 —
以下为对购买帮助不大的评价