• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試過程管理實踐介紹

    發表于:2008-10-29來源:作者:點擊數: 標簽:軟件測試管理實踐
    關鍵字: 軟件測試 軟件測試工程師 面試 問題 引言 1963年,在美國發生了這樣一件事:編程人員把一個FORTRAN程序的循環語句DO 5 I=1,3誤寫為DO 5 I=1.3。一點之差導致飛往火星的火箭爆炸,造成1000多萬美元的損失。這種情況的發生,迫使人們考慮在軟件投入
    關鍵字:軟件測試 軟件測試工程師 面試問題

    引言

        1963年,在美國發生了這樣一件事:編程人員把一個FORTRAN程序的循環語句DO 5 I=1,3誤寫為DO 5 I=1.3。一點之差導致飛往火星的火箭爆炸,造成1000多萬美元的損失。這種情況的發生,迫使人們考慮在軟件投入使用之前必須進行徹底的測試。今天,在軟件比較發達的國家,軟件測試已經成為一個獨立的產業,軟件公司紛紛建立獨立的測試隊伍研究測試技術并開展測試工作。中國的軟件測試起步較晚,但隨著我國軟件產業的蓬勃發展以及人們對軟件質量的重視,軟件測試正在成為一個新興的產業。近兩年來,國內新成立專業性測試機構10余家,一批批專業的軟件測試人員正涌現出來。每年國內都有大量的測試技術交流會議舉辦,有大量的測試研究論文在專業刊物上發表。在測試技術發展的同時,測試過程的管理顯得猶為重要。一個成功的測試項目,離不開對測試過程科學的組織和監控,過程管理已成為測試成功的重要保證。

    1 測試過程概述

    1.1 軟件測試過程概述

        軟件測試過程是一種抽象的模型,用于定義軟件測試的流程和方法。眾所周知,開發過程的質量決定了軟件的質量,同樣的,測試過程的質量將直接影響測試結果的準確性和有效性。軟件測試過程和軟件開發過程一樣,都遵循軟件工程原理,遵循管理學原理。
        隨著測試過程管理的發展,軟件測試專家通過實踐總結出了很多很好的測試過程模型。這些模型將測試活動進行了抽象,并與開發活動有機的進行了結合,是測試過程管理的重要參考依據。

    1.2 軟件測試過程模型介紹

    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模型指出軟件測試要盡早準備,盡早執行。不同的測試活動可以是按照某個次序先后進行的,但也可能是反復的,只要某個測試達到準備就緒點,測試執行活動就可以開展。

    其他模型

        除上述幾種常見模型外,業界還流傳著其他幾種模型,例如X模型、前置測試模型等。X模型提出針對單獨的程序片段進行相互分離的編碼和測試,此后通過頻繁的交接,通過集成最終合成為可執行的程序。前置測試模型體現了開發與測試的結合,要求對每一個交付內容進行測試。這些模型都針對其他模型的缺點提出了一些修正意見,但本身也可能存在一些不周到的地方。所以在測試過程管理中,正確選取過程模型是一個關鍵問題。

    1.3 軟件測試過程模型選取策略

        前面介紹的測試過程模型中,V模型強調了在整個項目開發中需要經歷的不同的測試級別,但忽視了測試的對象不應該僅僅是程序。而W模型在這一點上進行了補充,明確指出應該對需求、設計進行測試。但是V模型和W模型都沒有將一個完整的測試過程抽象出來,成為一個獨立的流程,這并不適合當前軟件開發中廣泛應用的迭代模型。H模型則明確指出測試的獨立性,也就是說只要測試條件成熟了,就可以開展測試。

      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>