您好,登錄后才能下訂單哦!
V模型,W模型,X模型,H模型
一、V模型
在軟件測試方面,V模型是最廣為人知的模型,盡管很多富有實際經驗的測試人員還是不太熟悉V模型,或者其它的模型。V模型已存在了很長時間,和瀑布開發模型有著一些共同的特性,由此也和瀑布模型一樣地受到了批評和質疑。V模型中的過程從左到右,描述了基本的開發 過程和測試行為。V模型的價值在于它非常明確地標明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發過程期間各階段的對應關系。局限性: 把測試作為編碼之后的最后一個活動,需求分析等前期產生的錯誤直到后期的驗收測試才能發現.
1.從水平對應關系看
左邊是設計和分析,是軟件設計實現的過程,同時伴隨著質量保證活動——審核的過程,也就是靜態的測試過程;右邊是對左邊結果的驗證,是動態測試的過程,即對設計和分析的結果進行測試,以確認是否滿足用戶的需求。如:
l需求分析和功能設計對應驗收測試,說明在做需求分析、產品功能設計的同時,測試人員就可以閱讀、審查需求分析的結果,從而了解產品的設計特性、用戶的真正需求,確定測試目標,可以準備用例(Use Case)并策劃測試活動。
l當系統設計人員在做系統設計時,測試人員可以了解系統是如何實現的,基于什么樣的平臺,這樣可以設計系統的測試方案和測試計劃,并事先準備系統的測試環境,包括硬件和第三方軟件的采購。因為這些準備工作,實際上是要花去很多時間。
l當設計人員在做在做詳細設計時,測試人員可以參與設計,對設計進行評審,找出設計的缺陷,同時設計功能、新特性等各方面的測試用例,完善測試計劃,并基于這些測試用例以開發測試腳本。
l在編程的同時,進行單元測試,是一種很有效的辦法,可以盡快找出程序中的錯誤,充分的單元測試可以大幅度提高程序質量、減少成本。
從中可以看出,V模型使我們能清楚地看到質量保證活動和項目同時展開, 項目一啟動,軟件測試的工作也就啟動了,避免了瀑布模型所帶來的誤區——軟件測試是在代碼完成之后進行。
2.從垂直方向看
水平虛線上部表明,其需求分析、定義和驗收測試等主要工作是面向用戶,要和用戶進行充分的溝通和交流,或者是和用戶一起完成。水平虛線下部的大部分工作,相對來說,都是技術工作,在開發組織內部進行,主要是由工程師、技術人員完成。
從垂直方向看,越在下面,白盒測試方法使用越多,到了集成、系統測試,更多是將白盒測試方法和黑盒測試方法結合起來使用,形成灰盒測試方法。而在驗收測試過程中,由于用戶一般要參與,使用黑盒測試方法。
二、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模型中,軟件測試過程活動完全獨立,貫穿于整個產品的周期,與其他流程并發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段;軟件測試可以進行盡早的進行;軟件測試可以根據被測物的不同而分層次進行
各種模型的優點:
V模型: 強調了在整個軟件項目開發中需要經歷的若干個測試級別,并與每一個開發級別對應;忽略了測試的對象不應該僅僅包括程序,沒有明確指出對需求、設計的測試
W模型: 補充了V模型中忽略的內容,強調了測試計劃等工作的先行和對系統需求和系統設計的測試;與V模型相同,沒有對軟件測試的流程進行說明
H模型: 強調測試是獨立的,只要測試準備完成,就可以執行測試
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。