常规方案一般是根据接口文档去做 diff 判断
但是接口内部逻辑的变更没办法获取
我们现在的方案是代码调用链路分析 +git diff
(1)首先采用静态 + 动态调用链路分析获取 服务间的调用链路以及接口内部方法的调用链路
(2)服务部署后 自动获取当前部署代码和上次部署代码的差异 git diff
(3)根据代码差异中变更的内部方法 获取影响本服务的哪些接口
(4)根据服务间的接口调用关系 获取其他服务受影响的接口
(5)打通接口自动化平台,根据影响到的接口 获取涉及的接口自动化用例 推荐对应的接口自动化用例进行执行
(6)接口自动化用例执行后,获取涉及服务的代码覆盖率
(7)生成影响范围、接口自动化测试报告以及代码覆盖率报告