mcpField
T
test-and-fix

test-and-fix

github.com/timlai666测试与质量042 次安装1 天前更新
代码仓库

关于 test-and-fix

test-and-fix 是面向开发者和编码 Agent 的软件测试技能,按流程分析变更、制定并执行测试计划,并通过回归测试覆盖修复。

主要功能

  1. 01分析变更及其调用方
  2. 02按行为制定测试计划
  3. 03记录测试执行与结果
  4. 04最小化修复并添加回归测试
  5. 05报告验证缺口

适用场景

  1. 01测试变更后的 API 或库
  2. 02检查命令行参数与文件影响
  3. 03验证 Web UI 交互
  4. 04诊断并覆盖测试失败

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/timlai666/skills --skill test-and-fix

安装后在 Claude Code 中输入/test-and-fix确认已加载。

详细介绍

前言

阅读用户要求的测试范围和命令、项目说明、测试配置及相关源文件。若项目现有的交付记录或任务记录有助于明确预期行为,请使用这些记录。

确定目标:Web UI、API、命令行工具、库或其他产物。可在当前分支(包括基分支)上运行测试。编辑前检查现有更改。

阶段 1 — 分析更改内容

优先使用提供的范围。测试更改时,检查相关的已暂存、未暂存或已提交差异,并追踪其调用方和使用方。根据任务或仓库配置确定比较引用;只有在比较需要更新远程信息时才执行 fetch。

梳理受影响的行为:

  • Web UI:页面、组件、交互和渲染状态。
  • API:端点、身份验证、输入、响应和错误。
  • CLI:参数、输入/输出、退出代码和文件影响。
  • 库:公开函数、调用方、返回值和边界情况。

对于需要运行服务的测试,请从项目配置、文档或现有进程输出中查找启动命令和地址。在任务授权范围内启动所需的本地服务。只有在无法根据现有证据确定必要信息时才询问。


阶段 2 — 制定测试计划

针对每项受影响的行为,确定预期结果、测试方法和优先级。纳入相关的正常、无效输入、空值和失败情况。使用项目现有的测试命令和验证要求,并遵循 software-engineering-guidelines 中的测试策略。

根据请求和相关任务记录交叉检查计划。若计划不符,应澄清预期行为,而不是擅自更改测试范围。


阶段 3 — 执行测试

使用选定的测试执行阶段 2 中的计划。对于 Web UI 更改,在运行中的应用中检查受影响的渲染和交互。根据项目规则运行完整测试套件。

对于每项测试:

  • 通过 — 说明验证了什么
  • 失败 — 说明具体症状和证据
  • 意外情况 — 说明任何计划外情况

阶段 4 — 修复循环

对于每项失败,先查明根本原因。如果无法根据所测试的更改和证据确定根本原因,则调用 investigate。

  1. 添加或更新回归测试,确保不应用修复时测试失败、应用修复后测试通过。遵循 software-engineering-guidelines 中关于时机的规定:重大或高风险更改应先编写测试;小型、局部且低风险的修复可在实现前或实现后立即添加测试。
  2. 进行最小限度的修复,然后重新运行失败用例和相关回归检查。
  3. 按照用户指示和项目惯例提交。如果未指定提交安排,则保留原有默认做法:单独提交修复,然后单独提交回归测试。先编写测试和之后再提交测试是两个独立的决定。仅暂存预期更改,保留无关工作。

每个已修复的缺陷都需要回归覆盖。明确报告验证缺口。


报告

## Test Report [feature/branch] [date]

### Summary
Tests run: N | Passed: N | Failed: N | Fixed: N (with regression tests)

### Changes tested
- [target/behavior] — [result]

### Bugs found & fixed
1. [description] — file:line — regression test: [test name]

### Issues found (not yet fixed)
1. [P0/P1/P2] [description] — blocking: [yes/no]

### Regression tests added
- [test file]: [test names]

### Recommendation
[SHIP / FIX FIRST / INVESTIGATE]

测试框架引导(如果不存在测试)

检查内置语言工具、现有脚本或小型可复现测试能否验证该行为。只有在测试框架能提供必要能力时才使用;根据任务授权,在引入之前说明依赖和设置方面的影响。

可复现检查必须实际执行相关行为,并能在未应用修复时暴露缺陷。如果验证仍受阻,应报告缺少的能力,而不是将未经验证的修复视为已完成。遵循上述提交安排;采用默认安排时,单独提交测试框架设置。

评论

支持 Markdown