通用軟體測試技術之常見軟體測試過程模型
V模型
V模型和瀑布模型有一些共同的特性,V模型中的過程從左到右,描述了基本的開發過程和測試行為。
優點
V模型的價值在於它非常明確地標明瞭測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關係。
侷限性
(測試介入太晚) 把測試作為編碼之後的最後一個活動,需求分析等前期產生的錯誤直到後期的驗收測試才能發現
W模型
V模型的侷限性在於沒有明確地說明早期的測試,無法體現“儘早地和不斷地進行軟體測試”的原則。在V模型中增加軟體各開發階段應同步進行的測試,演化為W模型。
在模型中不難看出,開發是“V”,測試是與此並行的“V”。W模型是V模型的發展,強調的是測試伴隨著整個軟體開發週期,而且測試的物件不僅僅是程式,需求、功能和設計同樣要測試
測試與開發是同步進行的,從而有利於儘早地發現問題。
侷限性
W模型和V模型都把軟體的開發視為需求、設計、編碼等一系列序列的活動,無法支援迭代、自發性以及變更調整。
X模型
X模型也是對V模型的改進,X模型提出針對單獨的程式片段進行相互分離的編碼和測試,此後通過頻繁的交接,通過整合最終合成為可執行的程式。
X模型的左邊描述的是針對單獨程式片段所進行的相互分離的編碼和測試,此後將進行頻繁的交接,通過整合最終成為可執行的程式,然後再對這些可執行程式進行測試。
己通過整合測試的成品可以進行封裝並提交給使用者,也可以作為更大規模和範圍內整合的一部分。多根並行的曲線表示變更可以在各個部分發生。
X模型還定位了探索性測試,這是不進行事先計劃的特殊型別的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟體錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。
H模型:
H模型中, 軟體測試過程活動完全獨立,貫穿於整個產品的週期,與其他流程併發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段。軟體測試可以儘早的進行,並且可以根據被測物的不同而分層次進行。
H模型揭示了一個原理:軟體測試是一個獨立的流程,貫穿產品整個生命週期,與其他流程併發地進行。H模型指出軟體測試要儘早準備, 儘早執行。不同的測試活動可以是按照某個次序先後進行的,但也可能是反覆的,只要某個測試達到準備就緒點,測試執行活動就可以開展。
總結:
-
軟體測試過程模型-V模型是軟體開發瀑布模型的變種,主要反映測試活動與分析和設計的關係;
侷限性:把測試作為編碼之後的最後一個活動,需求分析等前期產生的錯誤直到後期的驗收測試才能發現 -
軟體測試過程模型-W模型
在V模型的基礎上,增加千開發階段的同步測試,形成W模型;測試與開發同步進行,有利用盡早的發現問題侷限性:仍把開發活動看成是從需求開始到編碼結束的序列活動,只有上一階段完成後,才可以開始下一階段的活動,不能支援迭代,自發性以及變更調整 -
軟體測試過程模型-H模型
在H模型中,軟體測試過程活動完全獨立,貫穿於整個產品的週期,與其他流程併發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段;軟體測試可以進行儘早的進行;軟體測試可以根據被測物的不同而分層次進行
在實際工作中應靈活地運用各種模型的優點:
-
V模型: 強調了在整個軟體專案開發中需要經歷的若干個測試級別,並與每一個開發級別對應;忽略了測試的物件不應該僅僅包括程式,沒有明確指出對需求、設計的測試
-
W模型: 補充了V模型中忽略的內容,強調了測試計劃等工作的先行和對系統需求和系統設計的測試;與V模型相同,沒有對軟體測試的流程進行說明
-
H模型: 強調測試是獨立的,只要測試準備完成,就可以執行測試