搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深度实践微服务测试
0.00     定价 ¥ 99.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111708216
  • 作      者:
    作者:付彪//秦五一//齐磊//雷辉|责编:陈洁
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2022-07-01
收藏
编辑推荐

1)资深测试专家联合撰写,QECon大会发起人朱少民、畅销书作者茹炳晟联袂推荐 

2)依托行业现状,提供一站式质量保障解决方案,涵盖测试策略、接口与界面自动化测试、契约测试、性能测试、微服务监控、服务虚拟化、混沌工程和安全测试

展开
作者简介

付彪
Thoughtworks总监级质量分析咨询师,常年专注于软件测试与软件质量保障领域。精通经典测试理论、自动化测试设计与实施,以及通用型软件系统前后端的各种测试活动,在敏捷测试和微服务系统测试方面有非常丰富的实践经验。长期关注工程效能与新兴技术对传统软件测试的革新,坚持通过博客和开源软件助力行业和社区发展。

秦五一
国内某大厂软件教练,曾任Thoughtworks专家级质量分析咨询师。曾服务客户包括IBM、华为、澳洲电信、HSBC、Suncorp以及REA等。对传统测试理论和业界新兴测试技术有较为深入的研究。当前关注DevOps转型落地。曾担任中国移动互联网测试大会、全球软件与运维技术峰会等大会讲师,并活跃在多个软件技术社区。

齐磊
HSBC测试咨询专家,曾任Thoughtworks专家级质量分析咨询师。擅长敏捷测试、测试开发、DevOps等。当前关注混沌工程与DevOps在测试领域的应用与研究。

雷辉
Thoughtworks高级质量保障工程师。拥有多年研发与测试经验以及丰富的大型商业软件测试项目实战经验,精通自动化、性能和探索式测试,以在软件中发现各种隐藏Bug为乐。合著有《Web测试囧事》。

展开
内容介绍
本书是4位作者服务多个大中型知名企业后总结的微服务测试方法论与实战经验,内容翔实、鲜见。全书内容分9章,涵盖测试策略、接口与界面自动化测试、契约测试、性能测试、微服务监控、服务虚拟化、混沌工程、安全测试。一本书破解当下测试工作的众多难题,可为微服务和分布式系统的质量保障提供一站式解决方案。 本书内容具体如下。 第1章梳理各种微服务测试工作的价值与要点,帮助读者快速建立测试工作全局视角。 第2章剖析微服务环境下制定测试策略的要点、影响因素与实战技巧。 第3章介绍接口测试与界面自动化测试的主要思路与常见问题。 第4章重点讲解如何基于Pact与Spring Cloud Contract进行契约测试实践。 第5章分析性能测试在微服务和传统软件环境下的区别,并介绍全链路压测的实施思路要点。 第6章介绍微服务监控的概念、模式分类,以及监控实践、系统搭建与容器化部署。 第7章重点介绍如何在微服务环境下运用服务虚拟化技术来解决各种服务依赖问题。 第8章介绍混沌工程的价值、实施先决条件、原则与实施方法。 第9章包括安全测试的需求分析、测试人员角色定位以及多种测试工具实战。
展开
精彩书摘

Foreword  序

如今,微服务架构已从概念阶段走到了有大量应用的大规模落地阶段。从技术层面上讲,Spring Cloud、Docker和Kubernetes已经成为事实上的标准,Service Mesh架构的应用也越来越广泛;从商业层面上讲,微服务架构已实现“利用技术上的确定性来应对业务端不确定性”这一关键目标。

但是,微服务架构在为系统开发带来很大便利的同时,也给软件测试和质量保障活动带来了巨大的挑战。

从软件测试维度来看,微服务架构的盛行使得接口测试用例的数量爆发性增长,并且众多接口之间的调用关系使得测试依赖比以往任何时候都更复杂,被测环境的搭建与部署也变得愈加困难,系统性能和安全的挑战与风险也在不断被放大。在这种大背景下,传统的软件测试技术,尤其是传统的接口测试技术,其能力已经很难满足微服务架构的质量保障要求,我们迫切需要与之相适应的测试策略、技术体系与工程实践来持续保障微服务架构的质量。

从质量保障维度来看,微服务架构下的质量概念往往具有更大的范围,不仅仅涵盖传统的接口功能、性能和安全层面,还意味着测试人员需要从监控、运维以及面向局部故障的视角对其进行更全面的探索与实践。“为测试而设计”“为部署而设计”“为监控而设计”的理念在微服务架构的大规模应用下变得愈加重要,被测系统的可测试性、可观测性和可运维性成为微服务系统架构是否能够获得成功的关键。

所以作为新时代的软件测试技术人员,不管是从一开始就接触微服务架构,还是从原本的巨石架构或者分布式架构向微服务架构转型,都非常有必要深入学习微服务测试的方方面面。因此我们急需一本理论与实践相结合的书,本书的出版填补了这一空白。

全书行文流畅,对知识的讲解层层递进,既有在理论体系上庖丁解牛、细致入微的分析和讲解,又有面向初学者的实战技术指导和具体案例说明。内容不仅涵盖微服务测试策略、接口测试的基础知识、契约测试的工程实践以及微服务下的性能与安全测试,还涉及微服务监控、服务虚拟化以及混沌工程等前沿实践。

通读全书可以让读者对企业级微服务测试有全面、体系化的认识,可以说本书是软件测试人员躬身入局,系统掌握微服务测试体系的必读佳作。


茹炳晟

腾讯微信支付研发主管

腾讯研究院特约研究员

畅销书《测试工程师全栈技术进阶与实践》作者



展开
目录

第1章 微服务测试概述1
1.1 微服务测试的要点1
1.1.1 一份有效的测试策略1
1.1.2 一个构建接口层数据的好办法2
1.1.3 端到端测试,减少耗时2
1.1.4 把握微服务系统整体质量3
1.1.5 隔离依赖,实现独立测试4
1.1.6 守住第一道安全防护层4
1.2 微服务中的自动化测试5
1.3 本章小结6

第2章 微服务测试策略7
2.1 传统测试策略与敏捷测试策略7
2.1.1 传统测试策略7
2.1.2 敏捷测试策略9
2.2 微服务中的测试策略14
2.2.1 测试象限14
2.2.2 测试金字塔16
2.2.3 环境管理策略19
2.2.4 流水线策略22
2.3 影响微服务测试策略制定的因素23
2.3.1 质量目标24
2.3.2 被测系统的具体实现与可测试性24
2.3.3 人员能力25
2.3.4 开发与测试的协作模式25
2.3.5 产品演进的不同阶段26
2.4 微服务的测试策略实战27
2.4.1 迭代027
2.4.2 迭代N35
2.4.3 重构37
2.5 本章小结38

第3章 接口测试及界面自动化测试39
3.1 接口测试简介39
3.1.1 接口说明文档与测试用例类型40
3.1.2 接口测试重点42
3.2 接口自动化测试实战46
3.3 接口测试的常见问题56
3.4 前端界面测试思路57
3.5 前端界面自动化测试59
3.6 本章小结64

第4章 契约测试65
4.1 初识契约测试65
4.2 基于Pact的契约测试实战67
4.2.1 Pact的测试理念67
4.2.2 被测应用69
4.2.3 消费者Miku服务与生产者服务间的契约测试73
4.2.4 Gradle的相关配置88
4.2.5 消费者Nanoha服务与生产者服务间的契约测试90
4.2.6 验证我们的测试98
4.3 基于Spring Cloud Contract的契约测试实践99
4.3.1 认识Spring Cloud Contract99
4.3.2 验证被测微服务系统102
4.3.3 在生产者服务端的测试102
4.3.4 在消费者服务端的测试110
4.4 契约测试高阶解惑112
4.4.1 关于测试的表述113
4.4.2 为什么要做契约测试114
4.4.3 契约测试和接口测试、集成测试的区别118
4.4.4 契约测试可以替代集成测试吗120
4.4.5 关于Pact和Spring Cloud Contract的博弈121
4.4.6 消费者服务端的集成测试需要做到什么程度122
4.4.7 关于“生产者驱动的契约测试”123
4.5 本章小结124

第5章 性能测试125
5.1 接口的性能测试125
5.1.1 性能测试难在哪里125
5.1.2 基本概念126
5.1.3 测试方式分类127
5.1.4 测试工具128
5.1.5 性能测试场景129
5.1.6 测试过程131
5.1.7 性能瓶颈分析132
5.2 全链路压测135
5.2.1 实施思路136
5.2.2 实施过程137
5.3 做好性能测试能否成为资深测试专家141
5.4 本章小结142

第6章 微服务监控143
6.1 了解微服务监控143
6.1.1 为什么要监控你的微服务144
6.1.2 微服务监控与传统监控的区别145
6.2 微服务监控模式的分类146
6.2.1 健康检查146
6.2.2 服务日志监控149
6.2.3 链路追踪151
6.2.4 监控指标156
6.3 微服务监控实践162
6.3.1 利用Spring Boot Actuator进行服务监控162
6.3.2 Spring Boot Actuator结合
   Prometheus和Grafana进行可视化监控168
6.3.3 利用docker-compose快速搭建监控系统169
6.3.4 Kubernetes环境下SkyWalking容器化部署175
6.4 本章小结180

第7章 服务虚拟化181
7.1 服务虚拟化价值与简单示例181
7.2 基于WireMock的服务虚拟化184
7.2.1 模拟系统184
7.2.2 基于Java的基本使用189
7.2.3 基于独立执行文件的基本使用194
7.2.4 录制与回放197
7.2.5 异常模拟204
7.2.6 状态行为208
7.3 基于Hoverfly的服务虚拟化213
7.3.1 理解Hoverfly的服务方式214
7.3.2 选择合适的工作模式216
7.3.3 深入simulation的细节225
7.3.4 使用模板实现动态响应228
7.3.5 Hoverfly的状态行为233
7.3.6 使用中间件244
7.4 提供Web UI的轻量级服务虚拟化方案253
7.4.1 最简单的交互式服务虚拟化工具:Mockit253
7.4.2 支持团队协作的服务虚拟化工具:YApi256
7.5 服务虚拟化技术的灵活运用264
7.5.1 在集成测试中的运用264
7.5.2 在性能测试中的运用265
7.5.3 在视觉测试中的运用265
7.5.4 在契约测试中的运用266
7.5.5 在UI自动化测试中的运用266
7.5.6 不要滥用服务虚拟化267
7.6 本章小结268

第8章 混沌工程269
8.1 初识混沌工程269
8.1.1 混沌工程的起源269
8.1.2 微服务为什么需要混沌工程270
8.1.3 混沌工程的两类场景270
8.2 混沌工程实验与测试273
8.2.1 混沌工程实验和传统测试的区别与联系273
8.2.2 混沌工程与故障注入测试的区别274
8.2.3 QA In Production与混沌工程274
8.3 实施混沌工程的先决条件275
8.3.1 我的项目需要实施混沌工程吗275
8.3.2 实施混沌工程的先决条件275
8.4 混沌工程原则277
8.4.1 建立系统稳定状态的假设278
8.4.2 用多样的现实世界事件做验证278
8.4.3 在生产环境运行实验280
8.4.4 利用CI/CD进行混沌工程实验281
8.4.5 最小化爆炸半径283
8.5 设计混沌工程实验284
8.5.1 实验可行性评估285
8.5.2 观测指标设计与对照287
8.5.3 实验场景设计287
8.6 混沌工程实践288
8.6.1 Chaos Monkey实践288
8.6.2 Chaos Blade实践294
8.6.3 Chaos Mesh实践297
8.7 本章小结303

第9章 安全测试304
9.1 安全测试需求304
9.1.1 基于功能的安全测试需求306
9.1.2 基于风险的安全测试需求307
9.2 测试人员的定位308
9.2.1 测试人员的职责308
9.2.2 测试人员的角色309
9.2.3 安全内建310
9.3 测试工具与实战312
9.3.1 被测微服务系统示例312
9.3.2 SAST工具之SonarQube实战312
9.3.3 DAST工具之OWASP ZAP实战323
9.3.4 SCA工具之Dependency Check实战329
9.3.5 渗透测试工具简介332
9.4 本章小结334
后记335

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证