深度实践微服务测试

深度实践微服务测试

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

4位作者服务多个大中型知名企业后总结的微服务测试方法论与实战经验。

内容简介

一本书破解当下测试工作的众多难题,可为微服务和分布式系统的质量保障提供一站式解决方案。

全书内容分9章,涵盖测试策略、接口与界面自动化测试、契约测试、性能测试、微服务监控、服务虚拟化、混沌工程、安全测试。

作者简介

作者付彪,Thoughtworks总监级质量分析咨询师,常年专注于软件测试与软件质量保障领域。

精通经典测试理论、自动化测试设计与实施,以及通用型软件系统前后端的各种测试活动,在敏捷测试和微服务系统测试方面有非常丰富的实践经验。

长期关注工程效能与新兴技术对传统软件测试的革新,坚持通过博客和开源软件助力行业和社区发展。

章节目录

版权信息

作者简介

前言

第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 本章小结

后记

深度实践微服务测试是2022年由机械工业出版社有限公司出版,作者雷辉。

得书感谢您对《深度实践微服务测试》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深度学习在动态媒体中的应用与实践 电子书
本书是一本深度学习的基础入门读物,对深度学习的基本理论进行了介绍,主要以Ubuntu系统为例搭建了三大主流框架——Caffe、TensorFlow、Torch,然后分别在3个框架下,通过3个实战项目掌握了框架的使用方法,并详细描述了生产流程,最后讲述了通过集群部署深度学习的项目以及如何进行运营维护的注意事项。本书适合对深度学习有浓厚兴趣的读者、希望用深度学习完成设计的计算机专业或电子信息专业的高校
Kali Linux 2网络渗透测试实践指南 电子书
Kali是世界渗透测试行业公认的杰出的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所有的热门工具。本书由知名的网络安全领域的教师编写完成,全书共16章,内容围绕如何使用Kali这款网络安全审计工具集合展开。本书涉及网络安全渗透测试的相关理论和工具、KaliLinux2使用基础、被动扫描、主动扫描、漏洞扫描、远程控制、渗透攻击、Armitage、社会工程学
大型企业微服务架构实践与运营 电子书
本书介绍了在电信业务支撑系统架构转型要求下,亚信PaaS产品研发的探索和实践。早在微服务理念还是星星之火的时候,产品研发团队敏锐地认识到技术的趋势,大胆规划、谨慎实践,从0到1,逐步构建了中间件、微服务、容器等一系列云原生架构,并通过在电信行业及类电信行业的实践,孵化出基础架构平台产品,打造功能强大的PaaS平台,实时感知客户变化、预知客户需求,为各行各业瞬息万变的前端应用提供敏捷、高效的通用基础
深度学习 电子书
深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。
深度学习 电子书
本书介绍了深度学习的基本概念、算法原理以及实现框架。全书共9章,分别介绍了深度学习的发展历史、神经网络与深度神经网络、卷积神经网络、循环神经网络、深度学习在目标检测和图像描述中的应用、生成对抗网络、深度迁移学习和深度强化学习等,并提供了应用实例。