從第二步開始,循環執行上述步驟,直至整個程序結構構造完畢。下圖中,實線表示已部分完成的結構,若采用深度優先策略,下一步將用模塊M7替換樁模塊S7,當然M7本身可能又帶有樁模塊,隨后將被對應的實際模塊一一替代。
數據不能及時回送到上層模塊,因此測試并不充分。解決這個問題有幾種辦法,第一種是把某些測試推遲到用真實模塊替代樁模塊之后進行,第二種是開發能模擬真實模塊的樁模塊;第三種是自底向上集成模塊。第一種方法又回退為非增量式的集成方法,使錯誤難于定位和糾正,并且失去了在組裝模塊時進行一些特定測試的可能性;第二種方法無疑要大大增加開銷;第三種方法比較切實可行,下面專門討論。
自頂向下集成的優點在于能盡早地對程序的主要控制和決策機制進行檢驗,因此較早地發現錯誤。缺點是在測試較高層模塊時,低層處理采用樁模塊替代,不能反映真實情況,重要2自底向上集成
自底向上測試是從“原子”模塊(即軟件結構最低層的模塊)開始組裝測試,因測試到較高層模塊時,所需的下層模塊功能均已具備,所以不再需要樁模塊。
自底向上綜合測試的步驟分為:
1 把低層模塊組織成實現某個子功能的模塊群(cluster);
2 開發一個測試驅動模塊,控制測試數據的輸入和測試結果的輸出;
3 對每個模塊群進行測試;
4 刪除測試使用的驅動模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群。
從第一步開始循環執行上述各步驟,直至整個程序構造完畢。