服务测试分类
单元测试(Unit Test)
集成测试(Integration Test)
针对组件之间的交互,保证服务链路以及通讯接口的正确性,需测试:
- 服务外部交互的proxy,需测试请求响应交互逻辑,成功或失败,底层序列化,http处理,请求参数和http请求头校验,错误处理逻辑等
- 访问数据库等
组件测试(Component Test)~内部Mock
不关注服务内部细节,将服务看作黑箱,仅对服务暴露的公开接口进行测试(需要将外部依赖mock掉)
组件测试(Component Test)~外部Mock
契约驱动测试
契约测试一般由消费方开发,根据消费方的业务需求定义契约,先验证自身测试通过,然后交给生产方验证,相当于消费方给生产方提需求
端到端测试(End-to-End Test)
端到端测试将服务看做一整个黑盒子,通过接口等对应整体进行功能或非功能的测试
总结
测试金字塔
建议多搞单元测试等