回到靈感庫列表
通用議題語言繁體中文科學科技

別盲信 AI 生成的代碼!Python 自動化邊界測試與防禦性重構實踐

難度
進階
期程
4 週
建議人數
個人
每週投入
6 小時
進行方式
線上

背景與動機

AI 寫出的程式碼常看似能跑通,卻在極端邊界值(Edge Cases)、型別異常或時區計算中暗藏隱蔽 Bug。挑選 3 個具備高錯誤風險的資料處理模組,運用 pytest 建立嚴密的自動化測試防禦網,實測 AI 初版代碼的瑕疵率,並進行標準化防禦性重構(Defensive Refactoring)。

為什麼是現在

在 AI 輔助編程普及的時代,軟體工程師的核心價值已從「寫出功能」轉為「代碼審查(Code Review)、邊界防禦與品質驗證」。本專案帶你掌握 TDD 測試思維、pytest 自動化測試矩陣、覆蓋率分析與 CI 流程,產出展現工程嚴謹度的 GitHub 實務作品集。

目標

針對 3 個常見資料陷阱模組,設計覆蓋率達 90% 以上的 pytest 測試套件(含正常、極值、異常情境),抓出 AI 初版程式碼的 3 類隱蔽缺陷,並產出重構後代碼與一份可重現的 CI 自動化測試報告。

成果產出

成果 01Python 防禦性測試套件(含 3 個模組之 pytest 案例、邊界矩陣與 GitHub Actions CI)開源代碼庫
成果 02AI 代碼盲點體檢與重構技術報告(含 Coverage 報告、Git Diff 與防禦重構分析)技術報告

執行期程

  1. 第 1 週選定 3 個高陷阱任務(如跨時區時間解析、巢狀 JSON 資料扁平化、敏感個資遮罩驗證),依據等價劃分與邊界值分析(BVA)撰寫規格書,並在 GitHub 建立專案與 pytest 執行環境。完成標準完成 3 個任務規格定義與 pytest 基礎架構搭建。佐證資料任務規格 Markdown、目錄架構與可執行的 pytest 空白範本。
  2. 第 2 週在「不給 AI 提示代碼」前,先手寫每題至少 6 組包含 Happy Path、極端邊界(如空陣列、極端字元、無效時區)與型別異常的 pytest 單元測試案例,鎖定預期斷言(Assertion)。完成標準完成共 18+ 組嚴密單元測試案例,確認測試案例自身邏輯無誤。佐證資料完整測試檔案(test_*.py)與邊界情境清單。
  3. 第 3 週使用合法 AI 工具(如 Copilot / Claude / ChatGPT)以零樣本(Zero-shot)提示生成初版代碼,直接套入測試套件執行;記錄哪些邊界測試失敗,分類歸納 AI 的「盲點模式」(如型別假設錯誤、隱性崩潰)。完成標準完成 AI 初版代碼之自動化測試評估,記錄失敗案例與錯誤日誌。佐證資料AI Prompt 紀錄、初始代碼檔與 pytest 失敗報告(Fail Log)。
  4. 第 4 週針對失敗案例進行防禦性程式碼重構(Defensive Refactoring),搭配 pytest-cov 達成 90% 以上測試覆蓋率,設定 GitHub Actions 確保 CI 自動化綠燈通過,撰寫技術總結報告。完成標準所有測試通過,測試覆蓋率達標,完成 CI 自動化與技術報告總結。佐證資料GitHub 倉庫連結(含 Actions 綠燈截圖)、Coverage 覆蓋率 HTML 報告與專案技術報告。

需要的佐證資料

  • 任務邊界規格書與 pytest 測試架構代碼。
  • 涵蓋邊界與異常情境的單元測試檔案(18+ 案例)。
  • AI 初版代碼測試失敗紀錄與缺陷分類筆記。
  • GitHub 倉庫(含 Actions CI 綠燈、覆蓋率報告與技術分析報告)。

核心實作技能

軟體測試程式開發PythonGit

建議具備的基礎技能

具備基礎 Python 語法與函式撰寫能力能使用終端機執行指令與基礎 Git 操作(commit, push)

特別適合這樣的你

想累積軟體測試(QA)、後端開發(Backend)、代碼品質工程或對 AI-assisted DevOps 感興趣的學生與工程師。

建議規模與分工

AI 草擬 · 已人工審閱
建議人數個人每人每週投入6 小時

適合個人獨立完成。若有同儕協助以 Code Review 形式審查測試案例覆蓋度,可在專案報告中說明審查貢獻。

分工
成員角色負責的事
A軟體測試與重構工程師負責邊界值規格定義、pytest 單元測試編寫、AI 代碼瑕疵審查、防禦性重構與 CI 整合。

人數與分工可於建立時調整

執行條件

地區與建議使用語言

地區
通用議題
主要建議語言
繁體中文
其他建議語言
語言使用說明
以繁體中文撰寫技術報告;代碼註解與測試函式名稱建議採標準英文蛇形命名(snake_case)。

建議語言非參與條件

語言與資料獲取
本機 Python 3.10+ 環境、GitHub 帳號、合法之免費/現有 AI 工具。
實施邊界
為特定演算法與資料模組之單元測試實踐,不代表評估整體 LLM 大模型之全域程式碼能力。
場域/資料權限
本機開發環境(VS Code / PyCharm)與 GitHub。
預估費用
約 NT$ 0(使用本機開源工具與 GitHub 免費 CI 額度)
工具設備
Python 3、pytest、pytest-cov、Git / GitHub Actions、VS Code。

不在範圍內

  • 不執行高風險的未檢查惡意指令或未經審核的網路請求代碼
  • 不接入正式生產環境或使用真實機密資料
  • 不評比各大商業 AI 模型之商譽排名

參考資料

  1. Google Cloud,Announcing the 2025 DORA Report: State of AI-Assisted Software Development,2025,https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report
  2. pytest-dev,pytest documentation,https://docs.pytest.org/en/stable/
準備好開始了嗎?目標、範圍、期程、分工都可以在下一步進行調整
從這個靈感開始
別盲信 AI 生成的代碼!Python 自動化邊界測試與防禦性重構實踐 · Project 專案作品集