本文内容
Canary AI QA:验证缺陷检出,而不是排行榜分数
证据范围:文档核对日期为2026年10月8日。本文是基于研究的实施指南。下文试点是建议方案,我们没有实际运行这些供应商评测,也没有测量其性能。
Canary 的 QA benchmark 能证明什么?
QA-Bench v0 方法说明评估四个仓库中的35个 PR 验证输出,用 LLM 对相关性、覆盖度和连贯性评分。限制部分承认高层测试计划与具体脚本不同,并指出执行测试、使用通过或失败结果会更公平。
因此83.1这样的总分不表示“Canary 能找出83.1%的 bug”,也不能证明你当前 Claude Code 或 Codex 配置在自身应用上的表现。用 benchmark 理解验证问题,再测量真正需要的结果。
采用试点应该测什么?
对每个已知缺陷,检查生成并执行的测试是否在缺陷版本失败,在修复版本因正确原因通过。区分识别流程、编写测试、执行和复现缺陷。一个好计划可以有价值,但还不等于已执行的回归检查。
Canary 发布的配置参考是核对当前集成的起点。固定实际测试版本与受支持流程,不能根据旧 benchmark 的模型名称推断兼容性。条件允许时,功能编写智能体与验收证据保持独立。
测试应用应该包含哪些缺陷?
使用双租户的可丢弃应用及已知正确参考版本。每次引入一个缺陷,对被测智能体隐藏缺陷标签,并加入无错误对照变更。下表是建议语料,不是 Canary 实测发现。
| 缺陷 | 必须检查的断言 | 有用的阴性对照 |
|---|---|---|
| 缺少租户所有权检查 | A 不能读取 B 的记录 | A 仍能读取自己的记录 |
| 重复提交 | 一次逻辑请求只创建一个记录 | 两次不同请求创建两个记录 |
| 仅 UI 检查授权 | 直接后端写入被拒绝 | 授权角色能写入 |
| 失败步骤报告成功 | 用户看到失败且存储状态一致 | 正常流程正确持久化 |
| 删除范围过大 | 仅影响选中记录 | 未选记录仍可读取 |
| 会话过期 | 过期后无特权写入 | 有效会话仍可操作 |
故意设置的安全缺陷只能访问本地或隔离的合成数据。不要为了“真实”把缺陷引入共享生产环境。
如何避免误判评测结果?
- 对每个配置固定初始应用、PR 上下文和时间预算。
- 保存计划、生成测试、执行命令、日志与目标状态。
- 独立复现每个发现,单独标记基础设施故障。
- 每个候选测试同时在缺陷版和修复版运行。
- 统计确认检出、遗漏的植入缺陷、干净对照误报和人工复核分钟。
按缺陷类别报告结果和样本量。应用根本没启动导致失败,不是成功检出。修复后仍失败的测试,也不能证明有效回归断言。保留重复运行,展示波动,避免只展示幸运的一次。
Canary 能替换应用测试套件吗?
不要根据供应商分数做这个决定。保留业务不变量和关键集成的确定性检查。生成的探索测试可扩展覆盖或发现遗漏流程,但纳入维护套件前,要审查断言、夹具归属和稳定性。
为权限泄露及破坏性错误设置独立停止门槛。高平均分不能抵消漏掉关键租户隔离缺陷。查看结果前先定义门槛。
AI QA 应如何预算?
测量每次已验收验证的成本,包含执行基础设施、重复运行和人工分类。重复报告算一个缺陷。追踪测试在修复后及下一次产品变更后是否仍然有用。如果每个 PR 都需花时间调查误报,低生成费用也可能很贵。
什么时候加入 Canary?
当隔离试点证明它带来有用的额外检出或可维护回归测试,且复核成本可接受时。如果主要价值是流程规划,就按这个用途采用并标注。带上缺陷语料与验收规则,规划独立 QA 评估。
下载建议试点协议(JSON)。其中包含验收用例与空结果字段,不是供应商实测结果。
相关实施指南
Greptile Base、Plus、Apex:如何分配 PR 审查预算. Arga Labs 与 Archal:有状态智能体集成测试.
已核对的来源
独立性与商标声明: 本页由 Wavect 发布,Wavect 自身也是服务商,因此我们对本页存在商业利益。我们与本页提及的其他公司没有关联,未获得其背书,也不是其合作伙伴;所有第三方公司名称、品牌与商标均归各自所有者所有。关于其他服务商的陈述来自公开可查的来源,主要是其自己发布的页面,以本页标注的核查日期为准,此后可能已经发生变化。做决定前请自行直接核实。本页依据我们所知的情况撰写,并力求保持客观。如果你认为其中有不准确或不公平之处,请写信告诉我们,我们会更正: [email protected]
