什麼是V、W、X模型?

zhusongziye發表於2017-09-02

V模型

V模型是我們熟知的瀑布模型的一種改進,由Paul Rook在1980年率先提出的,在1990年出現在英國國家計算中心的出版物中,旨在提高軟體開發的效率和有效性。瀑布模型將軟體生命週期劃分為計劃、分析、設計、編碼、測試和維護六個階段,由於早期的錯誤可能要等到開發後期的測試階段才能發現,所以可能帶來嚴重的後果。

V模型就是在這點改進了瀑布模型,在軟體開發的生存期,開發活動和測試活動幾乎同時開始,這兩個並行的動態的過程就會極大的減少bug和error出現的機率。

 

V模型中的過程從左到右,描述了基本的開發過程和測試行為。大體劃分階段為需求分析、概要設計、詳細設計、編碼、單元測試、整合測試、系統測試、驗收測試。它非常明確地標明瞭測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關係。

     系統測試所對應的是需求分析環節,也就是說系統測試的測試用例是根據需求規格說明書設計的,開發人員根據需求規格說明書來對軟體進行概要設計,測試人員根據需求規格說明書設計出系統測試用例。概要設計之後,開發人員根據概要設計對軟體進行詳細設計,測試人員根據概要設計設計出整合測試用例。詳細設計之後,開發人員根據詳細設計進行編碼,測試人員根據詳細設計設計出單元測試用例。編碼完成之後,測試人員根據單元測試用例對設定的件的測試單元進行測試,單元測試完成之後,進行整合測試,然後進行系統測試,最後進行驗收測試。

 

侷限性:把測試過程作為在需求分析、系統設計及編碼之後的一個階段。忽視了測試對需求分析,系統設計的驗證,一直到後期的驗收測試才被發現。

解決的思路是,測試在軟體做需求分析的同時就會有測試用例的跟蹤,這樣,可以儘快找出程式錯誤和需求偏離,從而更高效的提高程式質量,最大可能的減少成本,同時滿足使用者的實際軟體需求。

 

適用專案範圍:

一般適用於一些傳統資訊系統應用的開發,而一些高效能高風險的系統、網際網路軟體,或一個系統難以被具體模組化的時候,就比較難做成V模式所需的各種構件,需要更強調迭代的開發模型或者敏捷開發模型。


W模型

W模型由Evolutif公司提出,是V模型的發展。


   W模型由兩個V字型模型組成,分別代表測試與開發過程,圖中明確表示出了測試與開發的並行關係。相對於V模型,W模型更科學。強調的是測試伴隨著整個軟體開發週期,而且測試的物件不僅僅是程式,需求、功能和設計同樣要測試。測試與開發是同步進行的,從而有利於儘早地發現問題。


侷限性:

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


X模型

X模型的基本思想是由Marick提出的,由Robin F.Goldsmith先生在自己的文章裡將其思想定義為X模型,X模型其目標是彌補V模型的一些缺陷。

    Marick對V模型的最主要批評是V模型無法引導專案的全部過程。他認為一個模型必須能處理開發的所有方面,包括交接,頻繁重複的整合,以及需求文件的缺乏等等。


   X模型的左邊描述的是針對單獨程式片段所進行的相互分離的編碼和測試,此後將進行頻繁的交接,通過整合最終成為可執行的程式,然後再對這些可執行程式進行測試。己通過整合測試的成品可以進行封裝並提交給使用者,也可以作為更大規模和範圍內整合的一部分。多根並行的曲線表示變更可以在各個部分發生。

   由圖中(右下方)可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊型別的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟體錯誤。


侷限性:可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。



相關文章