跳至內容

測試策略

Mindwtr 針對 core、各平台應用程式與整合介面採用分層測試策略。

目標

  1. 保護資料完整性(同步、儲存、合併規則)
  2. 找出關鍵使用者工作流程中的迴歸
  3. 讓 CI 中的測試快速且結果可重現

測試層級

核心(packages/core

  • 涵蓋主要邏輯(同步、重複、解析、儲存輔助函式)
  • 使用結果可重現的固定資料進行快速單元測試
  • 多數資料完整性不變條件應優先在此強制執行

桌面版(apps/desktop

  • 元件與檢視行為測試(Vitest + Testing Library)
  • 著重互動密集的檢視與同步協調包裝層

行動版(apps/mobile

  • 工具與協調邏輯測試
  • 同步及任務編輯行為等關鍵流程的煙霧測試
  • 裝置特有的介面行為仍有一部分仰賴手動驗證

雲端(apps/cloud

  • API 端點測試
  • 驗證身分、速率限制與路徑
  • CRUD 與附件端點行為
  • 涵蓋範圍著重核心請求處理,並未窮盡所有並行部署情境

MCP 伺服器(apps/mcp-server

  • 查詢層正確性(搜尋、新增/更新/刪除/還原)
  • 輸入驗證與交易行為
  • 涵蓋範圍著重工具行為與驗證,不包含完整的端對端編輯器/LLM 工作流程

目前的涵蓋限制

  • packages/core 的自動化測試涵蓋最完整,應持續作為資料完整性迴歸的第一道防線。
  • 桌面版對關鍵檢視有良好的元件測試涵蓋,但並非每條互動路徑都有端對端測試。
  • 行動版的涵蓋刻意比桌面版/核心更精簡;無障礙功能、手勢與原生整合路徑仍需在裝置上手動檢查。
  • 雲端與 MCP 伺服器測試涵蓋核心處理常式與驗證路徑,但尚未模擬所有正式環境的並行或部署邊界情況。

優先測試項目

新增或變更行為時,請依下列順序安排測試:

  1. 資料正確性與合併語意
  2. 錯誤路徑以及重試/逾時行為
  3. 使用者可見的互動路徑
  4. 對效能敏感的邏輯(搜尋/同步/清單轉換)

迴歸檢查清單

合併前:

  1. 為變更的行為新增或更新測試
  2. 在本機執行受影響套件的測試
  3. 若變更橫跨套件,執行較完整的工作區測試
  4. 確認測試之間沒有快照/狀態耦合

實務規則

  1. 優先使用固定時間戳記/測試資料,不要使用即時時間。
  2. 單元測試應避免依賴網路。
  3. 每項測試只聚焦一種行為。
  4. 整合測試用於工作流程邊界,不必涵蓋每個分支。
  5. 將不穩定測試視為錯誤,並儘快修正根本原因。
  6. 若平台特有的錯誤修正缺乏可靠的自動化測試,請在 PR 中記錄必要的手動驗證步驟。

相關文件

Mindwtr 是免費、開放原始碼且在地優先的應用程式。
Getting Things Done 與 GTD 是 David Allen Company 的註冊商標。Mindwtr 與 David Allen Company 無關,亦未獲其背書或贊助。