軟件測試過程模型介紹


V模型

    V模型最早是由Paul Rook在20世紀80年代后期提出的,旨在改進軟件開發的效率和效果。V模型反映出了測試活動與分析設計活動的關系。在圖1-1中,從左到右描述了基本的開發過程和測試行為,非常明確的標注了測試過程中存在的不同類型的測試,並且清楚的描述了這些測試階段和開發過程期間各階段的對應關系。

1-1 軟件測試V模型

    V模型指出,單元和集成測試應檢測程序的執行是否滿足軟件設計的要求;系統測試應檢測系統功能、性能的質量特性是否達到系統要求的指標;驗收測試確定軟件的實現是否滿足用戶需要或合同的要求。
V模型存在一定的局限性,它僅僅把測試作為在編碼之后的一個階段,是針對程序進行的尋找錯誤的活動,而忽視了測試活動對需求分析、系統設計等活動的驗證和確認的功能。

W模型

    W模型由Evolutif公司公司提出,相對於V模型,W模型增加了軟件各開發階段中應同步進行的驗證和確認活動。如圖1-2所示,W模型由兩個V字型模型組成,分別代表測試與開發過程,圖中明確表示出了測試與開發的並行關系。
    W模型強調:測試伴隨着整個軟件開發周期,而且測試的對象不僅僅是程序,需求、設計等同樣要測試,也就是說,測試與開發是同步進行的。W模型有利於盡早地全面的發現問題。例如,需求分析完成后,測試人員就應該參與到對需求的驗證和確認活動中,以盡早地找出缺陷所在。同時,對需求的測試也有利於及時了解項目難度和測試風險,及早制定應對措施,這將顯著減少總體測試時間,加快項目進度。
    但W模型也存在局限性。在W模型中,需求、設計、編碼等活動被視為串行的,同時,測試和開發活動也保持着一種線性的前后關系,上一階段完全結束,才可正式開始下一個階段工作。這樣就無法支持迭代的開發模型。對於當前軟件開發復雜多變的情況,W模型並不能解除測試管理面臨着困惑。

 1-2 軟件測試W模型

H模型

    V模型和W模型均存在一些不妥之處。如前所述,它們都把軟件的開發視為需求、設計、編碼等一系列串行的活動,而事實上,這些活動在大部分時間內是可以交叉進行的,所以,相應的測試之間也不存在嚴格的次序關系。同時,各層次的測試(單元測試、集成測試、系統測試等)也存在反復觸發、迭代的關系。
為了解決以上問題,有專家提出了H模型。它將測試活動完全獨立出來,形成了一個完全獨立的流程,將測試准備活動和測試執行活動清晰地體現出來,如圖1-3所示。

    

1-3 軟件測試H模型

    這個示意圖僅僅演示了在整個生產周期中某個層次上的一次測試“微循環”。圖中標注的其他流程可以是任意的開發流程。例如,設計流程或編碼流程。也就是說,只要測試條件成熟了,測試准備活動完成了,測試執行活動就可以(或者說需要)進行了。
 
    H模型揭示了一個原理:軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程並發地進行。H模型指出軟件測試要盡早准備,盡早執行。不同的測試活動可以是按照某個次序先后進行的,但也可能是反復的,只要某個測試達到准備就緒點,測試執行活動就可以開展。


免責聲明!

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



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