全球领先的云管理服务提供商

思普智云的管理团队都对云有深刻的理解,从搭建到运营和咨询,团队成员分工明确,始终致力于为客户提供专业的技术支持和服务。

辣妈极客实力分享:微服务测试及镜像化提测全流程实践

发布时间:2019-04-22 21:14:22

首先,要隆重介绍下本文的作者,就是那位“一手带娃,一手代码”的辣妈极客—— 网易云轻舟微服务平台质量保障工程师 崔晓晴。

崔晓晴

2014年加入网易杭研质量保障部,负责多个项目质量保障工作,包括分布式文件系统质量保障、云硬盘质量保障、NCE系统测试,轻舟微服务系统测试。致力于测试质量改进方面的研究、自动化、质量保障体系探索。

以下为原文:
近几年互联网项目很多都有从单体服务转变成微服务化的趋势,尤其是一些架构复杂,业务比较广泛的项目,微服务化是大势所趋。微服务化可以解决独立构建、更新、运维等一系列问题,从而解放生产力,促进交付效率和质量。
目前网易云轻舟团队以 DevOps 的方式管理着 30+ 微服务,如图所示,容器服务项目微服务化特征明显、层次划分清晰:
业务的微服务化改造提升了各模块部署上线的效率,但对微服务项目的测试团队带来了新的要求和挑战。
从第一个层面来讲,线上及线下环境多样化和复杂性决定了构建部署次数的频率。 好的构建、部署工具可以提高构建部署的效率从而节约开发人员和测试人员的时间,达到快速交付的目的。 因此找到好的构建、部署工具和平台的重要性和优先级都是第一位的。
另一个层面,容器化服务在提测模式,上线模式、分支管理上跟之前都有很大的不同,测试团队需要针对容器化服务特点在提测模式、分支管理、质量评价方面做出一些适配和优化,以适应容器化及微服务架构的特点,将完整的容器化持续集成流水线模式引入,以及将镜像质量评价打入元数据的实践探索。
第三个层面,微服务化的项目对测试的要求更高,具体体现在测试范围更广、测试深度也要更深。 例如 《基于Kubernetes和Spring Cloud 的微服务化实践 》 文中提到的从主工程平滑拆分出用户服务的例子,一次拆分等于之前关于用户服务内部调用的流程都变成 facade + http 接口调用。 也就是说接口个数会翻倍增长(内部逻辑拆分成 http 接口),分层测试的模式进一步体现出来,这样就使得测试范围更广了。 其次,不同的微服务场景和特点不同,需要测试分析更加深入,测试策略更加有针对性,才能全面覆盖微服务架构下的多种服务类型。 对测试人员的能力、测试平台及工具、测试效率要求都更高,在这方面的深入探索很有必要,目标是更好地进行质量 + 效率的全方位保障工作。
下面具体从这三个层面出发,来看下轻舟的测试团队是如何解决这一系列问题和挑战的。