-
内容大纲
本书是4位作者服务多个大中型知名企业后总结的微服务测试方法论与实战经验,内容翔实、鲜见。全书内容分9章,涵盖测试策略、接口与界面自动化测试、契约测试、性能测试、微服务监控、服务虚拟化、混沌工程、安全测试。一本书破解当下测试工作的众多难题,可为微服务和分布式系统的质量保障提供一站式解决方案。
本书内容具体如下。
第1章梳理各种微服务测试工作的价值与要点,帮助读者快速建立测试工作全局视角。
第2章剖析微服务环境下制定测试策略的要点、影响因素与实战技巧。
第3章介绍接口测试与界面自动化测试的主要思路与常见问题。
第4章重点讲解如何基于Pact与Spring Cloud Contract进行契约测试实践。
第5章分析性能测试在微服务和传统软件环境下的区别,并介绍全链路压测的实施思路要点。
第6章介绍微服务监控的概念、模式分类,以及监控实践、系统搭建与容器化部署。
第7章重点介绍如何在微服务环境下运用服务虚拟化技术来解决各种服务依赖问题。
第8章介绍混沌工程的价值、实施先决条件、原则与实施方法。
第9章包括安全测试的需求分析、测试人员角色定位以及多种测试工具实战。 -
作者介绍
-
目录
序
前言
第1章 微服务测试概述
1.1 微服务测试的要点
1.1.1 一份有效的测试策略
1.1.2 一个构建接口层数据的好办法
1.1.3 端到端测试,减少耗时
1.1.4 把握微服务系统整体质量
1.1.5 隔离依赖,实现独立测试
1.1.6 守住第一道安全防护层
1.2 微服务中的自动化测试
1.3 本章小结
第2章 微服务测试策略
2.1 传统测试策略与敏捷测试策略
2.1.1 传统测试策略
2.1.2 敏捷测试策略
2.2 微服务中的测试策略
2.2.1 测试象限
2.2.2 测试金字塔
2.2.3 环境管理策略
2.2.4 流水线策略
2.3 影响微服务测试策略制定的因素
2.3.1 质量目标
2.3.2 被测系统的具体实现与可测试性
2.3.3 人员能力
2.3.4 开发与测试的协作模式
2.3.5 产品演进的不同阶段
2.4 微服务的测试策略实战
2.4.1 迭代0
2.4.2 迭代N
2.4.3 重构
2.5 本章小结
第3章 接口测试及界面自动化测试
3.1 接口测试简介
3.1.1 接口说明文档与测试用例类型
3.1.2 接口测试重点
3.2 接口自动化测试实战
3.3 接口测试的常见问题
3.4 前端界面测试思路
3.5 前端界面自动化测试
3.6 本章小结
第4章 契约测试
4.1 初识契约测试
4.2 基于Pact的契约测试实战
4.2.1 Pact的测试理念
4.2.2 被测应用
4.2.3 消费者Miku服务与生产者服务间的契约测试
4.2.4 Gradle的相关配置
4.2.5 消费者Nanoha服务与生产者服务间的契约测试
4.2.6 验证我们的测试
4.3 基于Spring Cloud Contract的契约测试实践
4.3.1 认识Spring Cloud Contract
4.3.2 验证被测微服务系统
4.3.3 在生产者服务端的测试
4.3.4 在消费者服务端的测试
4.4 契约测试高阶解惑
4.4.1 关于测试的表述
4.4.2 为什么要做契约测试
4.4.3 契约测试和接口测试、集成测试的区别
4.4.4 契约测试可以替代集成测试吗
4.4.5 关于Pact和Spring Cloud Contract的博弈
4.4.6 消费者服务端的集成测试需要做到什么程度
4.4.7 关于“生产者驱动的契约测试”
4.5 本章小结
第5章 性能测试
5.1 接口的性能测试
5.1.1 性能测试难在哪里
5.1.2 基本概念
5.1.3 测试方式分类
5.1.4 测试工具
5.1.5 性能测试场景
5.1.6 测试过程
5.1.7 性能瓶颈分析
5.2 全链路压测
5.2.1 实施思路
5.2.2 实施过程
5.3 做好性能测试能否成为资深测试专家
5.4 本章小结
第6章 微服务监控
6.1 了解微服务监控
6.1.1 为什么要监控你的微服务
6.1.2 微服务监控与传统监控的区别
6.2 微服务监控模式的分类
6.2.1 健康检查
6.2.2 服务日志监控
6.2.3 链路追踪
6.2.4 监控指标
6.3 微服务监控实践
6.3.1 利用Spring Boot Actuator进行服务监控
6.3.2 Spring Boot Actuator结合Prometheus和Grafana进行可视化监控
6.3.3 利用docker-compose快速搭建监控系统
6.3.4 Kubernetes环境下SkyWalking容器化部署
6.4 本章小结
第7章 服务虚拟化
7.1 服务虚拟化价值与简单示例
7.2 基于WireMock的服务虚拟化
7.2.1 模拟系统
7.2.2 基于Java的基本使用
7.2.3 基于独立执行文件的基本使用
7.2.4 录制与回放
7.2.5 异常模拟
7.2.6 状态行为
7.3 基于Hoverfly的服务虚拟化
7.3.1 理解Hoverfly的服务方式
7.3.2 选择合适的工作模式
7.3.3 深入simulation的细节
7.3.4 使用模板实现动态响应
7.3.5 Hoverfly的状态行为
7.3.6 使用中间件
7.4 提供Web UI的轻量级服务虚拟化方案
7.4.1 最简单的交互式服务虚拟化工具:Mockit
7.4.2 支持团队协作的服务虚拟化工具:YApi
7.5 服务虚拟化技术的灵活运用
7.5.1 在集成测试中的运用
7.5.2 在性能测试中的运用
7.5.3 在视觉测试中的运用
7.5.4 在契约测试中的运用
7.5.5 在UI自动化测试中的运用
7.5.6 不要滥用服务虚拟化
7.6 本章小结
第8章 混沌工程
8.1 初识混沌工程
8.1.1 混沌工程的起源
8.1.2 微服务为什么需要混沌工程
8.1.3 混沌工程的两类场景
8.2 混沌工程实验与测试
8.2.1 混沌工程实验和传统测试的区别与联系
8.2.2 混沌工程与故障注入测试的区别
8.2.3 QA In Production与混沌工程
8.3 实施混沌工程的先决条件
8.3.1 我的项目需要实施混沌工程吗
8.3.2 实施混沌工程的先决条件
8.4 混沌工程原则
8.4.1 建立系统稳定状态的假设
8.4.2 用多样的现实世界事件做验证
8.4.3 在生产环境运行实验
8.4.4 利用CI/CD进行混沌工程实验
8.4.5 最小化爆炸半径
8.5 设计混沌工程实验
8.5.1 实验可行性评估
8.5.2 观测指标设计与对照
8.5.3 实验场景设计
8.6 混沌工程实践
8.6.1 Chaos Monkey实践
8.6.2 Chaos Blade实践
8.6.3 Chaos Mesh实践
8.7 本章小结
第9章 安全测试
9.1 安全测试需求
9.1.1 基于功能的安全测试需求
9.1.2 基于风险的安全测试需求
9.2 测试人员的定位
9.2.1 测试人员的职责
9.2.2 测试人员的角色
9.2.3 安全内建
9.3 测试工具与实战
9.3.1 被测微服务系统示例
9.3.2 SAST工具之SonarQube实战
9.3.3 DAST工具之OWASP ZAP实战
9.3.4 SCA工具之Dependency Check实战
9.3.5 渗透测试工具简介
9.4 本章小结
后记
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...