跳到正文
阿里雲開發者社區 AI·· 1 小時前AI 評分50

如何利用 AI 根據項目程式碼生成測試案例

如何根据项目代码生成测试用例

AI 導讀

這套方法利用 AI 根據項目程式碼生成測試案例,先分析程式碼、還原業務流程並整理測試點,再由人工審核後生成正式案例。流程透過 Cursor 的 `/code-to-testcase` Skill 執行,分析階段會列出程式碼範圍、Mermaid 流程圖、測試點及待確認項。確認後可輸出 Excel 或 XMind 格式;文章建議先選範圍清晰的功能,並由測試、產品或開發共同確認程式碼未明確表達的規則。

正文

2026-11-06 2

版权

版权声明:

本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

简介: 不少测试同学都有过类似的想法: 能不能让 AI 直接阅读项目代码,自动生成某个功能或模块的测试用例? 从技术实现上看,这件事并不难。AI 可以分析接口、条件分支、异常处理和数据流转,再按照固定格式整理成测试用例。 但如果真正用于项目测试,“直接生成”并不是最稳妥的方式。 代码描述的是系统当前如何实现,不一定完整代表业务原本应该如何运行。如果代码中存在逻辑遗漏、实现偏差,或者部分规则没有写在代码里,完全以代码为依据生成用例,就可能把这些问题一并带入测试设计。 因此,我采用了一种更适合实际工作的方式: 1. 先让 AI 深入阅读指定功能的相关代码; 2. 根据代码还原业务流程,提炼测试点; 3.

不少测试同学都有过类似的想法:

能不能让 AI 直接阅读项目代码,自动生成某个功能或模块的测试用例?

从技术实现上看,这件事并不难。AI 可以分析接口、条件分支、异常处理和数据流转,再按照固定格式整理成测试用例。

但如果真正用于项目测试,“直接生成”并不是最稳妥的方式。

代码描述的是系统当前如何实现,不一定完整代表业务原本应该如何运行。如果代码中存在逻辑遗漏、实现偏差,或者部分规则没有写在代码里,完全以代码为依据生成用例,就可能把这些问题一并带入测试设计。

因此,我采用了一种更适合实际工作的方式:

1. 先让 AI 深入阅读指定功能的相关代码;

2. 根据代码还原业务流程,提炼测试点;

3. 人工审核流程图、测试点和待确认项;

4. 确认内容无误后,再生成测试用例。

简单来说,不让 AI 一次完成从代码到用例的全部工作,而是在中间增加一个人工确认环节。

实践案例

整体流程:

整个过程可以分为两个阶段:

  • 第一阶段:分析代码,生成代码范围、业务流程图、测试点和待确认项;
  • 第二阶段:人工审核并补充内容,生成正式测试用例。

Skill 导入

导入完成后,可以在 Cursor 中通过 /code-to-testcase 调用。

建议优先选择边界相对清晰的功能或模块,不要第一次就扫描整个大型项目。范围过大不仅会增加分析成本,也容易让输出内容失去重点。

第一步:执行代码分析

基本输入格式:

 text
/code-to-testcase 功能或模块

例如,可以指定一个具体功能,让 AI 从当前项目中定位入口代码及相关调用链路。

执行后,AI 会搜索并阅读与该功能相关的代码。为了尽可能还原真实逻辑,分析通常不会只停留在入口文件,还会继续查看关联的服务、数据处理、接口调用和异常分支。

分析范围越大、调用关系越复杂,消耗的时间和上下文也会越多,建议根据实际需要使用。

完成后,会生成一份分析文档,主要包含以下几部分。

代码范围:确认分析是否完整

文档首先会列出本次扫描涉及的文件、关键入口和主要调用关系。

这部分不一定需要逐行阅读,但建议重点确认两个问题:

1. 是否找到了正确的功能入口;

2. 是否遗漏了关键服务、数据处理或外部依赖。

如果一开始定位的代码范围不准确,后续流程图和测试点也会出现偏差。因此,代码范围更像是一份分析依据和检查清单。

业务流程图:快速核对代码逻辑

分析文档会使用 Mermaid 语法生成业务流程图。可以通过支持 Mermaid 的 Markdown 工具查看,例如 Typora,部分代码编辑器安装相应插件后也可以直接预览。

流程图主要用于展示:

  • 功能从哪里开始;
  • 中间经过哪些判断和处理;
  • 不同条件会进入哪些分支;
  • 成功和失败分别如何结束;
  • 是否依赖接口、数据库或第三方服务。

对于调用链较长的功能,流程图通常比逐个文件阅读更容易发现问题。例如某个异常分支没有返回、某种状态缺少处理,或者主流程与需求描述不一致,都可以先在这里识别出来。

审核时不要只看流程图是否清晰,还要将它和需求、原型或已有业务规则进行对照。

测试点:先确认覆盖方向

代码分析完成后,AI 会根据识别到的业务流程和分支整理测试点。

这里暂时不直接展开成完整用例,主要有两个原因:

  • 测试点比详细用例更容易审核,可以快速判断 AI 是否理解了业务;
  • 如果分析方向存在偏差,修改测试点的成本远低于重新调整整份用例。

检查测试点时,可以重点关注以下内容:

  • 主流程是否完整;
  • 参数为空、格式错误、超出范围等校验是否覆盖;
  • 不同用户、角色和权限是否覆盖;
  • 各类状态及状态流转是否覆盖;
  • 接口失败、超时、重复请求等异常是否覆盖;
  • 数据新增、修改、删除及一致性是否覆盖;
  • 并发、幂等、重复提交等风险是否需要补充;
  • 日志、消息、缓存和第三方依赖是否需要验证。

代码中没有体现、但业务上必须验证的内容,也应当在这个阶段手动补充。

待确认项:把不确定信息单独列出来

当代码无法明确表达某项业务规则,或者不同代码路径之间存在冲突时,AI 会将问题整理到“待确认项”中。

这部分很重要。与其让 AI 在信息不足时自行猜测,不如把不确定项明确列出,再由测试、产品或开发共同确认。

确认结果应及时补充回分析文档,作为后续生成用例的依据。

第二步:生成功能测试用例

当代码范围、流程图、测试点和待确认项都完成检查后,就可以继续生成正式测试用例。

当前方案支持两种常用格式:Excel或XMind

可以只生成其中一种,也可以根据需要同时生成。

Excel 测试用例

Excel 版本更适合作为正式的测试执行文档,可以继续补充前置条件、测试步骤、预期结果、优先级和实际执行结果。

XMind 测试用例

XMind 版本会按照模块、场景和检查点组织,更方便查看测试范围。

这套方法适合哪些场景

它比较适合以下工作:

  • 接手不熟悉的存量项目,快速了解功能逻辑;
  • 需求文档不够完整,需要结合代码补充测试分析;
  • 对已有模块进行回归测试,重新梳理覆盖范围;
  • 在代码变更后检查新增或受影响的测试点;
  • 测试人员参与较晚,需要快速建立对实现逻辑的认识。

但它并不能替代需求评审、业务确认和测试人员的专业判断。对于规则复杂、历史逻辑较多或跨系统依赖较强的功能,仍然需要开发、产品和测试共同确认。

來源:阿里雲開發者社區 AI · developer.aliyun.com