定義
軟體測試是軟體品質保證的重要手段,透過執行測試發現缺陷,修復後提升軟體品質水準。測試領域至今不存在能發現所有缺陷的完美機制。
軟體缺陷 vs 硬體缺陷
- 軟體缺陷通常不直接造成人身傷害,易被忽視嚴重性。
- 但對企業、關鍵科研、金融、醫療等領域,缺陷可能導致重大財產/聲譽損失。
- 現代社會高度依賴軟體,品質關乎民生。
測試的定位與局限
- 手段而非目的:測試只是「發現缺陷的手段」,不能單靠測試保證零缺陷。
- 自動化測試可提升覆蓋率與效率,但手工測試仍為主力。
- 時間壓力下,測試人員只能在允許範圍內發現「盡可能多」的缺陷。
完整品質保障體系
軟體測試需結合下列管理手段,共同保障品質:
- 軟體配置管理(版本控制、基線管理)
- 進度控制(專案排程、里程碑)
- 需求控制與分析(源頭把關)
- 程式碼審查(靜態分析、同儕審閱)
- 設計評審(架構/介面/資料庫設計驗證)
測試流程核心
- 研讀需求規格與用戶業務場景。
- 設計測試案例(涵蓋功能、效能、安全、相容、易用性等)。
- 執行測試案例,記錄實際結果與預期差異。
- 缺陷追蹤:提交 → 分派 → 修復 → 迴歸驗證 → 關閉。
- 測試報告與發布決策建議。
結語
軟體測試是「發現問題」而非「證明沒問題」。成熟團隊將測試前移、自動化持續整合、全團隊共同擁有品質責任,才是交付高品質軟體的正道。