測試基礎【第二篇】軟件測試模型


V模型

在軟件測試方面,V模型是最廣為人知的模型,盡管很多富有實際經驗的測試人員還是不太熟悉V模型,或者其它的模型。V模型已存在了很長時間,和瀑布開發模型有着一些共同的特性,由此也和瀑布模型一樣地受到了批評和質疑。V模型中的過程從左到右,描述了基本的開發過程和測試行為。V模型的價值在於它非常明確地標明了測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關系。
局限性:把測試作為編碼之后的最后一個活動,需求分析等前期產生的錯誤直到后期的驗收測試才能發現。測試工作在編碼完成后才開始進行,不符合軟件測試的“3早”原則。

 

W模型

V模型的局限性在於沒有明確地說明早期的測試,無法體現“盡早地和不斷地進行軟件測試” 的原則。在V模型中增加軟件各開發階段應同步進行的測試,演化為W 模型(如下圖)。在模型中不難看出,開發是“V”,測試是與此並行的“V”。基於“盡早地和不斷地進行軟件測試”的原則,在軟件的需求和設計階段的測試活動應遵循IEEE1012-1998《軟件驗證與確認(V&V)》的原則。
W模型由Evolutif公司提出,相對於V模型,W模型更科學。W模型是V模型的發展,強調的是測試伴隨着整個軟件開發周期,而且測試的對象不僅僅是程序,需求、功能和設計同樣要測試。測試與開發是同步進行的,從而有利於盡早地發現問題。比如在進行需求分析,SRS評審,SRS基線化后,系統測試計划,方案,用例也設計完畢,接着是概要設計與集成測試設計,詳細設計與單元測試設計,直到編碼完成后,進行代碼審查,繼續執行UT,IT,ST。

W模型:用戶需求(用戶需求V&V、驗收測試設計與評審)→→需求分析(需求V&V、系統測試設計與評審)→→概要設計(概要設計V&V、集成測試設計與評審)→→詳細設計(詳細設計V&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模型: 強調測試是獨立的,只要測試准備完成,就可以執行測試。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM