Token导航 LogoToken导航

Agent Skill · 开发

testing-guide(测试指南)

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

testing-guide 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证为 MIT,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 14,313。

总安装 720周安装 30GitHub Stars 公开资料未说明下载 240核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:testing-guide(测试指南)
来源仓库:https://github.com/ab300819/skills
仓库路径:skills/testing-guide
安装命令:
npx skills add https://github.com/ab300819/skills --skill testing-guide
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/ab300819/skills --skill testing-guide

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

testing-guide 提供编写高质量测试的约束规范,强调以验证行为而非覆盖代码为测试目标。适用于单元测试、断言质量提升、分支覆盖分析及变异测试指导,支持需求驱动的测试设计。禁止弱断言作为唯一断言,每个测试须有具体断言且只验证一个行为,依据来自需求文档而非代码。

使用前需确认项目测试框架与运行命令,避免误改逻辑;外部依赖可 Mock,内部实现不可 Mock。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/testing-guide

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/ab300819/skills --skill testing-guide;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

testing-guide 怎么安装?

在终端执行 npx skills add https://github.com/ab300819/skills --skill testing-guide。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

testing-guide 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

testing-guide 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

testing-guide 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

testing-guide 用的人多吗?

公开数据是累计安装 720 次,近一周安装 30 次,下载 240 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

testing-guide 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
testing-guide

测试指南 · 本页

720—只读MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Testing Guide

编写高质量测试的约束规范,确保测试真正验证行为而非仅仅覆盖代码。

Language

  • Accept questions in both Chinese and English
  • Always respond in Chinese

Trigger Conditions

  • 用户正在编写测试代码
  • 用户需要测试策略指导
  • 用户提到测试覆盖率、断言、变异测试
  • 用户要求分析代码分支覆盖情况
  • Code Review 中涉及测试代码
  • 关键词:"分支分析"、"branch analysis"、"未测试路径"、"覆盖盲区"

核心理念

测试的目的不是"覆盖代码",而是"验证行为"。
测试依据来自需求,不是来自代码。
⚠️ TDD 红阶段原则:断言必须来自 03-test-*.md 中对应 AC 的测试用例,禁止从实现代码反推测试。BCA(分支覆盖分析)仅用于防御性逻辑补充,不替代需求驱动测试。

测试质量金字塔

Level 3: 测试有效性 ─ 变异得分≥80%, 需求追溯100%
Level 2: 断言质量   ─ 禁止弱断言, 验证行为非实现
Level 1: 代码覆盖   ─ 行/分支覆盖≥80% (必要非充分)
详细说明见 templates/core-concepts.md

Constraints

单元测试约束

  • 每个测试必须有 ≥1 个具体断言
  • 禁止弱断言作为唯一断言 (toBeDefined, toBeTruthy, not.toBeNull)
  • 测试名称必须描述预期行为
  • 测试依据来自需求,不是代码
  • 只 Mock 外部依赖,不 Mock 内部实现
  • 每个测试只验证一个行为
详细指南见 templates/unit-testing.md

覆盖率约束

  • 行覆盖率 ≥ 80%
  • 分支覆盖率 ≥ 80%
  • 覆盖率是必要条件,不是充分条件

变异测试约束(推荐)

  • 变异得分 ≥ 60%(建议 ≥ 80%)
  • 核心业务逻辑变异得分 ≥ 80%
配置见 templates/mutation-testing.md

集成测试约束

  • 必须验证模块间数据流
  • 必须验证接口契约
  • 测试数据必须独立
详细指南见 templates/integration-testing.md

E2E 测试约束

  • P0 场景必须 100% 覆盖
  • 使用显式等待,禁止硬编码延时
  • 测试必须可独立运行
详细指南见 templates/e2e-testing.md

需求追溯约束

  • 每个需求必须有对应测试
  • 测试代码应标注需求ID
模板见 templates/traceability-matrix.md

测试骨架生成

AI 驱动的自顶向下开发:先生成测试骨架,后填充实现。

标注规范

测试代码必须包含追溯标注,用于 /devdocs-sync 扫描:

/**
 * @verifies AC-XXX - 验收标准描述
 * @testcase UT/IT/E2E-XXX
 */
test('测试名称', () => {
  // 测试代码
});
标注用途必须性
@verifies AC-XXX关联验收标准必须
@testcase UT/IT/E2E-XXX测试用例编号必须

骨架生成流程

03-test-cases.md (测试用例设计)
        │
        ▼
生成测试骨架
        ├── describe 结构(按功能点分组)
        ├── test.skip() 占位(每个测试用例)
        ├── @verifies/@testcase 标注
        └── // TODO: 实现测试 注释
        │
        ▼
逐个实现测试
        ├── 移除 skip
        ├── 编写 AAA 结构
        └── 添加具体断言

骨架示例

// tests/user.service.test.ts

describe('UserService', () => {
  describe('createUser', () => {
    /**
     * @verifies AC-001 - 邮箱格式校验
     * @testcase UT-001
     */
    test.skip('应该拒绝无效邮箱格式', () => {
      // TODO: 实现测试
      // Arrange: 准备无效邮箱
      // Act: 调用 createUser
      // Assert: 验证抛出 ValidationError
    });

    /**
     * @verifies AC-002 - 密码强度校验
     * @testcase UT-002
     */
    test.skip('应该拒绝弱密码', () => {
      // TODO: 实现测试
    });

    /**
     * @verifies AC-003 - 用户名唯一性
     * @testcase UT-003
     */
    test.skip('应该拒绝重复用户名', () => {
      // TODO: 实现测试
    });
  });
});

骨架生成约束

  • 必须使用 test.skip() 或 test.todo() 标记未实现测试
  • 必须添加 @verifies 和 @testcase 标注
  • 必须按功能点 (F-XXX) 组织 describe 结构
  • 必须在注释中提示 AAA 结构
  • 测试名称必须描述预期行为
  • 一个测试只验证一个 AC

与 DevDocs 协作

阶段Skill输入输出
测试设计/devdocs-test-cases需求文档测试用例矩阵
骨架生成/devdocs-dev-tasks测试用例测试骨架代码
测试实现/testing-guide骨架代码完整测试
追溯同步/devdocs-sync代码标注更新矩阵

代码分支覆盖分析(AI 驱动)

代码实现完成后,AI 分析所有代码分支,找出未被测试覆盖的路径,生成补充测试用例。 这是对需求驱动测试(AC → 测试)的补充,不是替代。

定位

需求驱动测试(AC → 测试)  ← 主路径,覆盖业务规则
         +
代码分支分析(代码 → 测试) ← 补充路径,覆盖防御性逻辑
         =
完整测试覆盖

适用场景

场景说明
代码包含防御性逻辑参数校验、null 检查、类型保护
复杂条件分支switch/case、多条件组合
覆盖率工具显示分支不足行覆盖≥80% 但分支覆盖<80%
变异测试发现存活变异体补充测试以杀死变异体

分析流程

Step 1: 分析代码分支
        ├── 条件语句(if/else, switch, 三元, &&/||)
        ├── 异常处理路径(try/catch, throw)
        ├── 早返回(guard clause)
        └── 循环边界(空集合、单元素、多元素)
                │
                ▼
Step 2: 映射现有测试
        ├── 匹配 @verifies 标注的 AC 覆盖范围
        ├── 分析每个测试实际触发的分支
        └── 标记已覆盖/未覆盖分支
                │
                ▼
Step 3: 生成补充测试
        ├── 为未覆盖分支生成测试用例
        ├── 使用 BCA-XXX 编号
        ├── 添加 @covers-branch 标注
        └── 遵循 AAA 结构和断言质量约束

标注规范

/**
 * @covers-branch createUser:null-email-guard
 * @testcase BCA-001
 */
test('createUser 应该抛出错误当 email 为 null', () => {
  // Arrange
  const dto = { email: null, password: 'Strong1234' };
  // Act & Assert
  expect(() => createUser(dto)).toThrow('Email is required');
});
标注用途必须性
@covers-branch <函数>:<分支描述>标记覆盖的代码分支必须
@testcase BCA-XXX分支补充测试编号必须

分支覆盖分析约束

  • 分支分析在需求驱动测试之后执行(先 AC 测试,后分支补充)
  • 补充测试必须标注 @covers-branch(区分需求驱动和分支补充)
  • 补充测试使用 BCA-XXX 编号(不占用 UT/IT/E2E 编号空间)
  • 补充测试同样遵循断言质量约束(禁止弱断言)
  • 分支分析不改变需求驱动测试的优先级
  • 业务逻辑分支应回溯为 AC 对应的正式测试(UT/IT/E2E),不保留为 BCA 编号
详细分析流程和示例见 templates/branch-coverage-analysis.md

Quick Reference

测试命名

[被测方法] 应该 [预期行为] 当 [条件]

测试结构 (AAA)

Arrange → Act → Assert (具体断言)

禁止的弱断言

// ❌ 禁止
expect(result).toBeDefined();
expect(result).toBeTruthy();
expect(result).not.toBeNull();

// ✅ 要求
expect(result.status).toBe('success');
expect(result.items).toHaveLength(3);

常用命令

# 覆盖率
npm test -- --coverage          # Jest
pytest --cov=src               # pytest
go test -cover ./...           # Go

# 变异测试
npx stryker run                # JS/TS
mutmut run                     # Python
mvn pitest:mutationCoverage    # Java

模板索引

核心指南

模板说明
core-concepts.md测试核心理念与质量金字塔详解
unit-testing.md单元测试完整指南
integration-testing.md集成测试策略与示例
e2e-testing.mdE2E 测试最佳实践

工具配置

模板说明
branch-coverage-analysis.mdAI 驱动的代码分支覆盖分析详解
mutation-testing.md8种语言变异测试配置
ci-integration.mdCI/CD 集成配置
traceability-matrix.md需求追溯矩阵
test-examples.md测试代码示例集

语言最佳实践

语言框架模板
JavaScript/TypeScriptJest, Vitestbest-practices/jest-vitest.md
Pythonpytestbest-practices/pytest.md
JavaJUnit 5best-practices/junit5.md
C# /.NETxUnit, NUnitbest-practices/xunit.md
Gotesting, testifybest-practices/go.md
Rustcargo testbest-practices/rust.md
SwiftXCTestbest-practices/swift.md
C/C++Google Testbest-practices/googletest.md

与其他 Skills 协作

场景Skill
测试用例设计/devdocs-test-cases
代码可测试性/code-quality
重构前测试/refactor
分支覆盖分析/devdocs-dev-workflow — 完成检查阶段可选调用

平台分布

Claude Code

27.25%
按下载量换算65

Antigravity

21.33%
按下载量换算51

OpenCode

18.31%
按下载量换算44

Gemini CLI

12.19%
按下载量换算29

windsurf

8.75%
按下载量换算21

Codex

3.09%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills