IT 系統及應用支援 | 軟件測試及自動化

項目

這些項目展示我如何支援和診斷系統、測試陌生軟件、處理數據,並建立實用應用。進行中的工作、計劃中的部署,以及尚未開放的個案均會清楚標示。

返回主頁摘要

重點項目

代表項目

ServiceFlow - API 故障排查實驗

以 FastAPI 建立的應用支援項目,透過訂單流程練習 SQL 排查、付款異常處理及 API 回歸測試。

已完成 公開倉庫 · 附排查及修正記錄
問題
訂單報表存在重複查詢;付款失敗後,訂單可能仍被標記為已付款;無效的訂單明細亦可能令金額計算出錯。
方法
我結合請求日誌、服務層程式碼及 SQL 查詢計劃找出原因,再加入索引及彙總查詢、修正付款和資料驗證邏輯,並用 pytest 檢查修正結果。
結果
在生成的 SQLite 數據集上,索引及彙總查詢把本機服務層中位耗時由 90.26 ms 降至 2.11 ms(42.8 倍);數據包括 500 名客戶、2,000 筆訂單及 5,966 條明細。
  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite
  • SQL diagnostics
  • pytest
  • GitHub Actions

本機生成數據 · 模擬故障 · 無線上示範。

DispatchGuard - 現場調度可靠性

以 QA 角度處理現場調度最容易出錯的環節,包括重複派單競爭、資格核對、離線工作及安全的衝突處理。

已完成 v1.0 已完成 · v1.1 加固已驗證 原始碼私有 · 案例及精選驗證資料公開
問題
調度員看到工作可分配時,另一筆分配可能正在提交;技術人員重新連線時,也可能帶回已經過期的離線操作。兩種情況都會破壞看似普通的工作流程。
方法
我把重疊分配限制放到資料庫層,為同步設計冪等處理及清晰的衝突規則,再用並發、離線重試和新西蘭夏令時間邊界場景驗證。
結果
完成版保留問題重現、修正、回歸測試、ADR 及 RCA。部署只在私有 tailnet 內驗證,不會描述為公開正式服務。
  • TypeScript
  • PostgreSQL
  • Playwright
  • PWA / offline sync
  • Concurrency testing
  • NZ DST testing
  • GitHub Actions

原始碼倉庫不公開;案例說明、缺陷記錄及精選測試證據可供查看。

Saleor QA - 外部測試框架

透過 GraphQL API 及瀏覽器流程測試固定版本的 Saleor 3.23,全程不修改被測系統的原始碼。

已完成 以風險為本的 QA · 主分支 CI 通過 原始碼私有 · 案例及精選驗證資料公開
問題
測試陌生系統時,需要把真正的產品行為、測試框架本身的問題、環境故障,以及經不起驗證的假設分開。
方法
我把 pytest、Playwright、axe 及 Allure 與風險測試計劃、追蹤關係、受控測試數據、跨層驗證及獨立視覺回歸流程結合。
結果
功能測試集記錄 30 項通過及 2 項 strict-xfail 回歸標記。4 份報告仍清楚標示為缺陷或候選問題,不會寫成 Saleor 上游已確認缺陷。
  • Playwright
  • pytest
  • GraphQL
  • axe-core
  • Allure
  • Visual regression
  • Docker

原始碼倉庫不公開;案例說明、測試計劃及精選驗證資料可供查看。

其他項目

Subscriptly - 週期付款管理

一款管理訂閱、租金、保險等週期付款的 iOS app,重點把續費日期、匯率、金額捨入、備份及恢復等細節處理妥當。

進行中 內部 TestFlight · 持續開發中 原始碼私有 · 案例及精選驗證資料公開

問題

週期付款看似簡單,但跨月續費、匯率變化,以及備份恢復時不能悄悄改變金額或歷史,都會很快變成真實的數據問題。

方法

我把 SwiftUI 產品層與共享 Kotlin 領域核心分開,金額使用最小貨幣單位,計費日期使用不帶時區的日曆日期,並明確設計備份、恢復及衝突處理。

結果

app 透過內部 TestFlight 分發,並有面向發佈的 Swift 及 Kotlin 測試。公開發佈及餘下的真機驗收不會寫成已經完成。

  • SwiftUI
  • SwiftData
  • CloudKit
  • Kotlin Multiplatform
  • Exact-money rules
  • Backup and recovery
  • TestFlight

原始碼倉庫不公開;案例說明及精選發佈驗證資料可供查看。

PlanPilot - 先審閱再執行的 iOS 規劃

一款把模糊目標整理成可執行計劃的 iOS app,並在寫入日曆前檢查步驟、時間及限制是否合理。

公開測試 外部 TestFlight 測試 · 持續開發中 原始碼私有 · 案例及精選驗證資料公開

問題

規劃助手不應在用戶看見推斷結果、假設及潛在衝突之前,就直接建立日曆活動或提醒。

方法

我實作先審閱再儲存的流程、計劃驗證、本地優先儲存,以及可選的日曆和通知寫入;裝置端、雲端及離線規劃方式共用同一套介面。

結果

iPhone app 可透過公開 TestFlight 連結試用。它仍是測試版,不是 App Store 正式版本,亦不聲稱已有用戶採用或正式營運使用。

  • SwiftUI
  • SwiftData
  • EventKit
  • UserNotifications
  • App Intents
  • Local-first planning
  • TestFlight

原始碼倉庫不公開;公開測試連結、案例說明及精選發佈驗證資料可供查看。

正在開發

ReleaseLens - 可追蹤 QA 工作台

進行中 原始碼倉庫私有,項目仍在開發;目前架構及執行證據可預約查看。

目前版本把需求與測試個案連起來,並可由工作台啟動 Playwright,同時保留狀態、耗時、錯誤、截圖及 trace。自建的 JobTrack 被測系統包含 5 個刻意設計的缺陷,由 6 項預期失敗檢查覆蓋,並清楚保留這些失敗結果,不會計作通過。

下一步是缺陷管理及發佈就緒規則。AI 輔助分析、審計日誌及雲端部署仍在規劃中,不會寫成已經完成。

了解目前進度

補充技術說明

網站及公共 API 的架構說明會獨立列出,不會與項目經歷混在一起。