敏捷测试 以持续测试促进持续交付
全新正版 极速发货
¥
84.31
6.5折
¥
129.9
全新
库存4件
作者朱少民,李洁
出版社人民邮电出版社
ISBN9787115560988
出版时间2021-08
装帧平装
开本16开
定价129.9元
货号1202419694
上书时间2024-09-04
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
朱少民
国内知名测试专家、同济大学特聘教授、软件绿色联盟标准评测组组长、《软件学报》审稿人、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.4Scrum开发框架/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.23步工作法/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.1Scrum模式下的测试流程/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.1Etsy公司的很好实践/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.3CI/CD流水线中的测试过程/97
4.3基于DevOps的测试基础设施构成/99
4.3.1DevOps的测试/100
4.3.2DevOps测试基础设施/101
4.3.3基础设施即代码/103
4.3.4对基础设施进行验证——Testinfra/104
4.4虚拟机技术与容器技术的应用/105
4.4.1虚拟化技术——虚拟机技术和容器技术/106
4.4.2Sidecar模式——容器的设计模式/107
4.4.3虚拟化技术之NUMA和DPDK/108
4.4.4服务虚拟化的利器——Hoverfly/109
4.4.5Molecule——虚拟化技术的自动化测试工具/111
4.4.6Kubernetes与测试环境/112
4.5如何完成自动部署/113
4.5.1配置即代码——CI配置管理工具:Ansible、Chef/114
4.5.2微服务的容器化部署/116
4.5.3微服务在CI环境中的自动化部署/117
4.5.4Docker容器的集群管理之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.1BVT要验证哪些点/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单元测试框架JUnit5/143
4.9.4API层的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.4ATDD与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.2Epic的评审/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.5BDD及其自动化实践/174
5.5.1什么是BDD/174
5.5.2BDD和测试的关系/175
5.5.3现有的BDD自动化测试框架/177
5.5.4BDD实例/179
5.5.5BDD实践中的常见问题/183
5.6再进一步,让实例化需求落地/183
5.6.1什么是实例化需求/183
5.6.2实例化需求的过程/185
5.6.3RBE的自动化实现/190
5.7单元测试是否必须TDD/191
5.7.1为何TDD是必需的/191
5.7.2如何做好TDD/192
5.7.3UTDD测试原则/193
5.7.4UTDD的具体实践/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.8SBTM的由来及使用/237
6.8.1SBTM的由来/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.3DoD和敏捷验收测试的关系/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.8UI脚本开发与维护的常用技巧/287
7.8.1脚本语言和测试框架的选择/287
7.8.2UI元素定位/288
7.8.3测试代码的模块化和参数化/291
7.8.4Selenium集成自动化测试框架/293
7.8.5PageObject设计模式/295
7.8.6隐式等待/296
7.9质效合一:自动化测试和手工测试的完美融合/296
7.9.1一个关于测试策略的案例/296
7.9.2新功能手工测试,回归测试自动化/297
7.9.3探索未知的,自动化已知的/299
7.9.4自动化回归测试怎么做/300
7.10优先实现面向接口的测试/300
7.10.1接口(API)测试越来越重要/301
7.10.2接口测试示例/301
7.10.3如何获取接口信息/304
7.10.4契约测试和微服务的接口测试/306
7.10.5API持续测试平台:API Fortress/308
本章小结/308
延伸阅读/309
第8章测试右移:从敏捷到DevOps/310
导读/310
8.1在线性能测试/311
8.1.1全链路压测/311
8.1.2在线性能监控/313
8.1.3流量回放技术/314
8.2A/B测试/316
8.2.1什么是A/B测试/316
8.2.2A/B测试的设计/317
8.2.3A/B测试平台与测试执行/319
8.2.4关于用户体验的度量/320
8.3监控告警系统/321
8.3.1日志分析及Elastic Stack的使用/323
8.3.2调用链分析及SkyWalking的使用/324
8.3.3指标监控及Prometheus的使用/327
8.3.4监控系统解决方案/329
8.4安全性监控/330
8.5混沌工程/331
8.5.1混沌工程的由来/332
8.5.2基于故障注入的测试/333
8.5.3混沌工程平台与工具/334
8.5.4混沌工程的具体实施/336
8.5.5为系统弹性做好设计/337
8.6智能运维与测试/340
8.6.1从自动化运维到智能运维/340
8.6.2智能运维的典型场景/341
本章小结/342
延伸阅读/343
第9章敏捷测试的收尾与改进/344
导读/344
9.1如何分析测试结果和评估测试工作的质量/345
9.1.1如何评估敏捷测试过程/345
9.1.2敏捷测试过程的度量体系/346
9.1.3测试工作质量的分析/348
9.1.4代码覆盖率/348
9.1.5功能覆盖率/349
9.1.6业务覆盖率/349
9.1.7基于缺陷分析测试质量/350
9.2如何获得良好的可追溯性、可视化/350
9.2.1测试管理系统/351
9.2.2需求与测试用例的映射关系,以及测试用例与缺陷的映射关系/352
9.2.3示例:Jira+Zephyr实现可追溯性/353
9.2.4测试与质量度量的可视化/355
9.2.5质量雷达图/357
9.3敏捷测试很好实践/357
9.3.1微软的很好实践/358
9.3.2谷歌的很好实践/359
9.3.3亚马逊的很好实践/360
9.3.4ThoughtWorks的很好实践/361
9.3.5腾讯的很好实践/364
9.3.6阿里巴巴的很好实践/365
9.4敏捷过程的反思与持续改进/366
9.4.1敏捷过程的反思/367
9.4.2敏捷测试过程的改进分析/368
9.4.3数据驱动改进/369
9.4.4PDCA循环/369
9.4.5根因分析/371
本章小结/372
延伸阅读/372
第10章敏捷测试的展望/374
导读/374
10.1大数据的测试/375
10.1.1大数据的特性与挑战/376
10.1.2大数据的测试方法/378
10.1.3大数据的测试实践/380
10.1.4大数据的测试工具/381
10.2人工智能系统的测试/382
10.2.1人工智能系统的不确定性和不可解释性/383
10.2.2人工智能系统的白盒测试/384
10.2.3人工智能系统的算法验证/386
10.2.4示例:针对智能语音的设计与执行/388
10.3人工智能助力敏捷测试/392
10.3.1基于图像识别技术的UI测试/392
10.3.2基于人工智能的、全自动化的API测试/397
10.3.3人工智能助力代码深度分析/399
10.3.4人工智能驱动测试/401
10.3.5人工智能测试工具/403
10.4敏捷测试工具的未来/406
10.4.1敏捷测试工具的发展趋势/406
10.4.2MBT的前景如何/408
10.4.3无代码化的测试自动化/409
10.5实现持续测试/413
10.5.1重新理解持续测试/414
10.5.2持续测试的实现框架/415
10.5.3持续测试成熟度模型/424
10.5.4的持续测试/425
本章小结/426
延伸阅读/427
附录A基于Kubernetes和Docker搭建Jenkins可伸缩持续集成系统/428
导读/428
A.1工作流程图/429
A.2系统配置/429
A.3安装Kubernetes集群/430
A.3.1安装前的准备/430
A.3.2安装配置/430
A.4Harbor的安装部署/434
A.4.1下载Harbor离线安装包/434
A.4.2安装Docker/435
— 没有更多了 —
以下为对购买帮助不大的评价