天天看點

軟體測試模型彙總-V模型,W模型,X模型,H模型

V模型

在軟體測試方面,V模型是最廣為人知的模型,盡管很多富有實際經驗的測試人員還是不太熟悉V模型,或者其它的模型。V模型已存在了很長時間,和瀑布開發模型有着一些共同的特性,由此也和瀑布模型一樣地受到了批評和質疑。V模型中的過程從左到右,描述了基本的開發 過程和測試行為。

V模型大體可以劃分為以下幾個不同的階段步驟:需求分析、概要設計、詳細設計、軟體編碼、單元測試、內建測試、系統測試、驗收測試。

V模型的價值在于它非常明确地标明了測試過程中存在的不同級别,并且清楚地描述了這些測試階段和開發過程期間各階段的對應關系。

局限性: 把測試作為編碼之後的最後一個活動,需求分析等前期産生的錯誤直到後期的驗收測試才能發現.

W模型

V模型的局限性在于沒有明确地說明早期的測試,無法展現“盡早地和不斷地進行軟體測試” 的原則。在V模型中增加軟體各開發階段應同步進行的測試,演化為W 模型(如下圖)。在模型中不難看出,開發是“V”,測試是與此并行的“V”。基于“盡早地和不斷地進行軟體測試”的原則,在軟體的需求和設計階段的測試活 動應遵循IEEE1012-1998《軟體驗證與确認(V&V)》的原則。

W模型由Evolutif公司提出,相對于V模型,W模型更科學。W模型是V模型的發展,強調的是測試伴随着整個軟體開發周期,而且測試的對象不僅僅是程式,需求、功能和設計同樣要測試。測試與開發是同步進行的,進而有利于盡早地發現問題。

W模型也有局限性。W模型和V模型都把軟體的開發視為需求、設計、編碼等一系列串行的活動,無法支援疊代、自發性以及變更調整。

X模型

X模型也是對V模型的改進,X模型提出針對單獨的程式片段進行互相分離的編碼和測試,此後通過頻繁的交接,通過內建最終合成為可執行的程式

X模型的左邊描述的是針對單獨程式片段所進行的互相分離的編碼和測試,此後将進行頻繁的交接,通過內建最終成為可執行的程式,然後再對這些可執行程式進行測試。己通過內建測試的成品可以進行封裝并送出給使用者,也可以作為更大規模和範圍内內建的一部分。多根并行的曲線表示變更可以在各個部分發生。由圖中可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟體錯誤。但這樣可能對測試造成人力、物力和财力的浪費,對測試員的熟練程度要求比較高。

H模型

H模型中, 軟體測試過程活動完全獨立,貫穿于整個産品的周期,與其他流程并發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段。軟體測試可以盡早的進行,并且可以根據被測物的不同而分層次進行。

這個示意圖示範了在整個生産周期中某個層次上的一次測試“微循環”。圖中标注的其它流程可以是任意的開發流程,例如設計流程或者編碼流程。也就是說, 隻要測試條件成熟了,測試準備活動完成了,測試執行活動就可以進行了。

H模型揭示了一個原理:軟體測試是一個獨立的流程,貫穿産品整個生命周期,與其他流程并發地進行。H模型指出軟體測試要盡早準備, 盡早執行。不同的測試活動可以是按照某個次序先後進行的,但也可能是反複的,隻要某個測試達到準備就緒點,測試執行活動就可以開展。

1.軟體測試過程模型-V模型是軟體開發瀑布模型的變種,主要反映測試活動與分析和設計的關系;

局限性:把測試作為編碼之後的最後一個活動,需求分析等前期産生的錯誤直到後期的驗收測試才能發現

2.軟體測試過程模型-W模型

在V模型的基礎上,增加千開發階段的同步測試,形成W模型;測試與開發同步進行,有利用盡早的發現問題

局限性:仍把開發活動看成是從需求開始到編碼結束的串行活動,隻有上一階段完成後,才可以開始下一階段的活動,不能支援疊代,自發性以及變更調整

3.軟體測試過程模型-H模型

在H模型中,軟體測試過程活動完全獨立,貫穿于整個産品的周期,與其他流程并發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段;軟體測試可以進行盡早的進行;軟體測試可以根據被測物的不同而分層次進行

測試模型使用軟體

在實際工作中應靈活地運用各種模型的優點

4.V模型: 強調了在整個軟體項目開發中需要經曆的若幹個測試級别,并與每一個開發級别對應;忽略了測試的對象不應該僅僅包括程式,沒有明确指出對需求、設計的測試

W模型: 補充了V模型中忽略的内容,強調了測試計劃等工作的先行和對系統需求和系統設計的測試;與V模型相同,沒有對軟體測試的流程進行說明

H模型: 強調測試是獨立的,隻要測試準備完成,就可以執行測試

vw