V模型
V模型中的過程從左到右,描述了基本的開發過程和測試行為。
V模型的價值在於它非常明確地標明了測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關系。
局限性:把測試作為編碼之后的最后一個活動,需求分析等前期產生的錯誤直到后期的驗收測試才能發現。
W模型
相對於V模型,W模型更科學。W模型是V模型的發展,強調的是測試伴隨着整個軟件開發周期,而且測試的對象不僅僅是程序,需求、功能和設計同樣要測試。
測試與開發是同步進行的,從而有利於盡早地發現問題。W模型也有局限性。
W模型和V模型都把軟件的開發視為需求、設計、編碼等一系列串行的活動,無法支持迭代、自發性以及變更調整。
X模型
X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將進行頻繁的交接,通過集成最終成為可執行的程序,然后再對這些可執行程序進行測試。
己通過集成測試的成品可以進行封裝並提交給用戶,也可以作為更大規模和范圍內集成的一部分。
多根並行的曲線表示變更可以在各個部分發生。
由圖中可見,X模型還定位了探索性測試,這是不進行事先計划的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計划之外發現更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。
H模型
H模型中, 軟件測試過程活動完全獨立,貫穿於整個產品的周期,與其他流程並發地進行,某個測試點准備就緒時,就可以從測試准備階段進行到測試執行階段。軟件測試可以盡早的進行,並且可以根據被測物的不同而分層次進行。
這個示意圖演示了在整個生產周期中某個層次上的一次測試“微循環”。圖中標注的其它流程可以是任意的開發流程,例如設計流程或者編碼流程。也就是說,只要測試條件成熟了,測試准備活動完成了,測試執行活動就可以進行了。
H模型揭示了一個原理:軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程並發地進行。
H模型指出軟件測試要盡早准備,盡早執行。
不同的測試活動可以是按照某個次序先后進行的,但也可能是反復的,只要某個測試達到准備就緒點,測試執行活動就可以開展。
總結
V模型——非常明確地標注了測試過程中存在的不同類型的測試。
W模型——非常明確地標注了生產周期中開發與測試之間的對應關系。
X模型——這個模型指出整個測試過程是在探索中進行的。
H模型——軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程並發地進行。