360 Secure SkillHub
360 安全技能中心

qa-boundary-deep-dive

面向软件测试设计:按输入、状态、时间、资源四个维度系统扫描边界条件,为每条边界标注风险等级、测试深度与可验证的预期结果,并输出关联场景ID的七列边界分析表;随附四维详图与表格模板,要求未覆盖维度标注原因。

kokxi
kokxi
热度 58.77
最近更新 2026-09-29 12:27:42
分类:开发依赖:读写文件应用场景:调试排错 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add qa-boundary-deep-dive
Metadata
displayName
测试边界深度分析
name
qa-boundary-deep-dive
description
从输入、状态、时间、资源四个维度系统化识别边界条件。真正的 Bug 往往在"看起来不是边界"的地方——比如用户名字段没测超长 Unicode、订单支付刚好在超时前1秒完成、1000人同时下单。当需要补充边界测试、等价类划分完成后需要补边界值、或者直觉告诉你某些边界可能有问题时,应当使用此技能。每个边界条件都需要标注风险等级并给出明确的预期结果。适用于任何有输入字段、状态变化、时间约束或资源限制的系统。 触发场景:边界分析、边界条件、还有什么边界、边界值、边界扫描、等价类划分完成后需要补充边界值测试时。 Use when the user asks about: boundary value analysis across input, state, time, and resource dimensions — finding edge cases that the obvious boundary list misses.
license
MIT
allowed-tools
Read Grep Glob
metadata
{"slug":"qa-boundary-deep-dive","display-name":"测试边界深度分析","version":"1.8.0","when-to-use":"用户说\"边界分析\"、\"边界条件\"、\"还有什么边界\"、\"边界值\"、\"边界扫描\"、需要深入分析边界、等价类划分完成后需要补充边界值测试时","related-skills":"{\"upstream\":[\"qa-scenario-tree\"],\"downstream\":[\"qa-ai-context-engineering\",\"qa-code-review-for-test\",\"qa-execution-observation\",\"qa-test-case-design\"]}","references":"[\"assets/boundary-table.md\",\"references/four-dimensions.md\"]","input-format":"{\"required\":[{\"name\":\"场景树\",\"type\":\"object\",\"description\":\"来自qa-scenario-tree的输出,包含主路径/分支/异常场景\"}],\"optional\":[{\"name\":\"风险评估\",\"type\":\"object\",\"description\":\"来自qa-risk-intuition的输出,标识高风险区域\"}]}","output-format":"{\"traceability\":[\"每个边界带唯一ID:BD-{模块缩写}_{序号}(如 BD_AMOUNT_001)\",\"关联场景ID:SC-{场景模块缩写}-{序号}(SC- 才是场景前缀)\"],\"structure\":[{\"boundary_analysis_table\":\"边界分析表:固定 7 列(边界ID|边界维度|边界条件|风险等级|测试深度|预期结果|关联场景ID)\"},\"测试深度:深测(高风险)/ 常规(中风险)/ 冒烟(低风险),不要求每条边界都深测\",\"覆盖率:标注口径(基于现有场景树/需求文档),禁止\\\"全覆盖/100%\\\"绝对化表述;未覆盖维度标注\\\"未覆盖+原因\\\"\"],\"input_boundary\":\"输入边界清单\",\"state_boundary\":\"状态边界清单\",\"time_boundary\":\"时间边界清单\",\"resource_boundary\":\"资源边界清单\",\"uncovered_dimensions\":\"未覆盖维度 + 原因\"}","error-recovery-guidance":"{\"on_failure\":\"边界分析遗漏维度时回退到场景树补充\",\"retry_behavior\":\"补全缺失场景后重新分析边界\"}","categories":"[\"Development\",\"Testing\"]","depth-requirement":"{\"reference_value\":\"见正文「边界数量要求」表:以场景数为基准,简单项目=场景数×1.5 / 中等=×2 / 复杂=×2.5(绝对倍数,不是乘数档)\",\"minimum\":\"输入/状态/时间/资源4个维度至少覆盖3个;未覆盖的维度必须在输出中标注原因\"}"}

⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills

⚠️ 安全警告:本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证;测试前应脱敏/掩码处理。 本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。

边界深度分析

核心原则

真正的 Bug 往往在"看起来不是边界"的地方。四个维度都要过一遍—— 漏掉任何一维都是本技能最常见的失效方式。

1. 四维速查(先扫这个)

维度 子项 最容易漏的 典型 Bug 率
输入边界 值域 / 格式 / 组合 / 业务 业务边界(唯一性、外键不存在、数据过期) 高
状态边界 转换 / 值 / 持续 非法转换(业务不允许的操作,如 已完成→已支付) 中
时间边界 超时 / 并发 / 时序 / 周期 周期边界(日切、月切、节假日) 高
资源边界 内存 / 连接 / 线程 / 磁盘 / 网络 连接耗尽(而非内存耗尽) 中

"最容易漏"那一列是重点——值域、内存这些人人都会扫,那一列是要靠业务理解才能想到的。

2. 边界数量要求

关键指标:以场景数为基准,按项目复杂度放大。

复杂度 倍数 示例(场景 25 个) 复杂度判断标准
简单项目 ×1.5 边界 38 个 单模块、低风险、无并发
中等项目 ×2 边界 50 个 多模块、中风险、少量并发
复杂项目 ×2.5 边界 63 个 跨模块、高风险、高并发

3. 加载时机

需要时才读,不要一上来全读:

什么时候读 读哪个
展开某一维的完整子项清单,需要示例 references/four-dimensions.md(四维详图 + 示例 + 5 类常见漏测)
写边界分析表 assets/boundary-table.md(7 列模板 + 填写要求 + 自检)

4. 产出

边界分析表(7 列):

边界 ID 边界维度 边界条件 风险等级 测试深度 预期结果 关联场景 ID
BD_AMOUNT_001 输入边界 金额=0 高 深测 提示金额不能为0,拒绝下单 SC-ORDER-001
BD_TIMEOUT_001 时间边界 支付超时=30分钟 高 深测 自动取消订单,库存回滚 SC-ORDER-005
BD_STATE_001 状态边界 已完成 → 已支付 高 深测 拒绝并返回明确错误码,不产生二次扣款 SC-ORDER-007
BD_RES_001 资源边界 1000用户同时下单最后1件库存 高 深测 仅1单成功,无超卖 SC-ORDER-009

上面 4 行只展示每列写法,完整模板与常见错误见 assets/boundary-table.md。

测试深度分三档(深测 / 常规 / 冒烟),按风险定 —— 不是每条边界都深测。 边界若不属于任何已有场景,需回到 qa-scenario-tree 新建场景,不能挂空。

5. 交付前自检

  • 四个维度都扫过;未覆盖的维度已写"未覆盖 + 原因"
  • 每个边界 ID 唯一且符合 BD-{模块缩写}_{序号}
  • 风险等级与测试深度不同质(不是全高/全深测)
  • 每条边界有可验证的预期结果(不是"正确处理")
  • 每条边界关联到场景 ID,无断链
  • 已对照 references/four-dimensions.md 末尾的「常见边界漏测」5 类逐条自查
  • 恢复边界已验:每种边界超限后立刻执行一次正常操作,确认系统能自愈
  • 覆盖率已标注口径,无"全覆盖/100%"绝对化表述