API 版本兼容性测试要判断:受支持的客户端与服务端版本能否交换数据,而不破坏消费者契约或改变业务含义。新增字段不自动等于安全,兼容性取决于真实消费者和项目支持策略。

建立版本与支持矩阵

根据已有项目证据记录契约、客户端和服务端版本、支持及弃用时间线、迁移顺序,再列出实际适用的组合。

客户端与服务端组合所需证据
旧客户端与旧服务端基线行为及支持周期
旧客户端与新服务端客户端对新增字段、取值和错误的接受行为
新客户端与旧服务端是否支持回退或迁移行为
新客户端与新服务端目标契约及消费者预期

明确保留不支持或未知的矩阵格。不能依惯例填值,也不能因为列出了四种组合就称矩阵完整。

对照传输结构和业务含义

按实际方向比较字段类型与必需性、枚举、默认值、错误载荷和语义单位,再核对真实客户端如何读取和写入。结构兼容的金额如果单位不同、null 被当成默认值,或错误码无法识别,仍可能改变业务行为。

向后兼容结论需要客户端样例和有来源的支持策略。缺少这些材料时,应把对应矩阵格标为未评估,而不是假设客户端会忽略未知字段。

规划共存、弃用和回滚

追踪新服务端或新契约上线时的旧客户端路径,以及迁移期间的新客户端路径。明确哪些观测支持弃用、共存时哪些能力必须保留,以及哪些写入会令回滚不再安全。只有符合项目支持计划时,才提出双版本或弃用检查。

记录 AVC-## 发现

记录版本组合、变更或字段、来源、触发条件、预期消费者行为、证据状态、影响与优先级、责任角色、关闭条件和验证方法。区分不兼容变更与不支持或未知的组合。

保持静态复核和证据边界

对照已有契约、客户端样例、支持说明和过往报告。不要执行测试、修改应用资产、编造版本或行为,也不要把候选矩阵说成运行时覆盖或发布批准。

相关 Skill

安装与调用

安装这个 Skill:

npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/api-version-compatibility-testing -g

调用 api-version-compatibility-testing 时,提供受支持的版本、客户端样例、服务端契约、支持时间线、迁移顺序和回滚约束。

源文件

阅读API 版本兼容性测试 Prompt。其中定义 AVC-## 发现合同,以及客户端/服务端版本矩阵的判定边界。

分享