一、前言
測試階段的質量門禁設計要考慮幾個維度,首先是研發流程的階段劃分,每個階段都要有明確的準入準出標準;其次要考慮不同測試類型的特點,比如功能測試和性能測試的驗收標準肯定不同;最后還要平衡質量要求和項目進度。
在單元測試階段,可以設置通過率和覆蓋率的閾值;在集成測試階段,可能涉及接口測試和安全掃描;部署前的冒煙測試也是關鍵步驟。
建立質量門禁的核心原則包含以下幾項:
- 明確標準: 每個門禁必須有清晰、可衡量、客觀(盡可能)的準入/準出標準。
- 責任清晰: 明確誰負責評估、誰負責審批通過。
- 強制執行:門禁不是建議,是強制要求。未達標必須阻止進入下一階段。
- 數據驅動: 盡可能基于測試報告、缺陷數據、覆蓋率等客觀數據做決策。
- 風險導向:門禁標準應考慮項目風險級別(高風險項目門禁更嚴格)。
二、單元測試階段的質量門禁
目標:確保代碼的最小功能單元(函數、類、模塊)滿足基礎質量要求。
規則示例:我總結以下幾點規則供大家參考
- 單元測試通過率:所有單元測試必須 100% 通過。
- 測試覆蓋率:代碼覆蓋率需達到 80% 以上。
- 代碼復雜度:圈復雜度(CyclomaticComplexity)不超過 5(避免過度復雜邏輯)。
- 靜態代碼分析:使用 SonarQube 或 ESLint檢查代碼規范問題(如未使用的變量、語法錯誤等),嚴重錯誤數量為 0。
- 工具支持:
SonarQube:配置質量閾值(如 Minimumtest coverage: 80%)
Jenkins Pipeline:在構建階段集成單元測試和靜態