本文内容节选自第六届全球软件案例研究峰会,时任美团点评酒旅质量团队工具链负责人王鹏老师分享的《微服务架构下的自动化测试和持续集成工具链实践》实录,重点分享:微服务架构下解决自动化测试、开发联调、测试环境、持续集成方面遇到的问题及解决方案。(PPT+文稿)。
王鹏老师时任美团点评酒旅质量团队工具链负责人,在软件开发,自动化测试,研发流程改进,持续集成/交付基础设施,敏捷开发等领域有近10年的开发实施和推广经验。
编者按:2017年11月9-12日,第六届全球软件案例研究峰会在北京国家会议中心盛大开幕,现场解读2017年「壹佰案例榜单」。时任美团点评酒旅质量团队工具链负责人王鹏老师分享的《微服务架构下的自动化测试和持续集成工具链实践》实录的案例分享。
【内容简介】微服务化为自动化测试和持续集成工具链等基础设施带来了新难题,本案例通过在酒旅研发测试团队中实施持续集成,敏捷开发工具链和自动化测试的实践,分享工具团队如何实现高效的研发质量保证体系保驾护航,提供质量和效率方面的工具支持。希望能为“急速”增长中的研发团队在提升开发测试质量和工程效率方面提供一些启发和参考。
1
从Monolithic到Microservices
在2008年时,市场软件形式大多为CS架构。当时存在的问题在于,开发耗时1-2年且内部的解耦度低;而优点在于对测试团队十分友好。
后来软件形式又经历了从SOA分布式架构到现在的微服务架构。
对于微服务架构来说,它并非像开发者们想象中的井井有条。下图是一个微服务架构化的典型示例,从绿色的线可以看出服务之间的关系错综复杂。
由于微服务架构把系统功能细分,团队会在各个方面都碰到了挑战。那么微服务架构下工程质量面对的问题,该如何解决?接下来我们将会从四个方面讲述。
2
问题的发现与解决
自动化测试
1.存在的问题
-
服务数量多,以HTTP和RPC接口为主:链路长依赖多。
-
服务交付周期变短:从以前的大模块开发,花费几个月时间交付。到现在的一到两周交付上线,但自动化测试开发速度跟不上交付的速度。
-
框架使用不规范,多种方式并存。
-
自动化测试代码的扩展性和