项目位置/技术/需求
在服务接口联调阶段,我们采用接口关系测试来解决模块单独可用但协作不稳定的问题
解决的问题
该平台按照用户、商品、订单、库存、支付、运营和对账等能力划分模块,各模块在单元测试中能够完成自身功能,但一旦进入联调,字段含义、状态编码、异常处理和调用时序稍有不一致,就可能导致订单状态错误或库存处理失败
解决的方法
为解决这一问题,我组织项目组依据概要设计和接口规范建立接口清单,重点检查入参出参、状态码、幂等标识、超时返回和异常提示等内容
具体的实现
具体实施时,各服务通过 Nacos 和 Dubbo 完成注册与调用,外部请求统一经过 Spring Cloud Gateway 进入系统,测试人员使用接口测试工具和日志平台核对调用结果
例子
以订单模块调用库存模块为例,测试时不仅验证库存充足时能否正常占用,还模拟库存不足、重复提交和接口超时等情况,检查订单状态是否保持正确
效果
通过接口关系测试,项目组在系统组装早期发现并修正了若干字段约定和异常处理问题,减少了后续业务链路联调的反复成本