這篇是系列收尾,目標是把「可用」提升到「可放心上線」。
為什麼選 pytest?
Python 專案中,pytest 很適合快速建立測試文化:
- 語法簡潔
- 錯誤訊息清楚
- 生態完整(可擴充)
測試案例最小集合(建議)
每個功能至少覆蓋:
- 正常路徑(Happy Path)
- 邊界值(Boundary)
- 例外情境(Error Path)
並在測試內寫清楚註解:測什麼、為何測、預期是什麼。
常用 pytest 指令
pytest:跑全部測試pytest -q:精簡輸出pytest -k "keyword":只跑特定測試pytest -x:第一個失敗就停
Security Review 的固定流程
每次上線前固定跑:
- AI 安全審查(人工 + AI 雙檢)
- Security linter / SAST
- 套件弱點掃描(依賴風險)
- 外部視角弱點掃描(暴露面)
關鍵檢查重點:
- 程式碼是否出現 API key / token
- 權限管理是否有 Broken Access Control 風險
- 是否存在注入攻擊入口
- 是否有 Security Misconfiguration
事故追查需要的最小紀錄
至少要留:
- 登入/權限拒絕紀錄
- 關鍵資料異動紀錄
- 例外與錯誤 log(可對應 request id)
沒有紀錄,就很難事後調查與止血。
一句話總結
測試保證功能品質,安全檢查保證上線品質,兩者缺一不可。