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

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

  • <strong id="5koa6"></strong>
  • 關于集成測試的相關認識(2)

    發表于:2015-11-18來源:uml.org.cn作者:zhaolixin007點擊數: 標簽:集成測試
    如此重復直到完成所有模塊的測試。 一般來說,都是考慮基于系統測試功能分解的集成測試,通過樹結構或文字的形式表示分解出的模塊功能圖。 樹形圖

      如此重復直到完成所有模塊的測試。

      一般來說,都是考慮基于系統測試功能分解的集成測試,通過樹結構或文字的形式表示分解出的模塊功能圖。

      樹形圖表示一個擁有6個模塊的功能分解樹,集成的順序有多種選擇:從樹頂開始向下(自頂向下集成)、從樹底開始向上(自底向上集成)、自頂向下和自底向上兩種方式組合起來(三明治集成,或叫混合集成)。這些集成順序都是假設模塊已經通過單獨測試。

      自頂向下集成從主程序(樹根)開始。所有被主程序調用的下層模塊都作為“樁模塊”出現,樁模塊就是模擬被調用模塊的一次性代碼。一般來說,測試人員要開發樁模塊,開發了主程序所需的所有樁模塊之后,就可以測試主程序,就像它是一個獨立模塊一樣,使用適當的黑盒測試和白盒測試技術進行測試。

      上圖所示為一個系統的集成過程。方框都是用來代替對應模塊的樁程序,首先對主程序A進行測試,用三個樁程序代替其調用的三個模塊,然后逐步采用實際的模塊取代這些樁模塊。如果新加入的實際模塊調用其他的模塊,則也需要為其開發相應的樁模塊。如此反復,直到所有模塊都被集成。

      為了能夠準確地實施測試,應當讓樁程序正確而有效地模擬子模塊的功能和合理的接口,不能是只包含返回語句或只顯示該模塊已調用的信息,而不執行任何功能的啞樁程序。如果不能使樁程序正確地向上傳遞有用的信息,可以采用以下解決辦法:

      將很多測試推遲到樁程序用實際模塊替代了之后進行;

      進一步開發能模擬實際模塊功能的樁程序;

      自底向上集成和測試軟件

      自頂向下集成方式的缺點是需要建立樁程序。要使樁程序能夠模擬實際子模塊的功能十分困難,同時涉及復雜算法,真正輸入/輸出的模塊一般在底層,他們是最容易出問題的模塊,到測試和集成的后期才遇到這些模塊,一旦發現問題導致過多的回歸測試。

      優點是能夠較早地發現在主要控制方面的問題。

      自底向上集成是從樹的葉子開始,并編寫相應的測試驅動程序來代替調用的模塊。相對自頂向下集成需要開發的樁,要開發的測試驅動的數量要少些。大多數系統在接近葉模塊時,都有高扇出低扇入的特點,扇出是指該模塊直接調用的下級模塊的個數;扇入是指直接調用該模塊的上級模塊的個數。但是測試驅動程序比樁程序復雜。

      上圖是一個自底向上集成的過程。隨著集成層次向上移動,驅動程序將大為減少。如果對程序模塊結構的最上面兩層模塊采用自頂向下進行集成和測試,可以明顯地減少驅動模塊的數目,而且可以大大減少把幾個系統集成起來所需要做的工作。

      自底向上集成方式的缺點是“程序一直未能作為一個實體存在,直到最后一個模塊加上去后才形成一個實體”。就是說,在自底向上集成和測試的過程中,對主要的控制直到最后才接觸到。

      優點是不需要樁程序,同時由于涉及到復雜算法和真正輸入/輸出的模塊最先得到集成和測試,可以把最容易出問題的部分在早期解決。此外,自底向上集成的方式可以實施多個模塊的并行測試,提高測試效率。

      混合集成測試就是把前面介紹的兩種方式結合起來進行集成和測試。這樣可以兼具兩者的優點。下面介紹3種常見的混合式增殖方式:

      衍變的自頂向下的增殖方式:它的基本思想是強化對輸入/輸出模塊和引入新算法模塊的測試,并自底向上集成為功能相當完整且相對獨立的子系統,然后由主模塊開始自頂向下進行增殖測試。

      自底向上- 自頂向下的增殖測試:它首先對含讀操作的子系統自底向上直至根結點模塊進行集成和測試,然后對含寫操作的子系統作自頂向下進行集成與測試。

      回歸測試:這種方式采取自頂向下的方式測試所修改的模塊及其子模塊,然后將這一部分視為子系統,再自底向上測試,以檢查該子系統與其上級模塊的接口是否匹配。

    原文轉自:http://www.uml.org.cn/Test/201202024.asp

    老湿亚洲永久精品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>