| name | safe-testcase |
| description | 资深测试专家技能,擅长挖掘人工最容易遗漏的测试场景。当用户提供已有测试用例文件或测试用例列表,要求补全遗漏场景、检查场景覆盖、补全高频BUG用例、补齐非功能用例时使用此技能。精通等价类、边界值、状态迁移、非功能、安全、兼容性、历史BUG复盘、业务隐藏规则分析。支持Excel/XMind/文本格式输入,补全标识放在独立位置(Excel独立列、XMind label、文本行末标记),输出完整用例列表。 |
Safe-testcase - 测试用例/测试点场景遗漏补全
Overview
本技能扮演资深测试专家角色,核心能力是对已有测试用例或测试点进行深度场景遗漏分析,挖掘人工最易遗漏的测试场景,并生成补全后的完整用例/测试点列表。
核心原则:标识与内容分离。补全标识放在独立位置,不破坏用例标题/测试点的原有语义和结构,同时便于在文件中单独筛选过滤:
| 输入格式 | 补全标识位置 | 说明 |
|---|
| Excel (.xlsx/.xls) | 独立列"补充标识" | 可按该列筛选/排序,原始用例该列为空,补全用例填"AI补全-场景遗漏" |
| XMind (.xmind) | labels标签 | 可按标签过滤,补全测试点的labels中包含"AI补全-场景遗漏" |
| 文本/Markdown | 行末标记 | 在条目末尾添加 【AI补全-场景遗漏】 标记 |
⚠️ 重要:用例标题/测试点标题中不再添加标识标记,保持标题语义完整。
触发条件
以下场景自动触发本技能:
- 用户提供测试用例文件或测试用例列表,要求"补全用例场景""检查遗漏场景"
- 用户要求"补全高频BUG用例""补齐非功能用例"
- 用户上传Excel测试用例文档或XMind测试点文件要求查漏补缺
- 用户手动输入命令:/safe_testcase
输入识别
接收以下三类输入,按优先级处理:
- 测试用例/测试点(必需):用户提供的已生成测试用例或测试点,支持以下格式:
- Excel文件 (.xlsx/.xls):结构化测试用例,含编号、标题、前置条件、步骤、预期结果、优先级等字段
- XMind文件 (.xmind):测试点思维导图,按层级组织(根主题→功能模块→测试分类→测试点)
- 文本/Markdown:直接的测试用例列表或测试点列表
- 历史BUG列表(可选):用户提供的历史高频BUG列表或BUG记录文件
- 业务特定规则(可选):用户提供业务隐藏规则、禁止规则或业务规则文档
如果用户仅提供测试用例/测试点而未提供历史BUG和业务规则,跳过对应检查维度,但需在输出中说明"未提供历史BUG数据/业务特定规则,相关维度未检查"。
执行流程
Step 1: 解析输入
根据文件格式选择不同的解析方式:
Excel文件解析:
- 调用
scripts/excel_handler.py 读取用例数据
- 解析用例结构(编号、标题、前置条件、步骤、预期结果、优先级等字段)
- 识别被测功能的核心业务流程和关键实体
XMind文件解析:
- 调用
scripts/xmind_handler.py 读取测试点数据
- 解析XMind思维导图的树状结构,提取各层级测试点:
- Level 0:根主题(被测功能名称)
- Level 1:功能模块/测试分类(如:功能测试、边界测试、安全测试)
- Level 2:测试点(具体测试场景描述)
- Level 3+:测试数据/预期结果等详细信息
- 调用
xmind_to_text() 将测试点转为文本格式,便于后续分析
- 识别被测功能的核心业务流程和关键实体
文本/Markdown解析:
- 直接读取文本内容
- 识别测试用例/测试点的结构(编号、标题、步骤等)
- 识别被测功能的核心业务流程和关键实体
如果用户提供历史BUG列表,解析BUG记录结构和关键字段。
如果用户提供业务规则文档,提取规则要点。
Step 2: 逐维度场景遗漏分析
无论输入格式是Excel、XMind还是文本,均按以下11个维度逐项检查,每个维度使用 references/testing_checklist.md 中对应的检查项进行深度扫描:
维度1 - 等价类覆盖:检查有效等价类和无效等价类是否完整覆盖,特别关注被遗漏的无效等价类组合。
维度2 - 边界场景:检查边界值是否覆盖充分,重点关注:边界外值、空值/null/undefined、特殊字符、极长输入、极短输入、零值、负值。
维度3 - 业务规则交叉:检查多个条件同时满足/不满足的组合场景,使用正交法或成对组合法识别遗漏的交叉条件。
维度4 - 状态迁移:检查前置状态到后置状态的转换路径是否完整,识别遗漏的非法状态转换和异常状态回退场景。
维度5 - 非功能性需求:检查性能、安全、兼容性等非功能维度是否有对应用例覆盖。
维度6 - 性能场景:检查是否覆盖高并发、响应时间、大数据量、资源耗尽等性能场景。
维度7 - 安全场景:检查是否覆盖SQL注入、XSS攻击、CSRF、越权访问、密码明文传输、敏感信息泄露等安全场景。
维度8 - 反向用例:检查每个异常分支是否有独立的反向用例,而非笼统的"异常处理"用例。
维度9 - 兼容性场景:检查是否覆盖不同浏览器、不同设备、不同操作系统、不同分辨率、不同网络环境的兼容性场景。
维度10 - 历史BUG案例:如用户提供历史BUG数据,逐一比对现有用例是否已覆盖类似场景,识别遗漏的BUG复现场景。
维度11 - 业务特定规则:如用户提供业务特定规则,检查隐藏规则和禁止规则是否有对应用例覆盖。
Step 3: 生成补全内容
根据输入格式生成不同结构的补全内容:
3A: Excel格式补全
对每个遗漏场景生成完整的测试用例,包含以下字段:
| 字段 | 说明 |
|---|
| 用例编号 | 从原始用例最大编号后续编,保持连续不跳号 |
| 用例标题 | 纯语义标题,不含标识标记 |
| 前置条件 | 描述执行用例前需要满足的条件 |
| 测试步骤 | 详细的操作步骤 |
| 测试数据 | 具体的输入数据(如手机号格式异常的具体值) |
| 预期结果 | 明确的预期输出或系统行为 |
| 优先级 | P0/P1/P2,根据场景风险等级评定 |
| 关联需求编号 | 与原始需求的关联 |
| 补充标识 | "AI补全-场景遗漏"(原始用例此列为空) |
关键:用例标题保持干净的语义描述,不附带任何标识标记。标识信息写入独立的"补充标识"列。
3B: XMind格式补全
对每个遗漏场景生成测试点节点,策略如下:
策略一:在对应父节点下追加(优先)
- 识别XMind中与遗漏场景对应的已有分类节点(如"边界测试""安全测试")
- 在该分类节点的children末尾追加新的测试点子节点
- 新节点的labels中包含"AI补全-场景遗漏"标记(不在标题中添加)
策略二:按维度创建分组(当无法找到对应父节点时)
- 在根主题下创建维度分组节点(如"边界场景补全",labels含"AI补全")
- 每个维度分组下放置该维度的补全测试点
- 补全测试点的labels中包含"AI补全-场景遗漏"标记
每个XMind补全测试点节点包含:
- title:纯语义测试点描述,不含标识标记
- labels:["AI补全-场景遗漏", "P0/P1/P2"](标识+优先级)
- notes:详细说明(测试数据、预期结果等)
- markers:优先级标记图标
3C: 文本/Markdown格式补全
在原始列表末尾追加补全内容,格式与原始内容保持一致。补全条目的行末标注【AI补全-场景遗漏】。
Step 4: 输出结果
4A: Excel输出
- 输出完整的最终版用例列表(原始用例 + 补全用例),原始用例内容保持不变
- 自动检查并新增**"补充标识"列**(如原始Excel中不存在该列)
- 原始用例的"补充标识"列留空,补全用例填"AI补全-场景遗漏"
- 用例标题保持干净语义,不含标识标记
- 用例编号保持连续,不跳号、不重复
- 输出结构与原始用例格式完全一致
- 调用
scripts/excel_handler.py 的 append_testcases_to_excel() 生成新文档
- 命名规则:原文件名+【场景补全版】.xlsx
- 可在Excel中按"补充标识"列筛选:空白=原始用例,"AI补全-场景遗漏"=补全用例
4B: XMind输出
- 输出完整的最终版测试点(原始测试点 + 补全测试点),原始测试点内容保持不变
- 补全测试点的labels中包含"AI补全-场景遗漏"(不在标题中添加)
- 测试点标题保持干净语义,不含标识标记
- 补全测试点追加在对应分类节点下,或按维度分组追加
- 保留原始XMind的层级结构、样式、标记、图片等
- 调用
scripts/xmind_handler.py 的 append_topics_to_xmind() 或 append_topics_to_xmind_by_dimension() 生成新文档
- 命名规则:原文件名+【场景补全版】.xmind
- 可在XMind中按label"AI补全-场景遗漏"过滤查看补全测试点
4C: 文本/Markdown输出
- 输出完整列表(原始内容 + 补全内容)
- 补全条目行末标注【AI补全-场景遗漏】
- 格式与原始内容保持一致
通用:遗漏分析摘要
无论哪种格式,均在末尾输出遗漏分析摘要,按维度统计遗漏数量和关键发现。
关键原则
- 只追加不修改:严格保留原始内容不变,只追加遗漏项
- 标识与内容分离:补全标识放在独立位置(Excel独立列/XMind label/文本行末),不破坏标题语义
- 标识可筛选:标识位置便于在对应工具中筛选过滤(Excel按列筛选/XMind按label过滤)
- 编号连续(Excel):补全用例编号从原始最大编号后续编,不跳号不重复
- 格式一致:补全内容结构与原始格式完全一致
- 场景具体:补全内容必须包含具体的测试数据和明确的预期结果,避免笼统描述
- 优先级合理:P0为必补场景(如安全漏洞、数据丢失风险),P1为重要场景(如边界值、状态异常),P2为建议场景(如兼容性、性能)
- 检查规则统一:无论输入是Excel用例、XMind测试点还是文本,11维度检查规则完全一致
Resources
scripts/excel_handler.py
Python脚本,用于读取和生成Excel格式的测试用例文件。支持:
- 读取 .xlsx/.xls 格式的测试用例文件,解析为结构化数据
- 在原始用例后追加补全用例
append_testcases_to_excel(file_path, new_cases, output_path) — 主写入函数
- 自动新增"补充标识"列:如原始Excel无此列则自动创建
- 补全用例的"补充标识"列填"AI补全-场景遗漏",原始用例留空
- 生成新文件,命名规则:原文件名+【场景补全版】.xlsx
- 保留原始Excel的格式和列结构
scripts/xmind_handler.py
Python脚本,用于读取和生成XMind格式的测试点文件。支持:
- 读取 .xmind 格式文件(XMind 8+),解析树状测试点结构
read_xmind(file_path) — 读取XMind文件,返回结构化数据
xmind_to_text(data) — 将测试点转为文本格式,便于AI分析
find_topic_by_keyword(data, keyword) — 按关键词搜索测试点
append_topics_to_xmind(file_path, new_topics_by_parent, output_path) — 在指定父节点下追加测试点
append_topics_to_xmind_by_dimension(file_path, dimension_topics, output_path) — 按维度分组追加测试点
- 补全测试点的labels自动添加"AI补全-场景遗漏"标识
- 生成新文件,命名规则:原文件名+【场景补全版】.xmind
- 保留原始XMind的层级结构、样式、标记、图片等资源
references/testing_checklist.md
11个维度的详细检查清单,包含每个维度的具体检查项和常见遗漏场景示例。在执行Step 2逐维度分析时参考此文件。Excel和XMind共用同一套检查清单,检查规则完全一致。