軟體測試系列之軟體測試過程模型(四)

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   使用   ar   strong   

                                                 

回顧往昔:

      在軟體開發的不斷實踐過程中,人們積累經驗教訓,預估未來發展,總結出了很多的開發模型,比較典型的開發模型有,邊做邊改模型,瀑布模型,快速原型模型、螺旋模型,增量模型,演化模型,噴泉模型,智能模型,混合模型還有RAD模型以及最近比較流行的,基於網路的物件導向的模型——RUP(RationalUnifiedProcess,統一軟體開發過程。但是遺憾的是,這些模型中,沒有給予測試足夠的重視和詮釋。所以,才會有後來的軟體測試過程模型的誕生,在這些測試模型中,兼顧了軟體開發過程,對開發與測試做了很好的融合。

 

一、簡單瞭解軟體測試過程模型

 

        軟體測試和軟體開發一樣,都遵循軟體工程原理,遵循管理學原理。測試專家通過實踐總結出了很多很好的測試模型。這些模型將測試活動進行了抽象,明確了測試與開發之間的關係,是測試管理的重要參考依據。今天我主要向大家介紹五種測試模型。分別為:V模型,W模型,H模型,X模型和前置測試模型。接下來,讓我們一一分析:

 

二、逐一認識

 

         每一類分別介紹,曆史來源,具體原理,有圖有真相。也可以說一下它們的不同之處

 

V模型

 

                                        

 

原理:V模型是軟體開發瀑布模型的變種,主要反映測試活動與分析和設計的關係,從左至右,描述了基本的開發過程和測試行為。V模型的策略既包括低層測試又包括了高層測試,低層測試是為了原始碼的正確性,高層測試是為了使整個系統滿足使用者的需求。

,圖中的箭頭表示時間方向,左邊下降的是開發過程各階段,與此相對應的是右邊上升的部分,即個測試過程的各個階段。

它在測試中的地位,就和瀑布模型在開發中的地位一樣,是一種最基礎的模型,其他模型都是從這個模型演化來的。

 

價值體現:它非常明確地標明了測試過程中存在的不同層級,強調了在整個軟體項目開發中需要經曆的若干個測試層級,並與每一個開發層級對應。

 

局限性:把測試作為編碼之後的最後一個活動,需求分析等前期產生的錯誤直到後期的驗收測試才能發現。忽略了測試的對象不應該僅僅包括程式,沒有明確指出對需求、設計的測試。言簡意賅的說:沒有明確說明早期的測試,不能體現“儘早地和不斷地進行軟體測試”的原則。

 

 W模型

   

 

原理:在V模型中增加軟體各開發階段應同步進行的測試,別演化為一種W模型,因為實際上開發是“V”,測試也是與此相併行的“V”。W模型可以說是V模型自然而然的發展。它強調,測試伴隨著整個軟體開發週期,而且測試的對象不僅僅是層序,需求,功能和設計同樣要測試。

 

價值體現:我們可以認為,W模型,測試與開發是同步進行的,從而有利於今早的發現問題。強調了測試計劃等工作的先行和對系統需求和系統設計的測試;

 

局限性:仍把開發活動看成是從需求開始到編碼結束的串列活動,只有上一階段完成後,才可以開始下一階段的活動,不能支援迭代,自發性以及變更調整。

 

H模型

                                               

 

原理:H模型將測試活動從開發流程完全獨立出來,使測試流程形成一個完全獨立的流程,將測試準備活動與測試執行活動清晰地體現出來。

圖中的流程僅僅示範了再整個生產周期中某個層次上的一次測試“微迴圈”。圖中的其他流程可以是任意開發流程。也就是說,只要測試條件成熟了,測試準備活動完成了,測試執行活動就可以進行了。

 

價值體現:軟體測試是一個獨立的流程,貫穿於產品的整個生命週期,與其他流程並發的進行。軟體測試原則“儘早準備,儘早執行”;強調測試是獨立的,只要測試準備完成,就可以執行測試。

 

局限性:本模型太過於模型化,重點在於理解其中的意義指導實際工作,而模型本身並無太多的可執行檔指導意義。

 

X模型

                       

 

原理:X模型左邊描述的是針對單獨程式片段所進行的相互分離的編碼和測試,此後,將進行頻繁的交接,通過整合最終合成為可執行檔程式。這一點在圖的右上方得以體現,而且這額可執行程式還需要進行測試,已通過整合測試的成品可以進行封版並提交給使用者,也可以作為更大規模和範圍內整合的一部分。同時,X模型還定位了探索性測試,右下方所示,這是不進行事先計劃的特殊類型的測試,例如“我就這麼測一下,結果會怎麼樣”。

 

價值體現:探索性測試,能夠協助有經驗的測試人員在測試計劃之外發現更多的軟體錯誤。

 

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

 

前置測試模型

                 

 

原理:前置測試模型將開發與測試的聲明周期整合在一起,表示了項目聲明周期從開始到結束之間的關鍵行為。它對每一個交付內容進行測試(圖中的橢圓框表示了其他一些要測試的對象),在設計階段進行測試計劃和測試設計,讓驗收測試和技術測試保持相互獨立。總之,它是一個將測試和開發緊密結合的模型,該模型提供了輕鬆的方式,可以使你的項目加快素的。。

 

價值體現:前置測試能給需要使用測試技術的開發人員、測試人員、專案經理和使用者等帶來很多不同於傳統方法的內在的價值。與以前的方法中很少劃分優先順序所不同的是,前置測試用較低的成本來及早發現錯誤,並且充分強調了測試對確保系統的高品質的重要意義。它不僅能節省時間,而且可以減少那些令開發人員十分厭惡的重複工作。

 

三、總結

 

         在這些模型中,V模型強調了在整個軟體項目開發中需要經曆的若干個測試層級,但是它沒有明確指出應該對軟體的需求、設計進行測試,在這一點上,W模型得到了補充。但是W模型和V模型一樣沒有專門針對測試的流程說明。隨著軟體測試的不斷髮展,第三方測試已經獨立出來這個時候,H模型就得到了相應的體現,表現為測試獨立。X模型和前置測試模型又在此基礎上增加了許多不確定的因素處理情況,這就對應了實際情況中,項目經常變更的情況發生。

        總而言之,在實際的項目中,我們要合理應用這些模型的優點,比如在W模型下,合理運用H模型的思想進行獨立的測試,或者在前置測試模型中,參考X模型的一個程式片段也需要相關的整合測試的理論等,將測試和開發緊密結合,尋找最適合的測試方案。


軟體測試系列之軟體測試過程模型(四)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.