返回技能市场
Output Validation
在最终输出前对测试用例做最后一轮防幻觉验证:事实核查(引用的需求ID是否存在)、一致性检查(用例之间是否矛盾)、可执行性验证(步骤是否能实际操作)、来源追溯(每个用例是否能追溯到具体需求)。当测试用例已经生成完毕、准备输出了,但你不确定AI有没有编造不存在的功能或需求时,应当使用此技能。这是整个工作流的最终质量守门——如果验证失败,必须返回问题清单要求修正,不得跳过。
SKILL.md
⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
⚠️ 安全警告:本技能的示例可能涉及对虚无功能的删除或标记建议。 实际使用时请勿直接删除测试用例或功能项,先确认其来源并备份原数据。 本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。
输出验证
核心原则
AI可能编造不存在的内容——必须验证每个输出的依据。
加载时机
| 什么时候读 | 读哪个 |
|---|---|
| 逐维做防幻觉校验时 | references/validation-dimensions.md |
验证维度的完整内容已下沉至references/validation-dimensions.md,避免每次触发都占用上下文。
验证流程
步骤1:事实核查
执行内容:
1. 对比用例中的需求ID与需求解构表
2. 检查风险ID是否基于实际分析
3. 验证边界条件是否真实存在
4. 检查引用的行业知识是否准确
输出:
├─ 核查通过项:[列表]
├─ 核查失败项:[列表]
└─ 幻觉风险项:[列表]
步骤2:一致性检查
执行内容:
1. 验证需求ID与用例的对应关系
2. 验证风险ID与用例的匹配关系
3. 验证场景与边界的覆盖关系
4. 验证评审结果与实际输出的一致性
输出:
├─ 一致项:[列表]
├─ 不一致项:[列表]
└─ 矛盾项:[列表]
步骤3:可执行性验证
执行内容:
1. 检查测试步骤的具体性
2. 检查预期结果的可验证性
3. 检查测试数据的可构造性
4. 检查测试环境的可搭建性
输出:
├─ 可执行项:[列表]
├─ 部分可执行项:[列表]
└─ 不可执行项:[列表]
步骤4:生成验证报告
## 输出验证报告
### 验证摘要
- 验证日期:YYYY-MM-DD
- 用例总数:XX条
- 验证结果:通过/不通过
### 事实核查
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 需求真实性 | 通过/失败 | [说明] |
| 风险合理性 | 通过/失败 | [说明] |
| 边界可验证性 | 通过/失败 | [说明] |
| 行业标准准确性 | 通过/失败 | [说明] |
### 一致性检查
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 需求ID匹配 | 通过/失败 | [说明] |
| 风险ID匹配 | 通过/失败 | [说明] |
| 场景边界对应 | 通过/失败 | [说明] |
| 评审结果一致 | 通过/失败 | [说明] |
### 可执行性验证
| 用例编号 | 可执行性 | 问题 |
|---------|---------|------|
| TC_XXX_001 | 可执行 | - |
| TC_XXX_002 | 部分可执行 | [问题] |
| TC_XXX_003 | 不可执行 | [问题] |
### 问题清单
| 问题类型 | 用例编号 | 问题描述 | 严重程度 |
|---------|---------|---------|---------|
| 幻觉 | TC_XXX_001 | 需求ID不存在 | 高 |
| 不一致 | TC_XXX_002 | 风险等级与内容不符 | 中 |
| 不可执行 | TC_XXX_003 | 步骤过于模糊 | 中 |
### 验证结论
- 是否通过:是/否
- 主要问题:[描述]
- 建议:[建议]
验证策略速查表
不同输出类型的验证侧重点不同:
| 输出类型 | 优先验证维度 | 特别关注 | 验证深度 |
|---|---|---|---|
| 功能用例 | 可执行性+事实核查 | 步骤是否可操作 | ★★★ |
| 边界用例 | 事实核查 | 边界值是否真实存在 | ★★★★ |
| 异常用例 | 可执行性+一致性 | 异常场景是否合理 | ★★★★ |
| 安全用例 | 事实核查+可执行性 | 攻击向量是否真实 | ★★★★★ |
| 性能用例 | 可执行性 | 指标是否可测量 | ★★★ |
| 全量用例集 | 全部四维 | 全流程一致性 | ★★★★★ |
常见幻觉类型与处理
| 幻觉类型 | 表现 | 检测方法 | 处理方式 |
|---|---|---|---|
| 虚无功能 | AI编造不存在的功能模块 | 对比需求解构表 | 删除或标记 |
| 过度推断 | 从"登录失败"推"账号被锁"但需求未提 | 检查推理链是否在需求范围内 | 降级为假设场景 |
| 数据编造 | 编造不存在的API返回字段 | 对比接口文档/边界清单 | 修正或删除 |
| 时间幻觉 | 断言"3次锁定"但需求写5次 | 比对原始需求 | 修正为准确值 |
| 跨模块矛盾 | A模块说"跳转B",B模块用例推翻 | 一致性检查矩阵 | 统一修正 |
| 依赖幻觉 | 假设了不存在的前置依赖 | 检查前置条件是否有需求支撑 | 标注[假设] |
输出示例
用户说"帮我验证AI生成的登录测试用例" → 事实核查:验证所有需求ID、场景、预期结果是否基于真实需求文档 → 一致性检查:同一功能的不同用例之间描述是否一致 → 可执行性验证:每个用例的步骤是否清晰可执行 → 来源追溯:标注每个用例的信息来源(需求文档/分析结果/AI推断)
AI生成了一个不存在的功能模块的测试用例 → 事实核查命中:该模块ID在需求文档中不存在,标记为幻觉
检查清单
输出验证完成后检查:
- 事实核查是否完成?
- 一致性检查是否通过?
- 可执行性验证是否完成?
- 来源追溯是否标注?
- 问题清单是否列出?
- 验证报告是否完整?
输出验证 vs 输出评审
| 维度 | 输出验证(本技能) | 输出评审(qa-ai-output-critique) |
|---|---|---|
| 目标 | 防幻觉、保质量 | 找不足、促迭代 |
| 视角 | 事实核查:是否"真实" | 质量评估:是否"够好" |
| 输出 | 验证报告(pass/fail) | 评审报告(六维评分+改进建议) |
| 触发时机 | 最终输出前 | 生成后、迭代中 |
| 核心问题 | "这个用例能执行吗?" | "这个用例够全面吗?" |
| 处理幻觉 | 标记+删除 | 反馈+补充 |
评论与讨论
0/2000
还没有评论,分享你的体验吧。