跳轉至
繁體中文 English

ToppleCat 是什麼?

ToppleCat 是一個給 Java/JUnit 專案使用的開源驗證工具。當 AI coding agent 說功能 已經完成,它不直接相信這句話,而是用人事先確認的業務規則重新檢查,並留下這次執行 的結果。

它不是另一個幫你寫程式的 AI。它比較像交付前的驗收員:把寫著 PASS 的成果推一下, 看看它是真的站得住,還是只在公開範例面前看起來正常。

它要解決的問題

假設優惠券規則是「使用 SAVE100 結帳時折 100 元」。AI 寫完功能,公開測試也確認 1,000 → 900。看起來完成了,但程式也可能只是針對這組數字寫死答案;換成另一筆合法 訂單就出錯。

一般測試仍然重要。問題在於,AI 開發時已經看過公開規則與範例。只用同一批資料驗收, 很難分辨它是理解並實作了規則,還是剛好通過已知答案。

ToppleCat 會保留原本公開的驗收內容,再從不同角度挑戰這份交付。它找到問題時,報告 會說明哪一條規則、哪一種檢查出了狀況;全部必要檢查都有可信結果並通過時,這次執行 才會得到 PASS

ToppleCat 會檢查什麼

第一次閱讀時,先看每項檢查回答的問題。右欄是文件與報告使用的正式名稱。

想確認的事 ToppleCat 的檢查
AI 看得到的公開範例現在是否真的通過? Public Acceptance
換成 AI 事前沒看過、但仍符合相同規則的例子,結果對嗎? Hidden Tests
測試有實際比較預期結果,還是只把資料讀進來? Expected Result Check
同一條規則遇到許多合法輸入,能否找到反例? Property-Based Testing
暫時改動程式行為後,原本的驗收方法能察覺嗎? Mutation Testing
審閱後,規則或驗證設定有沒有被改過? Contract Integrity

這些檢查彼此獨立。多跑一筆案例、產生許多輸入、暫時改動程式,各自會抓到不同問題; 其中一項通過,不能補上另一項缺少的證據。

一次交付怎麼走完

人寫清楚怎樣才算做對
    → 確認準備好的規則、範例與額外檢查
    → AI 只依公開內容實作,照常執行一般測試
    → ToppleCat 重新執行並加入獨立檢查
    → 人閱讀這次結果,決定是否接受交付

ToppleCat 把「怎樣才算做對」整理成可執行契約。這只是正式名稱,實際內容仍是一般 Java/JUnit 方法,以及寫有輸入和預期結果的 JSON 或 YAML 範例。

人要在 AI 開始實作前確認契約。AI 完成後,ToppleCat 重新執行同一份公開約定,不會 在背後換一套規則。完整流程請讀從規則到結果

你會看到兩份報告

兩份報告都只留在你的專案裡,不會發布到這個網站,也不會交給實作 AI。

實作前:Spec Review

這份頁面讓負責驗收的人先看清楚:「我們選了哪些業務規則?準備了哪些公開與額外 範例?之後究竟會執行什麼?」它是審閱資料,還沒有測試結果。

AI 說完成後:Verification Report

這份頁面先告訴你本次執行是通過、發現問題,還是證據不足,再列出每條規則與各項 檢查的結果。需要追查時,才展開輸入、預期與實際差異,以及更深的技術資料。

PASS 代表這次選定範圍內,每一道必要檢查都通過。它不代表 ToppleCat 已經替人 核准交付,也不證明沒有人漏寫業務規則。

誰適合使用

ToppleCat 適合使用 Java/JUnit、把部分實作交給 AI,並且希望由人保留驗收決定的團隊。

閱讀報告的人不一定要會寫 Java。他可以是開發者、產品負責人、測試者,或其他了解 業務預期並對交付負責的人。工程設定可以請開發者或 AI 協助;規則是否完整、證據是否 足夠,仍要由人判斷。

如果你還在評估,請讀它適合什麼情境

先認識五個常用名詞

  • 驗收條件(Acceptance Condition):一條人選定、可明確判斷結果的業務規則。
  • 可執行契約(Executable Contract):把規則接到可以真的執行的 Java/JUnit 檢查與案例資料。
  • 審閱者(Reviewer):閱讀規則與報告,最後決定怎麼處理交付的人。
  • 獨立防線(Independent Safeguard):回答一個特定驗證問題、不能被其他結果 取代的檢查。
  • 本次執行證據(Current-run Evidence):這一次正式驗證留下的結果,不拿舊報告 來補缺少的資料。

遇到其他大寫英文詞,不必猜;直接查名詞解釋

接下來怎麼做

你現在想做什麼 下一頁
把 ToppleCat 加進現有 Java 專案 開始使用
評估它是否適合團隊目前的開發方式 ToppleCat 適合什麼情境
了解每項檢查與 PASSFAIL 的意思 ToppleCat 如何檢查交付
了解完整流程、審閱者專用內容與系統邊界 從規則到結果
把自己的業務規則接到 Java/JUnit 把規則寫成可執行檢查
解決安裝或驗證問題 排除問題
確認目前版本與環境需求 0.2.0 版本說明

讓 AI 協助閱讀或安裝

每頁上方都有 Copy Markdown。按下後,把內容交給 AI,它可以:

  • 用你的產業或業務情境重新解釋 ToppleCat;
  • 告訴工程師需要準備什麼;
  • 在 Java 專案安裝 plugin,並依照人已確認的公開規則建立檢查。

不要把私人報告、審閱者另外準備的案例或其他私人值交給實作 AI。也不要請 AI 猜測 沒有寫下的業務需求。

想開始使用,請讀開始使用。想看專案故事, 回到 ToppleCat 專案首頁;原始碼與貢獻資料在 GitHub