测试提效必备!Git Diff + Skill 一键校验用例覆盖,提前揪出开发缺口

版本迭代越来越快,测试同学拿到需求文档、设计好测试用例之后,往往还要等开发提测才能开始执行。

可提测之后才发现:有的功能压根没写、有的逻辑和用例对不上、有的边界条件开发压根没处理——一轮冒烟下来 Bug 扎堆,测试节奏直接被拖垮。

那么:能不能在开发还没提测之前,就对照代码变更和测试用例,提前扫一遍「实现缺口」?

Git 自带的 git diff 可以对比两个分支的代码差异,再结合 AI 的语义理解能力,可以让 Agent 逐条对照用例,判断「已实现 / 部分实现 / 未实现 / 有偏差」。针对这个场景,我封装了配套的 Git Diff 用例覆盖校验 Skill,今天这篇分享下思路和案例~


为什么提测前要做「代码 × 用例」对照?

日常项目里,通常会维护两条主线:

  • 生产分支:对应线上稳定版本,如 prod_1.0.0

  • 功能分支:对应本次迭代需求,如 feat_tenant_lease

开发在功能分支上改代码,测试同学提前写好用例。理想状态是提测即测、高效闭环;但现实往往很骨感:

  • 提测后才发现缺口:开发说「做完了」,实际代码里关键分支、校验逻辑缺失,冒烟阶段 Bug 集中爆发;

  • 阻塞风险后置:缺陷发现越晚,返工成本越高,还容易影响上线节奏。

  • 评审信息不完整:Code Review 偏语法和架构,很少逐条对照测试用例看业务是否落地;

我的思路是:git diff 自动采集分支差异 → AI 语义对照测试用例 → 结构化输出覆盖报告,把「提测前预检」变成一条可复用的 Skill 指令。


Skill 整体介绍

一、解决什么问题?

提测前预检:对照代码变更与用例,提前发现未实现、部分实现、逻辑偏差
降低冒烟阻塞:优先处理「需关注项」,减少提测后集中爆 Bug 的情况
可交付开发:报告含修改建议,测试可直接甩给开发或让 AI 辅助修复

二、执行流程

用户输入(主分支 + 功能分支 + 测试用例)
    ↓
确认对比范围(日常开发 / 合入评审 / 仅暂存区)
    ↓
自动采集:git diff 提取变更 → 解析用例 → 整理对照材料
    ↓
Agent 语义对照:逐条判定覆盖情况
    ↓
落盘报告:覆盖率摘要 + 需关注项 + 修改

三、对比范围

不同场景下,代码变更的「范围」不一样,Skill 支持三种模式:

四、覆盖判定维度

AI 逐条对照后,会给出以下判定:

  • 已覆盖:代码变更与用例预期一致

  • 部分覆盖:核心逻辑有,但边界/异常/校验缺失

  • 未实现:用例描述的功能在 diff 中找不到对应实现

  • 有偏差:实现了但逻辑、字段、流程与用例不一致

  • 无法判定:信息不足,需人工补充确认

五、报告输出结构

最终落盘一份 Markdown 报告,通常包含三部分:

  1. 概要:总用例数、已覆盖数、需关注数等核心指标

  2. 结论摘要:整体风险判断 + 优先处理建议

  3. 逐条对照详情:每条用例的判定结果、代码依据、缺口说明、修改建议


实战案例

一、前置准备

开始之前,确认以下几项:

1、代码仓库权限

需要能 git clone 项目并在本地执行 git diff。没有权限的话,找开发或管理员开通「查看/拉取」即可。

2、AI Agent 工具

推荐 Cursor 或其他支持 Skill 的 AI IDE,在本地打开项目仓库。

3、明确对比分支

  • 主分支(基准):如 prod_1.0.0

  • 功能分支(待检):如 feat_tenant_lease

4、准备好测试用例文件

支持 Excel、Xmind、Markdown 等常见格式,用例描述越清晰,AI 对照越准。

二、Skill 下载与导入

将 Skill 包导入到 Cursor(或其他 AI 工具)的 skills 目录,导入后在对话中引用即可。

Skill获取方式:

可以自己根据Raina提供的思路进行开发skill,如果需要现成的,也可以加入知识星球获取~里面还有很多AI赋能测试全流程的实战教程。

三、Skill 执行

背景: 以公寓管理系统为例,prod_1.0.0 为线上稳定版本,本次新增「入住记录」相关需求,开发分支为 feat_tenant_lease

在对话框输入:skill+两个分支+测试用例文件

AI执行过程:

  1. AI 自动执行 git diff prod_1.0.0..feat_tenant_lease,拉取两个分支间的代码差异

  • 将变更明细结构化写入 JSON 文件,便于后续逐条分析

  • 解析测试用例,与代码 diff 做语义对照、生成覆盖报告并落盘

AI输出结果:

报告目录结构:概要 → 结论摘要 → 逐条对照详情

1、概要指标

共 30 条用例,仅 9 条判定为已覆盖,其余存在未实现、部分覆盖或有偏差

2、结论摘要

整体覆盖偏低,入住记录的核心 CRUD 有部分实现,但边界校验、状态流转、异常处理多处缺失

3、逐条对照详情

每条用例附带判定结果、关联代码片段、缺口说明和修改建议

这个是最重要的结果,我们可以直接拿这个数据先去做复现,判断是否有 bug,这里需关注的,则代表了开发有没有在代码中进行处理,提供了缺口和修改建议,这个可以直接输出给开发,让 AI 看着去处理

这样子可以提前通过扫描代码的方式,优先解决一部分缺陷,避免开始测试的时候有太多的缺陷导致阻塞流程等


小结

提测不是测试工作的起点,提测前的「代码 × 用例」预检,才是减少冒烟阻塞、提升协作效率的关键一环。

这套 Skill 的核心价值在于:

✅ 用 git diff 自动采集变更,不用人工逐文件翻代码
✅ 用 AI 语义对照,对比结果输出报告
✅ 结构化输出「需关注项 + 修改建议」,测试、开发都能直接用

当然,AI 判定不能 100% 替代人工测试——复杂业务逻辑、运行时行为、接口联调等,仍需要提测后补充验证。但把「明显缺口」前置发现,能帮你省掉大量无效等待和返工时间。

后续我也会继续迭代这个 Skill,比如支持接口文档对照、数据库变更关联等,感兴趣的同学可以持续关注~


posted @ 2026-07-27 10:47  Raina测试  阅读(18)  评论(0)    收藏  举报