不得不说的微服务测试
在微服务架构下,给我们测试带来了如下挑战:
验证成本高,为了验证多个服务协作后的功能正确与否,需要为每个服务搭建基础设施(包括数据库、缓存等),并执行部署、配置等步骤,以确保服务能正确运行。
结果不稳定, 分布式系统,服务之间的通信都是通过网络调用,然而在网络上传送,都会面临网络延时、超时、带宽等因素,容易导致不稳定的测试结果。
反馈周期长, 相比单体应用而言,微服务架构下,可独立部署的单元多,因此集成测试的反馈周期比之前会更长,定位问题的时间就会更久。
沟通成本高, 微服务常由不同团队开发并维护,当服务频繁进行改动和版本升级的时候,很容易导致不兼容,加大团队之间的沟通成本。
测试金字塔
测试金字塔很好的帮助我们在制定测试策略的时候,区分不同层次测试关注点,同时,一般来说,测试颗粒度越粗,越脆弱,执行的时间越长,维护成本也越高。
不得不说的契约测试在微服务中,不得不聊聊消费者契约测试,
契约,一种定义在Consumer与Provider之间的交互方式
消费者驱动的契约测试
契约是Consumer和Provider团队之间达成的交互协议,更多的看中的是请求和响应的Payload结
...