Community程式設計與開發github.com

測試審計

在撰寫、新增、變更或審查測試時使用;在修復需要回歸測試的錯誤時使用;或在審計或精簡現有測試套件時使用。為每個新增或變更的測試設定行為守門機制,拒絕重複或與實作耦合的驗證,移除僅用於測試的生產接縫,並引導以證據為基礎的低價值測試精簡,而不追求刪除數量。

測試審計 是什麼?

此技能為 AI 代理(如 Claude Code、Cursor 或 Codex)提供了兩種操作模式,用於管理專案中的測試套件:創作模式與審計模式。在創作模式下,它會在您新增或變更每項測試時,強制執行嚴格的守門流程。這包括回答四個關鍵問題,以確保測試保護的是可觀察的行為或不變量,並確認現有驗證無法涵蓋該情況。它還會檢查測試是否引入了不必要的生產接縫(例如僅用於測試的匯出或包裝器),並優先將測試定位在正確的邊界層級,避免重複或冗餘的回歸測試。審計模式則專注於將低價值的驗證以連貫的批次進行清理,這些批次按生產擁有者分組,目標是讓每個合約在測試套件中只有一個強健的擁有者。此模式會識別並拒絕常見的「垃圾模式」,例如自我比較、重複合約、僅用於測試的接縫,或是由被測主體產生的預期值。它還定義了哪些測試應保留的標準(例如保護公開 API、協定、安全性或架構的測試),並提供了詳細的審計工作流程,包括檢查候選證據、查看擁有者與呼叫者資訊,以及在刪除任何內容前記錄保留的驗證。此技能專為需要維持高品質、可維護且可靠的測試套件的開發團隊設計,支援所有主要平台,且不會強制追求刪除數量。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/svk1998/test-audit-skill/tree/HEAD/skills/test-audit

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

測試審計 是做什麼的?

此技能有兩種模式:

  • 創作。 下方的創作閘門適用於您新增或變更的每一項測試。
  • 審計。 以連貫的批次移除低價值的驗證,並按生產擁有者分組。切勿追求刪除數量;目標是讓每個合約在測試套件中有一個強健的擁有者,而非單純的數字減少。

若要發起一次清理整個子系統測試面的活動,請先閱讀 CAMPAIGN.md。

創作閘門

在新增測試之前,請回答以下四個問題:

  1. 它保護了哪些可觀察的行為、不變量或獨立合約?
  2. 哪種可信的回歸會導致它失敗?
  3. 為什麼現有的驗證未能涵蓋它?每個合約應該在最強的邊界上有一個主要擁有者。位於另一層的測試需要一個不同的傳輸或生命週期風險來證明其合理性。擴展現有的表格和共享的固定裝置,而不是添加近乎副本的內容,並合併重複的設定。
  4. 它是否需要一個沒有生產程式碼呼叫者的匯出、旗標、包裝器或注入掛鉤?如果是,請將驗證移至真實的邊界。

輔助規則:

  • 使用邊界與成本指南來決定測試的位置及其允許的成本。
  • 回歸測試必須在修復前因預期原因失敗,並在修復後通過。如果您無法顯示修復前的失敗,請在報告中說明。
  • 在擁有邊界上的一個回歸測試即可涵蓋一個錯誤。切勿在錯誤跨越的每一層上重複執行。
  • 保留行為的重構不應破壞測試。

垃圾模式

  • 拒絕自我比較、複製的清單、原始碼搜尋、實作或呼叫形狀的斷言、重複的合約、僅用於測試的接縫、由被測主體產生的預期值,以及提供被斷言行為的模擬。
  • 固定裝置不得偽造應由擁有者產生的收據或排序,也不得聲稱透過程式碼從未寫入的路徑具有持久性。
  • 負控制必須在預期的防護點失敗,且測試的名稱必須與其實際執行的行為相符。
  • 在審計候選項時,請使用完整檢查清單。

保留標準

  • 保留保護獨立合約的測試:公開 API、SDK、協定、設定、遷移、儲存、安全性、平台、預設值、提示字節、產生的跨語言輸出、打包、發布、架構以及可觀察的排序。靜態或緩慢並不能使測試變得可丟棄。
  • 僅當源碼檢查能夠經受僅限標識符的重構且保護獨立的用戶面向合約時,才允許使用。
  • 失敗的基線測試可能是需要修復的產品錯誤,而非需要刪除的測試。

審計與驗證

  • 在進行任何審計編輯之前,請閱讀候選證據與工作流程。檢查完整的擁有者、呼叫者與歷史記錄,並在刪除任何內容前記錄保留的驗證。
  • 將過時的生產接縫與其測試一起刪除。切勿為了刪除數量而最佳化。
  • 測試執行進行時,請勿編輯檢出內容。執行專案中針對擁有者及其同級測試的聚焦測試命令,執行專案的已變更檔案檢查,然後在提交前取得審查。
  • 報告原因、保留的合約、驗證及其成本、生產程式碼與測試程式碼的行數變更,以及後續行動。僅在任務授予您該權限時,才進行提交、推送或合併。

相關技能