測試金字塔設計順序

測試層級描述設計順序說明
整合測試 (E2E)端到端測試1先定義完整的 Use Case 流程
事件測試跨 Domain 交互測試2定義 Domain 間的事件交互
單元測試單一功能測試3定義各 Domain 內部邏輯
Widget 測試UI 組件測試4定義 UI 組件行為

階段開發策略

  • 測試先行:先設計完整的測試金字塔
  • 介面定義:通過測試定義各層級介面契約
  • 交互設計:確定跨 Domain 的事件和資料流
  • 實作延後:實際功能實作延後到 v0.2+ 階段

v0.1.1

  • 建立多 Domain 基礎架構(Library, Import, Scanner, Search)
  • 建立基本的 Domain 實體和值物件(作為測試 Mock 基礎)
  • 完成 Library Domain 的基本測試案例

v0.1.2 目標:整合測試設計

  • 分析所有 Use Cases 並設計對應的整合測試
  • 定義書籍匯入完整流程測試
  • 定義 ISBN 掃描完整流程測試
  • 定義書庫管理完整流程測試
  • 定義搜尋功能完整流程測試

v0.1.3 目標:事件測試設計

  • 設計跨 Domain 事件交互測試
  • 定義 Import → Library 領域事件測試
  • 定義 Scanner → Library 領域事件測試
  • 定義 Search → Library 領域事件測試

v0.1.4 目標:單元測試完善

  • 為每個 Domain 設計完整單元測試
  • 定義 Repository 介面契約測試
  • 設計服務層介面測試

v0.1.5 目標:Widget 測試設計

  • 設計 UI 組件行為測試
  • 定義使用者交互流程測試