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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試基本方法介紹

    發布: 2009-12-25 10:49 | 作者: 不詳 | 來源: 領測國際測試網采編 | 查看: 122次 | 進入軟件測試論壇討論

    領測軟件測試網

      自頂向下集成是構造程序結構的一種增量式方式,它從主控模塊開始,按照軟件的控制層次結構,以深度優先或廣度優先的策略,逐步把各個模塊集成在一起。深度優先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據問題的特性確定。以下圖為例,若選擇了最左一條路徑,首先將模塊M1,M2,M5和M8集成在一起,再將M6集成起來,然后考慮中間和右邊的路徑。廣度優先策略則不然,它沿控制層次結構水平地向下移動。仍以下圖為例,它首先把M2、M3和M4與主控模塊集成在一起,再將M5和M6 和其他模塊集資集成起來。

      自頂向下綜合測試的具體步驟為:

      1、以主控模塊作為測試驅動模塊,把對主控模塊進行單元測試時引入的所有樁模塊用實際模塊替代;

      2、依據所選的集成策略(深度優先或廣度優先),每次只替代一個樁模塊;

      3、每集成一個模塊立即測試一遍;

      4、只有每組測試完成后,才著手替換下一個樁模塊;

      5、為避免引入新錯誤,須不斷地進行回歸測試(即全部或部分地重復已做過的測試)。

      從第二步開始,循環執行上述步驟,直至整個程序結構構造完畢。下圖中,實線表示已部分完成的結構,若采用深度優先策略,下一步將用模塊M7替換樁模塊S7,當然M7本身可能又帶有樁模塊,隨后將被對應的實際模塊一一替代。

      自頂向下集成的優點在于能盡早地對程序的主要控制和決策機制進行檢驗,因此較早地發現錯誤。缺點是在測試較高層模塊時,低層處理采用樁模塊替代,不能反映真實情況,重要數據不能及時回送到上層模塊,因此測試并不充分。解決這個問題有幾種辦法,第一種是把某些測試推遲到用真實模塊替代樁模塊之后進行,第二種是開發能模擬真實模塊的樁模塊;第三種是自底向上集成模塊。第一種方法又回退為非增量式的集成方法,使錯誤難于定位和糾正,并且失去了在組裝模塊時進行一些特定測試的可能性;第二種方法無疑要大大增加開銷;第三種方法比較切實可行,下面專門討論。

      2、自底向上集成

      自底向上測試是從“原子”模塊(即軟件結構最低層的模塊)開始組裝測試,因測試到較高層模塊時,所需的下層模塊功能均已具備,所以不再需要樁模塊。

      自底向上綜合測試的步驟分為:

      1、把低層模塊組織成實現某個子功能的模塊群(cluster);

      2、開發一個測試驅動模塊,控制測試數據的輸入和測試結果的輸出;

      3、對每個模塊群進行測試;

      4、刪除測試使用的驅動模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群。

      從第一步開始循環執行上述各步驟,直至整個程序構造完畢。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

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