工程開發
flaky-detect avatar

flaky-detect

透過分析持續整合 (CI) 歷史、執行模式與程式碼結構,識別、分類並排除不穩定的測試 (flaky tests),以提升測試套件的可靠性。

簡介

Flaky Detect 技能專為工程團隊設計,旨在隔離那些導致生產力低落的非確定性測試故障(即不穩定測試)。透過整合持續整合 (CI) 歷史數據與靜態程式碼分析,此工具能協助開發者超越簡單的偵錯,針對間歇性測試失敗實施根本原因解決方案。適用於 CI/CD 工程師、QA 主管及處理大規模測試套件不穩定問題的軟體開發者。

  • 分析 GitHub Actions 與自定義 CI 日誌,以檢測各測試執行期間的統計性通過/失敗異常。

  • 根據行業分類標準歸納不穩定行為,包括非同步/時間同步問題、測試順序依賴、環境差異、資源限制與非確定性邏輯。

  • 執行測試檔案的靜態分析,識別如顯式超時、未等待的 Promise、不受控的隨機性以及對外部環境的依賴等常見缺陷模式。

  • 提供具體的程式碼改善建議,例如使用模擬時間函數(如 vi.setSystemTime)或確保測試隔離性。

  • 支援多輪重複執行分析,以高信度識別間歇性故障。

  • 當使用者回報 CI 管線預測失敗或特定測試無故時而通過、時而失敗時,建議啟用此技能。

  • 輸入要求包括對歷史 CI 日誌或測試執行結果的存取權限。輸出格式為結構化報告,詳列通過率、根本原因分類、程式碼層級的漏洞位置以及修正建議。

  • 實務限制包含需要足夠的歷史數據量(如至少 5 次執行)以計算可靠的通過率。雖然提供自動化檢測,建議仍需人工驗證修正方案,以確保測試意圖不被誤改。

  • 在進行測試可靠性審核、發佈準備或維護遺留測試基礎架構時使用此工具,以確保部署過程的穩定性與可重複性。

倉庫統計

Star 數
127
Fork 數
18
Open Issue 數
1
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月30日 上午08:00
在 GitHub 查看