軟件單元測試的組織方法 單元測試方法
元測試的組織方法
本文描述了三種單元測試的組織方法:自上而下法,自下而上法和分離法。組織方法是制定
單元測試策略和擬制測試計劃的關鍵因素;選擇不適當的方法會對單元測試成本和軟件維護
開支造成不利影響。這里將推薦一種基于分離法的單元測試策略。
一、介紹
單元測試是對軟件單個組件(單元)進行的測試。盡管它的編碼是不同類型的,而且有兩個
不同的階段,但單元測試通常被認為是一種組合代碼以及軟件生命周期單元測試階段的一部
分。在Ada,C 和C++程序中最基本的設計和代碼單元是單個的子程序(如過程,函數,成員
函數)。Ada 和C++提供將基本的單元群組成包(這里指Ada 語言)和復合類(C++語言)的
功能。而針對Ada 和C++程序的單元測試就是要測試語境中所包含的包和類。當設計一個單
元測試的策略時,可以采用三種基本的組織方法。它們分別是自上而下法、自下而上法和分
離法。在接下來的第二、第三和第四部分將對上述三種方法的詳細內容、各自的優點和缺點
分別進行介紹。在文章中要一直用到測試驅動和樁模塊這兩個概念。所謂的測試驅動是指能
使軟件執行的軟件,它的目的就是為了測試軟件,提供一個能設置輸入參數的框架,并執行
這個框架單元以得到相應的輸出參數。而樁模塊是指一個模擬單元,用這個模擬單元來替代
真實的單元完成測試。
二、自上而下的測試
1. 詳述
在自上而下的測試過程中,每個單元是通過使用它們來進行測試的,這個過程是由調用這些
被測單元的其他獨立的單元完成的。首先測試最高層的單元,將所有的調用單元用樁模塊替
換。接著用實際的調用單元替換樁模塊,而繼續將較低層次的單元用樁模塊替換。重復這個
過程直到測試了最底層的單元。自上而下測試法需要測試樁,而不需要測試驅動。圖2.1 描
述了使用測試樁和一些已測試單元來測試單元D 的過程,假設單元A,B,C 已經用自上而下