服务测试分类

单元测试(Unit Test)

作用在类,方法级别,主要关注服务内部交互逻辑的正确性
image.png

集成测试(Integration Test)

针对组件之间的交互,保证服务链路以及通讯接口的正确性,需测试:

  • 服务外部交互的proxy,需测试请求响应交互逻辑,成功或失败,底层序列化,http处理,请求参数和http请求头校验,错误处理逻辑等
  • 访问数据库等

image.png

组件测试(Component Test)~内部Mock

不关注服务内部细节,将服务看作黑箱,仅对服务暴露的公开接口进行测试(需要将外部依赖mock掉)
image.png

组件测试(Component Test)~外部Mock

image.png

契约驱动测试

契约测试一般由消费方开发,根据消费方的业务需求定义契约,先验证自身测试通过,然后交给生产方验证,相当于消费方给生产方提需求
image.png

端到端测试(End-to-End Test)

端到端测试将服务看做一整个黑盒子,通过接口等对应整体进行功能或非功能的测试
image.png

总结
image.png

测试金字塔

建议多搞单元测试等
image.png
image.png