mutation-testing
透過變異測試驗證測試套件的有效性,藉由注入程式碼變異來測量殺滅率,並找出軟弱的測試斷言。
簡介
變異測試是一種先進的品質工程技術,透過程式化地修改原始程式碼並引入「變異體」,來評估測試套件的穩健性,進而驗證現有的測試是否能如預期般失敗。若測試套件在程式碼被蓄意修改後仍能通過,則視為測試薄弱或無效。此技能讓開發人員與測試工程師能超越單純的程式碼涵蓋率,進而衡量真實的錯誤偵測能力。透過自動化處理變異注入、測試執行與結果分析,確保應用程式邏輯受到有效斷言的保護,而非空洞的覆蓋數據。
-
自動注入常見的變異算子,例如算術變更、關係運算子交換、邏輯運算子反轉及語句移除。
-
提供即時的變異分數回饋,讓團隊能在 CI/CD 管線中設定品質閘(例如 >80%)。
-
整合 Stryker 變異框架(針對 JS/TS 專案),支援 Jest 及其他現代化測試執行器。
-
產生可付諸行動的診斷報告,準確指出存活的變異點,提供對目前未經妥善測試的程式碼或業務邏輯的洞察。
-
透過建議邊界值分析與額外的測試案例來協助殺滅存活變異體,進而強化測試。
-
適用於評估測試套件成熟度、準備關鍵發佈,或在測試信心不足時進行重構。
-
需具備既有的測試套件(如 Jest, Vitest, Pytest)及穩定的開發環境。
-
建議搭配其他 AQE Fleet 技能(如 coverage-specialist 進行空隙檢測,qe-test-generator 自動生成缺失斷言)共同使用。
-
效能提示:變異測試運算資源需求較高,建議優先執行於關鍵程式碼路徑(如支付、身份驗證、資料一致性),而非同步執行整個專案。
-
自動記錄分數歷史於 .claude/skills/mutation-testing/run-history.json 以追蹤品質改善進度。
-
可與 qe-queen-coordinator 協調,作為自動化管線中「左移」測試策略的一部分。
倉庫統計
- Star 數
- 329
- Fork 數
- 65
- Open Issue 數
- 4
- 主要語言
- TypeScript
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年4月29日 上午01:24