关于 detect-duplicate-test-cases
用于扫描项目中的手动和自动化测试用例,识别重复或覆盖重叠的测试,并提出整理建议。它会按相似度分级和分组,且只有在用户批准后才执行合并、删除或保留操作。
主要功能
- 01扫描手动与自动化测试
- 02比较标题、步骤与断言
- 03按四级检测结果分类
- 04生成重复项报告与建议
- 05获批后合并、删除或保留测试
- 06保留测试结构与追溯信息
适用场景
- 01整理大型测试仓库中的重复用例
- 02查找语义相近或覆盖重叠的测试
- 03在批准后合并冗余测试并保留追溯信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ testomatio/ skills --skill detect-duplicate-test-cases安装后在 Claude Code 中输入/detect-duplicate-test-cases确认已加载。
附带文件references/DUPLICATE_INSTRUCTIONS.md
详细介绍
检测重复测试用例
检测用户项目中的重复测试用例,并推荐清理操作。
工作流
1. 收集测试用例
- 查找仓库中所有手动和自动化测试用例。
- 手动:
/tests/中的 Markdown 文件、.feature文件(Gherkin)。 - 自动化:
*.spec.ts、*.test.js、*.cy.js等。
- 手动:
- 解析每个测试,提取:标题、步骤、预期结果、标签和套件位置。
2. 分析重复项
在比较前规范化测试内容:
- 将标题转换为小写。
- 去除标点和格式差异。
- 尽可能统一步骤表述。
- 分析测试意图时忽略框架语法(
describe、Scenario、it等)。 - 将参数化值(电子邮件、ID、用户名)视为可变数据。
使用多种相似度信号比较测试:
- 标题相似度。
- 步骤相似度。
- 预期结果相似度。
- 前置条件或设置。
- 共享标签或元数据。
- 测试位置或套件上下文。
根据 ./references/DUPLICATE_INSTRUCTIONS.md 中的评分规则为每对测试评分。
将每对测试归入一个检测级别(定义见同一参考文件):
- Level 1:完全重复。
- Level 2:语义重复。
- Level 3:重叠/子集测试。
- Level 4:冗余变体。
将代表相同测试意图的多个测试归为重复组。 每组包含:
- 所有关联测试。
- 相似度分数。
- 检测级别。
- 建议的规范测试。
3. 生成报告
遵循 ./references/DUPLICATE_INSTRUCTIONS.md 中的报告模板。报告包含:
- 摘要统计(扫描总数、按类别统计的重复项)。
- 每个重复组及其测试详情和位置。
- 相似度百分比。
- 每组的建议(
keep/merge/remove)。 - 建议操作。
4. 执行操作
仅在用户批准建议后应用操作。
- Merge:将重复或高度相似的测试合并为一个规范测试。
- 保留框架使用的原始测试结构(例如,Gherkin、Markdown、Jest、Cypress)。
- 保留规范测试中的主测试 ID。
- 合并所有源测试的标签、标记和元数据(尽可能去重)。
- 保留重要断言、步骤和预期结果。
- 添加对已合并的原始测试文件或 ID 的引用。
- Remove:删除重复或冗余的测试文件或测试条目。
- 确保规范测试或替代测试已存在。
- 在规范测试中添加注释,注明已删除的测试。
- 不要删除包含独有步骤、标签或覆盖范围的测试。
- Keep:保留两个测试,但记录它们之间的关联。
- 在相关测试之间添加交叉引用注释。
- 说明保留两个测试的原因(例如,环境、数据集或覆盖范围不同)。
保留规则
合并或重写测试时,请保留:
- 测试 ID:保留规范 ID,并引用所有已合并的 ID。
- 标签/标记:保留并合并所有相关标签。
- 框架结构:保持原始格式(例如,
Scenario、describe/it、Markdown 章节)。 - 文件组织:遵循现有的测试目录约定。
- 可追溯性元数据:保留指向需求、问题或工单的链接(如果存在)。
重写测试时,切勿破坏框架语法或删除可追溯性元数据。
评论
支持 Markdown