状态稳定
类型原子 Skill
领域软件测试
生命周期测试设计
适合角色QA
语言中文 / 英文
评测有评测 ✓
同步日期2026-09-15
解决什么问题
它把当前 Skill 的方法整理成可以直接执行、评审和复用的质量输入。
- 至少考虑值/长度、空值/类型、时间/时区、状态转换、容量/资源、并发/顺序、平台/本地化和组合边界(适用时)。
- 不发明阈值、状态、并发数、错误结果或产品规则;未知处标为 unassessed 或待确认。
- EC-## 是候选发现,不是已执行、已通过、完整覆盖或零风险证明。
- 只写“测边界”,不指出具体维度、触发条件和可观察关注点。
适用场景
推荐使用
- 需要系统枚举值域、长度、空值/类型、时间、状态、容量、并发、平台和组合边界。
- 需要从已有缺陷、失败记录或设计约束中发现正常路径以外的高风险边界。
- 需要把边界候选排序并转成可验证的后续测试意图。
常见误区
- 只写“测边界”,不指出具体维度、触发条件和可观察关注点。
- 把常见经验值当成当前产品阈值。
- 为每个字段机械生成大量重复候选,忽略风险和证据。
- 把边界候选数量当作覆盖质量证明。
输入
最低输入
- 当前任务范围、目标和待处理对象。
推荐输入
- 项目目标
- 测试范围
- 约束条件
可选上下文
- 相关代码或配置
- 历史结果
- 日志与指标
输出
输出会围绕该 Skill 的方法形成可执行结果,并明确事实、假设、风险和下一步。
不安装也能判断输出价值
- 01已记录已知事实、信息缺口、冲突、过期信息、范围外和假设。
- 02每条 EC-## 有维度、边界/组合、触发条件、来源、证据状态、影响和验证建议。
- 03已区分已知阈值、推断候选和未知待确认项。
- 04已说明未覆盖维度的原因和剩余风险。
查看完整输出结构
- 05未把发现清单写成完整用例、执行结果、通过或发布结论。
工作原理
- 01阅读并遵循 prompts/edge-case-discovery.md,先完成六类输入审计。
- 02识别输入域、状态/时间/资源约束和交互维度;只使用材料中有依据的边界。
- 03用 EC-## 记录维度、边界/组合、触发条件、预期关注点、影响、证据和验证建议。
- 04对未知阈值、缺失状态或冲突规则保留假设和待确认问题,不用常识补齐。
- 05输出候选发现而非完整用例;需要执行时由后续测试设计和执行流程决定。
安装与快速开始
安装命令 / SHELL
npx skills add \
https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/edge-case-discovery
-gedge-case-discovery.prompt
@skill edge-case-discovery
结合当前项目上下文,按该 Skill 的要求给出可执行结果。
补充上下文:
[粘贴项目背景或需求]---
name: edge-case-discovery
description: Use this skill when you need to discover boundary, rare, limit, ordering, or combination scenarios from product and test evidence; triggers include 边界场景发现 and edge case discovery.
---
# 边界场景发现
从需求、数据域、状态模型、时间规则、资源限制、平台差异和已有证据中发现需要重点验证的边界候选,输出 `EC-##`。它不做完整需求质量评审、不写完整测试用例、不发明未知阈值,也不执行测试。
## 何时使用
- 需要系统枚举值域、长度、空值/类型、时间、状态、容量、并发、平台和组合边界。
- 需要从已有缺陷、失败记录或设计约束中发现正常路径以外的高风险边界。
- 需要把边界候选排序并转成可验证的后续测试意图。
不适用于只分析需求缺口、编写完整测试用例、评审现有用例或执行边界测试。
## 输出格式选项
- 默认输出 Markdown;用户要求表格、CSV 或 JSON 时,保留相同的证据、状态、影响、责任角色和验证字段。
- 不把结构化格式或静态清单写成执行、通过、批准或发布证据。
## 如何使用
1. 先读取本 Skill 的主 Prompt,并提供目标、范围、材料、环境和已有证据。
2. 按 Prompt 的输入审计和输出合同执行;缺少信息时交付带边界的初版。
3. 对每条发现保留来源、证据状态、影响、责任角色、关闭条件和验证方法。
## 工作方式
1. 阅读并遵循 `prompts/edge-case-discovery.md`,先完成六类输入审计。
2. 识别输入域、状态/时间/资源约束和交互维度;只使用材料中有依据的边界。
3. 用 `EC-##` 记录维度、边界/组合、触发条件、预期关注点、影响、证据和验证建议。
4. 对未知阈值、缺失状态或冲突规则保留假设和待确认问题,不用常识补齐。
5. 输出候选发现而非完整用例;需要执行时由后续测试设计和执行流程决定。
## 核心约束
- 至少考虑值/长度、空值/类型、时间/时区、状态转换、容量/资源、并发/顺序、平台/本地化和组合边界(适用时)。
- 不发明阈值、状态、并发数、错误结果或产品规则;未知处标为 `unassessed` 或待确认。
- `EC-##` 是候选发现,不是已执行、已通过、完整覆盖或零风险证明。
- 不把边界候选扩写成完整测试用例,不执行测试或修改目标系统。
## 参考文件
- 每次产出前必须阅读 `prompts/edge-case-discovery.md`。
- 回归时读取 `evals/eval.yaml` 和匹配用例;配置不证明边界已被验证。
- 触发验证使用 `evals/trigger-prompts.csv` 和 `evals/local-rules.json`;缺少 selection trace 时报告 `BLOCKED`。
## 最佳实践
- 优先处理高影响且可验证的缺口,使用最小实验或补证动作降低不确定性。
- 将事实、证据支持的推断、建议和 Human 决策分开,避免把假设升级为结论。
## 交付前自检
- [ ] 已记录已知事实、信息缺口、冲突、过期信息、范围外和假设。
- [ ] 每条 `EC-##` 有维度、边界/组合、触发条件、来源、证据状态、影响和验证建议。
- [ ] 已区分已知阈值、推断候选和未知待确认项。
- [ ] 已说明未覆盖维度的原因和剩余风险。
- [ ] 未把发现清单写成完整用例、执行结果、通过或发布结论。
## 常见误区
- 只写“测边界”,不指出具体维度、触发条件和可观察关注点。
- 把常见经验值当成当前产品阈值。
- 为每个字段机械生成大量重复候选,忽略风险和证据。
- 把边界候选数量当作覆盖质量证明。