V模型是Kevin Forsberg & Harold Mooz在1978年提出的,V模型強調測試在系統工程各個階段中的作用,並將系統分解和系統集成的過程通過測試彼此關聯。V模型從整體上看起來,就是一個V字型的結構。左邊的下畫線分別代表了用戶需求、需求分析、概要設計、詳細設計、編碼和實現。右邊的上畫線代表了單元測試、集成測試、系統測試與驗收測試。
V模型的中心思想是,研發人員和測試人員需要同時工作,在軟件做需求分析的同時就會有測試用例的跟蹤,這樣可以盡快找出程序錯誤和需求偏離,從而更高效的提高程序質量,最大可能的減少成本,同時滿足用戶的實際軟件需求。V模型的重要意義在於,非常明確的表明了測試過程中存在的不同的級別,並且非常清晰的描述了這些測試階段和開發階段的對應關系。
V模型示意圖(參考鏈接)
(1)單元測試:驗證軟件單元是否按照單元規格說明(詳細設計說明)正確執行,即保證每個最小的單元能夠正常運行。單元測試一般由開發人員來執行,首先設定最小的測試單元,然后通過設計相應的測試用例來驗證各個單元功能的正確性。
(2)集成測試:檢查多個單元是否按照系統概要設計描述的方式協同工作。集成測試的主要關注點是系統能夠成功編譯,實現了主要的業務功能,系統各個模塊之間數據能夠正常通信等。
(3)系統測試:驗證整個系統是否滿足需求規格說明。
(4)驗收測試:從用戶的角度檢查系統是否滿足合同中定義的需求或者用戶需求。
V模型的特點:
- V模型體現的主要思想是開發和測試同等重要,左側代表的是開發活動,而右側代表的是測試活動。
- V模型針對每個開發階段,都有一個測試級別與之相對應。
- 測試依舊是開發生命周期中的階段,與瀑布模型不同的是,有多個測試級別與開發階段對應。
- V模型適用於需求明確和需求變更不頻繁的情形。