工程開發
mutation-testing avatar

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
在 GitHub 查看