Token导航 LogoToken导航TokenDH.com
研究检索权限需确认github未标认证来源可访问clear审计未展示

mutation-testing突变测试

Agent Skill

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

总安装

445

周安装

18

GitHub Stars

公开资料未说明

下载量

140
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add knowlet/skills --skill "mutation-testing"

简介

发现并安装 AI 代理的技能。mutation-testing 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适用于测试自动化、用例生成与回归验证任务。
  • 可辅助编写单元测试、端到端测试及日志分析。
  • 使用时应区分测试环境与生产环境,避免误改逻辑。
  • 建议确认项目测试框架与运行命令后再执行相关操作。

SKILL.md

name
mutation-testing
description
在單元測試通過後觸發。透過引入人工錯誤(Mutants)來「測試你的測試」,確保測試案例具有足夠的錯誤偵測能力,建立對驗證機制的信任(Trust the Verification)。

Mutation Testing Skill

觸發時機

  • 單元測試覆蓋率達標(如 > 80%)但仍需確認測試品質時
  • 核心演算法或高風險模組開發完成後
  • CI/CD 流程中的品質閘門(Quality Gate)階段
  • 使用者要求「驗證測試有效性」時

核心任務

執行變異測試(Mutation Testing),量化測試套件的品質,找出「倖存的變異體(Surviving Mutants)」,並據此強化測試案例。


為什麼需要變異測試?

單元測試覆蓋率(Line Check)只能告訴你「程式碼被執行到了」,但無法告訴你「測試是否驗證了正確的行為」。

"Coverage only checks if the code is executed, Mutation Testing checks if the code is verified."

運作原理

  1. 變異 (Mutate):工具自動修改原始碼的一小部分(例如將 a + b 改為 a - b,或將 return true 改為 return false),產生一個「變異體 (Mutant)」。
  2. 測試 (Test):針對這個變異體執行現有的測試套件。
  3. 判定 (Verdict)

* Killed (殺死):如果測試失敗(紅燈),表示測試成功偵測到了這個變異,這是好事。 * Survived (倖存):如果測試仍然通過(綠燈),表示測試無法偵測這個錯誤,這是壞事


工具選擇

Java (主要支援)

使用 PITest (PIT),這是目前 Java 生態系最成熟的變異測試工具。

<!-- pom.xml configuration example -->
<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>1.15.0</version>
    <dependencies>
        <dependency>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-junit5-plugin</artifactId>
            <version>1.2.1</version>
        </dependency>
    </dependencies>
    <configuration>
        <targetClasses>
            <param>com.yourdomain.core.*</param>
        </targetClasses>
        <targetTests>
            <param>com.yourdomain.core.*Test</param>
        </targetTests>
        <mutators>
            <mutator>STRONGER</mutator> <!-- 使用更強的變異算子 -->
        </mutators>
    </configuration>
</plugin>

其他語言建議

  • JavaScript/TypeScript: Stryker Mutator
  • Python: Mutmut / Cosmic Ray
  • Go: Gremlins

變異算子 (Mutators)

常見的變異類型包括:

  1. Conditionals Boundaryi < 10i <= 10
  2. Matha + ba - b
  3. Incrementsi++i--
  4. Invert Negatives-ii
  5. Return Valuesreturn truereturn false / return objectreturn null
  6. Void Method Calls:移除對無回傳值方法的呼叫

分析流程

1. 執行單元測試 (必須全數通過)
       ↓
2. 執行變異測試 (mvn pitest:mutationCoverage)
       ↓
3. 產生報告 (target/pit-reports/index.html)
       ↓
4. 分析倖存變異體 (Analyze Surviving Mutants)
       ↓
5. 強化測試案例 (Add/Refine Test Cases)
       ↓
6. 重複直到 Mutation Score 達標

判定標準

指標建議閾值說明
Line Coverage> 85%基礎要求
Mutation Score> 80%殺死的變異體 / 總變異體
Test Strength> 80%只計算有被覆蓋到的程式碼的變異分數

常見的倖存原因與對策

1. 缺乏斷言 (Missing Assertion)

測試執行了代碼,但沒有檢查結果。

  • 對策:補上 assertEqualsverify

2. 斷言過於寬鬆 (Weak Assertion)

只檢查了部分狀態(例如只檢查 List 不為空,沒檢查內容)。

  • 對策:檢查具體的值和屬性。

3. 等價變異 (Equivalent Mutant)

變異後的代碼在邏輯上與原代碼等價(例如 i < 10 在迴圈中改成 i != 10)。

  • 對策:這是工具限制,標記為 False Positive 或忽略。

交付產物

執行此 Skill 後,應產出:

  1. Mutation Report Analysis:分析主要倖存原因。
  2. Improved Test Suite:新增或修改的測試案例,能殺死之前的倖存者。
  3. Confidence Assessment:對該模組品質的信心評估。
注意:變異測試極其耗時。建議只針對核心 Domain Logic (Entities, Value Objects, Domain Services) 執行,避免對整個專案執行。

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

trae

29.33%
按下载量换算41

Claude Code

22.56%
按下载量换算32

windsurf

17.51%
按下载量换算25

OpenCode

11.84%
按下载量换算17

Codex

7.4%
按下载量换算10

Antigravity

3.22%
按下载量换算5

安全审计

暂无安全审计结果可展示。

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills