AgentSkillsCN

test-harness

AI-Assistant 配置的测试框架。用于验证单个 skill 功能或测试整套配置的端到端效果。支持单技能测试和全流程工作流测试。

中文原作
SKILL.md
--- frontmatter
name: test-harness
description: AI-Assistant 配置的测试框架。用于验证单个 skill 功能或测试整套配置的端到端效果。支持单技能测试和全流程工作流测试。
model: sonnet
user-invocable: true

测试框架 (Test Harness)

用于验证 AI-Assistant 配置的 skill 和 agent 功能是否正常,以及测试整套配置的端到端效果。

注意:这是 AI-Assistant 配置的开发测试工具,用于验证和调试。普通开发场景不需要使用。

功能概述

1. 单技能测试 (Single Skill Test)

针对特定 skill 进行功能验证,确保其按照设计规范工作。

支持测试的 Skill:

  • brainstorming - 需求转化为设计
  • writing-plans - 创建实施计划
  • executing-plans - 执行计划
  • discuss-requirements - 需求讨论
  • docs-sync - 文档同步

2. 全流程测试 (Workflow Test)

给定一个真实需求,验证整套配置从需求到代码的完整流程。

测试流程:

code
需求 → discuss → brainstorming → writing-plans → executing-plans → 验证

使用方式

单技能测试

code
用户: /test-harness
AI: 请选择测试模式:
    1. 单技能测试
    2. 全流程测试

用户: 1
AI: 请选择要测试的 skill:
    1. brainstorming - 需求转化为设计
    2. writing-plans - 创建实施计划
    3. executing-plans - 执行计划
    ...

用户: 2
AI: 选择测试场景:
    1. 简单 CRUD 功能
    2. 复杂工作流
    3. 边界情况处理
    4. 自定义场景

用户: 1
AI: [开始执行测试...]

全流程测试

code
用户: /test-harness
AI: 请选择测试模式:
    1. 单技能测试
    2. 全流程测试

用户: 2
AI: 请提供测试需求(描述一个功能场景):

用户: 需要一个用户管理系统,包含增删改查、分页搜索、权限控制
AI: [启动完整流程...]

测试用例库

brainstorming 测试用例

用例 1:简单 CRUD

输入: "需要一个租户管理功能" 预期检查点:

  • 提取功能模块:租户管理
  • 识别操作类型:列表、新增、编辑、删除
  • 记录到功能范围章节
  • 提出 2-3 种方案

用例 2:复杂工作流

输入: "需要一个审批流程系统,支持多级审批、条件分支、会签" 预期检查点:

  • 理解复杂业务逻辑
  • 识别多个功能模块
  • 考虑状态流转
  • 探索多种实现方案

用例 3:边界情况

输入: "做一个简单的计数器" 预期检查点:

  • 不遗漏简单项目的设计
  • 呈现简洁但完整的设计
  • 考虑异常处理

writing-plans 测试用例

用例 1:标准 CRUD 计划

输入: 租户管理功能设计(包含增删改查) 预期检查点:

  • 任务细化到 2-5 分钟粒度
  • 包含功能完整性检查表
  • 使用 [ ]/[x] 任务标记
  • 识别所有功能点(P0/P1/P2)

用例 2:分阶段计划

输入: 大型需求(需要分多个阶段) 预期检查点:

  • 正确划分阶段
  • 每个阶段独立完整
  • 包含阶段依赖关系

用例 3:边界情况

输入: 单个组件开发 预期检查点:

  • 计划简洁但完整
  • 不过度设计
  • 包含测试步骤

executing-plans 测试用例

用例 1:标准执行

输入: 包含 5 个任务的简单计划 预期检查点:

  • 读取计划时检查进度 [ ]/[x]
  • 按顺序执行任务
  • 完成后更新任务标记
  • 生成执行报告

用例 2:错误处理

输入: 包含潜在错误的计划 预期检查点:

  • 遇到错误时停止或处理
  • 记录错误信息
  • 提供修复建议

docs-sync 测试用例

用例 1:标准网站

输入: Headless UI, https://headlessui.com/vue 预期检查点:

  • 成功分析网站结构
  • 识别组件列表
  • 生成爬虫脚本
  • 生成标准格式文档

用例 2:异常处理

输入: 无效或无法访问的网址 预期检查点:

  • 友好提示错误
  • 不崩溃或卡住

全流程测试场景

场景 1:用户管理系统

需求: "需要一个用户管理系统,包含:

  • 用户列表(分页、搜索)
  • 新增用户(表单验证)
  • 编辑用户
  • 删除用户(确认对话框)
  • 权限控制(管理员/普通用户)"

验证点:

  • 需求讨论阶段理解完整
  • 设计阶段覆盖所有功能点
  • 计划阶段任务细化完整
  • 执行阶段代码可运行
  • 最终代码符合需求

场景 2:数据看板

需求: "需要一个数据看板,展示:

  • 统计卡片(今日订单、收入等)
  • 趋势图表(近 30 天)
  • 实时数据更新(WebSocket)
  • 数据导出功能"

场景 3:简单工具

需求: "做一个 JSON 格式化工具"

验证点:

  • 不过度设计
  • 代码简洁可用
  • 有基本错误处理

测试报告格式

单技能测试报告

markdown
# Skill 测试报告: writing-plans

## 测试信息
- 测试时间: 2024-02-21 10:00:00
- 测试用例: 标准 CRUD 计划
- 测试时长: 3 分钟

## 检查结果

### ✅ 通过项
- [x] 任务细化到 2-5 分钟粒度 (12/12 任务)
- [x] 包含功能完整性检查表
- [x] 使用 [ ]/[x] 任务标记

### ❌ 失败项
- [ ] 识别所有功能点
  - 遗漏: 导入/导出功能 (P2)

### ⚠️ 警告项
- 部分任务描述不够清晰

## 评分: 85/100

## 建议
1. 加强功能完整性检查
2. 优化任务描述模板

全流程测试报告

markdown
# 全流程测试报告

## 测试场景
用户管理系统(CRUD + 权限)

## 各阶段评分

| 阶段 | 评分 | 问题 |
|------|------|------|
| 需求讨论 | 90 | 完整理解需求 |
| 设计 | 85 | 覆盖主要功能,缺少边界情况 |
| 计划 | 80 | 任务细化好,但有遗漏 |
| 执行 | 75 | 代码可用,但缺少测试 |

## 总体评分: 82/100

## 发现的问题
1. 设计阶段未考虑权限控制细节
2. 计划阶段遗漏导入导出
3. 执行阶段未写单元测试

## 改进建议
1. brainstorming 增加边界情况检查
2. writing-plans 优化功能完整性检查

测试流程

单技能测试流程

  1. 选择 Skill

    • 展示可用 skill 列表
    • 用户选择目标 skill
  2. 选择测试用例

    • 展示预设用例
    • 支持自定义场景
  3. 执行测试

    • 模拟用户输入
    • 观察 skill 响应
    • 记录执行过程
  4. 验证结果

    • 对照检查点清单
    • 标记通过/失败
  5. 生成报告

    • 汇总测试结果
    • 给出评分和建议

全流程测试流程

  1. 接收需求

    • 用户提供测试场景
    • 或选择预设场景
  2. 执行完整流程

    • 按顺序调用各阶段 skill
    • 保存各阶段产出
  3. 质量评估

    • 检查各阶段产出完整性
    • 对比需求和最终代码
  4. 生成报告

    • 各阶段评分
    • 总体评价
    • 改进建议

与开发的区别

普通开发流程:

  • 用户有真实需求
  • 产出实际代码
  • 交付给用户使用

测试流程:

  • 目的是验证配置
  • 产出测试报告
  • 不交付,用于改进配置

维护与扩展

添加新测试用例

  1. 在对应 skill 的测试用例库中添加
  2. 定义输入和检查点
  3. 运行验证

调整评分标准

根据实际使用情况,调整各检查点的权重。

启动测试

请告诉我:

  1. 测试模式:单技能 / 全流程
  2. 如果是单技能:选择具体 skill
  3. 如果是全流程:提供需求场景或选择预设