AI 写的代码 怎么测试
验证 AI 写的代码,关键是验证方独立于写代码的 Agent。按 6 步做:对照需求、查影响范围、核覆盖并补测试、SAST 与大模型双路找缺陷、在真实浏览器里跑关键流程、给出合并结论并附证据。
为什么“单测通过”还不够
改对了文件,改错了逻辑
代码能编译、单测能过,但与需求不符,例如边界条件、状态流转或权限判断。
测试迁就代码
同一个 Agent 写代码也写测试,测试往往验证的是它写出来的行为,而不是需求要求的行为。
影响范围外溢
改一个公共方法,波及了没打算改的接口和页面,却没有对应的回归。
自述代替证据
Agent 说“已完成、测试通过”,但没有可复核的命令输出、截图或日志。
看不见的缺失
需求里有、代码里没有的功能点,单看 diff 发现不了。
6 个步骤独立验证
每一步右侧是 OpenQA 对应的能力,状态读自站内能力表。
- 1
对照需求
先把需求拆成可验证的条目,逐条检查改动是否实现、有没有多做或漏做。
- 需求分析可用
- 2
查影响范围
从改动的方法向上追溯到接口与页面入口,确定这次需要回归的范围。
- 变更影响分析可用
- 变更影响报告可用
- 3
核覆盖、补测试
召回已有用例,逐个判断是否测到改动;没测到的点生成新测试与测试数据,只新增不改旧测试。
- 测试用例生成可用
- 测试数据构造可用
- 4
双路找缺陷
用 SAST 规则抓已知模式,用大模型对照需求与调用链找业务逻辑缺陷,每条发现附代码位置与依据。
- 缺陷与安全扫描可用
- 证据化代码评审可用
- 5
在真实环境跑一遍
在真实浏览器里回放关键流程,保留截图、控制台与网络日志;失败时定位根因。
- 浏览器执行可用
- 根因分析可用
- 6
给出合并结论
汇总证据,给出合并、复核或阻断的结论,写明查了什么、没查什么;不通过时把位置、期望与实际交回 Agent 修复。
- OpenQA 桌面端内部使用 · 预计 2026 Q4 开放
5 分钟开始
在 Cursor、Claude Code、Codex 或 OpenClaw 里安装 OpenQA Skills,本地运行、无需账号。装好后对 Agent 说“验证这次改动”,技能路由会按风险调用上面的步骤,报告写在本机磁盘上。
npx skills add openqa-cn/codexqa --skill codexqa-skill-router还在比较方案?看AI 测试平台与工具怎么选,以及OpenQA 与 AI 代码评审的区别。
常见问题
AI 写的代码怎么测试?
按六步做:对照需求、查影响范围、核覆盖并补测试、SAST 与大模型双路找缺陷、在真实浏览器里跑关键流程、给出合并结论并附证据。关键是验证方要独立于写代码的 Agent。前五步已由 OpenQA Skills 开源技能提供,一条命令装进 Cursor 或 Claude Code:npx skills add openqa-cn/codexqa --skill codexqa-skill-router。
AI 生成的代码单元测试都通过了,还需要再测吗?
需要。同一个 Agent 写的代码和测试,测试往往验证的是它实现出来的行为,而不是需求要求的行为。还要对照需求检查、核对影响范围内的接口和页面是否被测到,并在真实环境里跑一遍关键流程。
怎么验证 Cursor 或 Claude Code 生成的代码对不对?
在同一个编辑器里装一个独立的验证技能。OpenQA Skills 支持 Cursor、Claude Code、Codex 与 OpenClaw,本地运行、无需账号:让它分析改动影响、检查缺陷、生成缺失的测试并在浏览器里回放,报告写在本机磁盘上。安装:npx skills add openqa-cn/codexqa --skill codexqa-skill-router。
Agent 提交的 PR 可以直接合并吗?
不建议直接合并。至少要有影响范围、覆盖情况、缺陷检查和运行结果四项证据。OpenQA 桌面端(内部使用 · 预计 2026 Q4 开放)为每个变更给出合并、复核或阻断的结论;在此之前可以用 OpenQA Skills 在本地完成这些检查。
AI 生成的代码缺陷多吗?
取决于任务和模型,没有通用的比例。常见的是业务逻辑类缺陷:边界条件、状态流转、权限判断与需求遗漏,这类问题规则扫描很难发现。公开盲测样例上,102 条 Semgrep 种子规则召回 0/7,OpenQA 召回 7/7、误报 0(单次记录运行,样例公开可复跑)。