qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          軟件測試模型綜述

            引言
            當前主流的軟件生命周期模型有瀑布模型、原型模型、螺旋模型、增量模型、漸進模型、快速軟件開發以及Rational統一過程等,但是在這些模型中,軟件測試的價值并未得以足夠的體現,也沒有給軟件測試以足夠的重視,利用這些模型無法更好的指導測試工作。本文對軟件測試模型做了循序漸進的剖析,可以讓測試相關工作者能夠對軟件測試模型能夠有個較為深入的認識。
            二、模型解讀
            1.V模型
            在軟件測試方面,V模型是最廣為人知的模型,他是軟件開發瀑布模型的變種,V模型是在快速應用開發(RapApplicationDevelopment,RAD)模型基礎上演變而來,由于整個開發過程構成一個V字型而得名,詳情見圖1。盡管很多富有實際經驗的測試人員還是不太熟悉V模型,或者其它的模型。V模型已存在了很長時間,和瀑布開發模型有著一些共同的特性,由此也和瀑布模型一樣地受到了批評和質疑。V模型中的過程從左到右,描述了基本的開發過程和測試行為。V模型的價值在于它非常明確地標明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發過程期間各階段的對應關系。
            
          圖1.V模型
            從上圖可以看出:
            強調軟件開發的協作和速度,反映測試活動和分析設計關系,將軟件實現和驗證有機結合起來;
            明確界定了測試過程存在不同的級別;
            明確了不同的測試階段和研發過程中的各個階段的對應關系;
            僅僅把測試過程作為在需求分析、系統設計及編碼之后的一個階段,忽視了測試對需求分析;
            系統設計的驗證,一直到后期的驗收測試才被發現;
            沒有明確的說明早起的測試,不能體現“盡早地、不斷地進行軟件測試”的原則。
            2.W模型
            V模型的局限性在于沒有明確地說明早期的測試,無法體現“盡早地和不斷地進行軟件測試”的原則。在V模型中增加軟件各開發階段應同步進行的測試,演化為W模型(如下圖)。在模型中不難看出,開發是“V”,測試是與此并行的“V”,詳情見圖2。基于“盡早地和不斷地進行軟件測試”的原則,在軟件的需求和設計階段的測試活動應遵循IEEE1012-1998《軟件驗證與確認(V&V)》的原則。
            W模型由Evolutif公司提出,相對于V模型,W模型更科學。W模型是V模型的發展,強調的是測試伴隨著整個軟件開發周期,而且測試的對象不僅僅是程序,需求、功能和設計同樣要測試。測試與開發是同步進行的,從而有利于盡早地發現問題。
            W模型也有局限性。W模型和V模型都把軟件的開發視為需求、設計、編碼等一系列串行的活動,無法支持迭代、自發性以及變更調整。
            W模型,也就是雙V模型,并不是在V模型上又搞出一個來,而是開發階段與測試設計階段同步進行,比如在進行需求分析,軟件功能規格說明書評審,軟件功能規格說明書基線化后,系統測試計劃,方案,用例也設計完畢,接著是概要設計與集成測試設計,詳細設計與單元測試設計,直到編碼完成后,進行代碼審查,繼續執行單元測試、集成測試、系統測試。
            
          圖2.W模型
            從上圖可以看出:
            W模型強調測試伴隨著整個軟件開發周期,測試與開發并行進行,有利于盡早發現問題;
            測試的對象不單單是程序,還有需求和設計等;
            W模型有利于即時了解項目的測試風險,及早制定應對方案,加快項目進度;
            軟件開發和測試保持著線性的前后關系,無法支持迭代、自發性以及需求變更調整等。

          3.H模型
            在H模型中,軟件測試的過程活動完全獨立,形成一個獨立的流程,貫穿于整個軟件的聲明周期,與其他流程并發進行,某個測試點準備就緒后就可以從測試準備階段進行到測試執行階段,軟件測試活動可以根據被測產品的不同而分層進行,詳情如圖3。
            圖3.H模型
            從上圖可以看出:
            軟件測試不僅僅指測試的執行,還包括很多其他的活動;
            軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程并發地進行;
            軟件測試要盡早準備,盡早執行;
            軟件測試是根據被測物的不同而分層次進行的。不同層次的測試活動可以是按照某個次序先后進行的,但也可能是反復的;
            把軟件的開發視為需求、設計、編碼等一系列串行活動,但實際上,這些活動可以交叉的進行,嚴格的劃分只是一種理想狀態。
            4.X模型
            X模型也是對V模型的改進,X模型提出針對單獨的程序片段進行相互分離的編碼和測試,此后通過頻繁的交接,通過集成最終合成為可執行的程序,詳情見圖4。
            
          圖4.X模型
            從上圖可以看出:
            X模型并不要求在進行作為創建可執行程序(圖中右上方)的一個組成部分的集成測試之前,對每一個程序片段都進行單元測試(圖中左側的行為);
            X模型沒能提供是否要跳過單元測試的判斷準則;
            X模型填補了V模型和X模型的缺陷,并可為測試人員和開發人員帶來明顯的幫助;
            X模型還定位了探索性測試(右下方)。這是不進行事先計劃的特殊類型的測試,諸如“我這么測一下結果會怎么樣?”,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟件錯誤。
            X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將進行頻繁的交接,通過集成最終成為可執行的程序,然后再對這些可執行程序進行測試。己通過集成測試的成品可以進行封裝并提交給用戶,也可以作為更大規模和范圍內集成的一部分。多根并行的曲線表示變更可以在各個部分發生。由圖中可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。
          作者簡介:
          王超,花名于龍,2007年計算機軟件與理論專業碩士畢業,先后在微軟全球技術支持中心、SAP中國研究院、淘寶網從事自動化測試用例開發、自動化框架研發、測試平臺建設、信息系統研發、測試工具研發團隊管理等工作,目前負責支付寶產品質量部測試工具研發團隊。
          版權聲明:本文出自支付寶產品質量部 王超(花名于龍),51Testing軟件測試網原創出品,未經明確的書面許可,任何人或單位不得對本文進行復制、轉載或鏡像,否則將追究法律責任。

          posted on 2014-02-26 11:05 順其自然EVO 閱讀(1419) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年2月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          2324252627281
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 龙游县| 蓬安县| 辽中县| 霍州市| 黔江区| 伊春市| 三都| 康平县| 宿迁市| 桂林市| 蕉岭县| 黑水县| 常宁市| 漳平市| 乌海市| 曲阳县| 托里县| 隆昌县| 常宁市| 新巴尔虎右旗| 印江| 巫溪县| 东乌珠穆沁旗| 棋牌| 孝感市| 海兴县| 云安县| 台中市| 南漳县| 福贡县| 松江区| 深圳市| 镇安县| 登封市| 亚东县| 松桃| 长白| 永靖县| 搜索| 江达县| 德昌县|