序
如今,微服务架构已从概念阶段走到了有大量应用的大规模落地阶段。从技术层面上讲,Spring Cloud、Docker和Kubernetes已经成为事实上的标准,Service Mesh架构的应用也越来越广泛;从商业层面上讲,微服务架构已实现“利用技术上的确定性来应对业务端不确定性”这一关键目标。
但是,微服务架构在为系统开发带来很大便利的同时,也给软件测试和质量保障活动带来了巨大的挑战。
从软件测试维度来看,微服务架构的盛行使得接口测试用例的数量爆发性增长,并且众多接口之间的调用关系使得测试依赖比以往任何时候都更复杂,被测环境的搭建与部署也变得愈加困难,系统性能和安全的挑战与风险也在不断被放大。在这种大背景下,传统的软件测试技术,尤其是传统的接口测试技术,其能力已经很难满足微服务架构的质量保障要求,我们迫切需要与之相适应的测试策略、技术体系与工程实践来持续保障微服务架构的质量。
从质量保障维度来看,微服务架构下的质量概念往往具有更大的范围,不仅仅涵盖传统的接口功能、性能和安全层面,还意味着测试人员需要从监控、运维以及面向局部故障的视角对其进行更全面的探索与实践。“为测试而设计”“为部署而设计”“为监控而设计”的理念在微服务架构的大规模应用下变得愈加重要,被测系统的可测试性、可观测性和可运维性成为微服务系统架构是否能够获得成功的关键。
所以作为新时代的软件测试技术人员,不管是从一开始就接触微服务架构,还是从原本的巨石架构或者分布式架构向微服务架构转型,都非常有必要深入学习微服务测试的方方面面。因此我们急需一本理论与实践相结合的书,本书的出版填补了这一空白。
全书行文流畅,对知识的讲解层层递进,既有在理论体系上庖丁解牛、细致入微的分析和讲解,又有面向初学者的实战技术指导和具体案例说明。内容不仅涵盖微服务测试策略、接口测试的基础知识、契约测试的工程实践以及微服务下的性能与安全测试,还涉及微服务监控、服务虚拟化以及混沌工程等前沿实践。
通读全书可以让读者对企业级微服务测试有全面、体系化的认识,可以说本书是软件测试人员躬身入局,系统掌握微服务测试体系的必读佳作。
茹炳晟
腾讯微信支付研发主管
腾讯研究院特约研究员
畅销书《测试工程师全栈技术进阶与实践》作者