Skip to content
Back to skills

Mutation Testing

ASecurity

测试有效性审计能力。当需要通过突变测试验证测试是否真正覆盖业务逻辑、定位存活突变体、发现测试漏网点或评估测试质量时使用。支持 Java、Python、Go、JavaScript、TypeScript。该能力只生成审计报告,不修改代码或测试。

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
developmentjavascripttypescriptpythongojavatestinggit

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add Lixiuxiu559/AgentForge --skill mutation-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mutation Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mutation Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lixiuxiu559-mutation-testing/badge)](https://www.skillsdirectory.com/skills/lixiuxiu559-mutation-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mutation-testing
description: 测试有效性审计能力。当需要通过突变测试验证测试是否真正覆盖业务逻辑、定位存活突变体、发现测试漏网点或评估测试质量时使用。支持 Java、Python、Go、JavaScript、TypeScript。该能力只生成审计报告,不修改代码或测试。
user-invocable: true
---

# 测试有效性审计

## 目标

通过突变测试回答:

> 如果把生产代码中的一小段逻辑改错,现有测试能不能失败?

重点发现:

- **存活突变体**:代码被改动后测试仍然通过
- **无覆盖代码**:突变工具无法执行到相关逻辑
- **测试断言不足**:测试执行了代码,但没有验证关键结果

## 委派

需要独立上下文时,用宿主通用子 agent 工具实际派发。传入目标项目的绝对路径、范围/基线、约束、所需技能资源的绝对路径和交付要求(资源不可读时附必要方法);子 agent 只做分配的任务,回报证据、完成状态与未验证项。仅在任务及文件/工具产物互不冲突时并行;无派发能力时自行执行并说明。

## 支持范围

本技能至少支持以下语言。支持的含义是:能够识别项目、选择对应的既有工具配置、限定目标范围、执行工具并统一解读报告;**不负责自动安装突变测试工具**。

| 语言 | 首选工具 | 适配文档 |
|---|---|---|
| Java | PIT | `references/java-pitest.md` |
| Python | mutmut | `references/python-mutmut.md` |
| Go | go-mutesting | `references/go-mutesting.md` |
| JavaScript | Stryker | `references/javascript-stryker.md` |
| TypeScript | Stryker | `references/typescript-stryker.md` |

如果项目已经配置了其他工具(如 cosmic-ray、gremlins),优先遵循项目现有配置,并在报告中说明实际使用的工具。

## 执行

1. 目标按用户指定 > 指定 git 基线 > 最近改动确定;没有目标时询问,不默认全量运行。
2. 识别项目已有的突变工具与配置,按语言读取上表对应 reference。只选择目标源码,排除测试和生成代码;工具无法精确过滤时说明实际范围与成本。
3. 确认工具的隔离和恢复机制后执行现有配置。不要擅自安装工具或创建新配置;结束后核对并清理本次工具产生的临时源码变更和报告,保留用户已有改动。
4. 重点分析 `survived`(测试未发现错误)与 `no-coverage`(目标逻辑未执行)。构建、测试或工具失败应标为结果不完整,不能当作通过。

## 输出报告

重点报告:

- 目标范围和实际运行范围
- 识别到的语言、构建系统和突变工具
- 实际执行的命令
- 存活突变体:位置、突变类型、原始逻辑、为什么测试没有失败
- 无覆盖代码:模块、方法、建议补充的测试场景
- 工具输出是否完整
- 未解决的环境问题

## 边界

只报告测试漏洞和建议断言,不提交业务或测试代码修复;不为杀死突变体添加无意义断言。

Files in this skill

  • SKILL.md4.2 KB
  • references/go-mutesting.md925 B
  • references/java-pitest.md971 B
  • references/javascript-stryker.md908 B
  • references/python-mutmut.md787 B
  • references/typescript-stryker.md1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.