1. 程式人生 > >樁模組和驅動模組

樁模組和驅動模組

    在寫軟體工程第二遍文件時,在測試計劃測試條件那裡,提到了一個自己沒有聽過的詞,那就是樁模組,出於好奇,自己上網對其究竟是什麼查了查,看完一下子就明白了。

  Ø  概念

   u  樁模組

    樁模組:整合測試前要為被測模組編制一些模擬其下級模組功能的“替身”模組,以代替被測模組的介面,接受或傳遞被測模組的資料,這些專供測試用的“假”模組稱為被測模組的樁模組。

   u  驅動模組

    在這裡還是不得不提和其密不可分的另一個概念,那就是驅動模組。

     1.驅動模組:在大多數場合稱為"主程式",它接收測試資料並將這些資料傳遞到被測試模組,

     2.樁模組就是用來代替所測的子模組,它不能為空,但也不需要那個子模組的所有功能都實現,只要實現在一部分就行了;

     3.驅動模組就是用來代替主模組,用它來呼叫子模組。

簡而言之:被測模組上層為驅動模組,是呼叫被測模組的,被測模組下層為樁模組,是被被測模組呼叫的。

  Ø  舉例說明

   u  圖示說明

    假設現在專案組把任務分給了7個人,每個人負責實現一個模組。你負責的是B模組,你很優秀,第一個完成了編碼工作,現在需要開展單元測試工作,先分析結構圖:

    1、由於B模組不是最頂層模組,所以它一定不包含main函式(A模組包含main函式),也就不能獨立執行。   

    2、B模組呼叫了D模組和E模組,而目前D模組和E模組都還沒有開發好,那麼想讓B模組通過編譯器的編譯也是不可能的。

      那麼怎樣才能測試B模組呢?

    需要做:

    1、寫兩個模組Sd和Se分別代替D模組和E模組(函式名、返回值、傳遞的引數相同),這樣B模組就可以通過編譯了。Sd模組和Se模組就是樁模組。

    2、寫一個模組Da用來代替A模組,裡面包含main函式,可以在main函式中呼叫B模組,讓B模組執行起來。Da模組就是驅動模組。

     小結

a)樁模組的使命除了使得程式能夠編譯通過之外,還需要模擬返回被代替的模組的各種可能返回值(什麼時候返回什麼值需要根據測試用例的情況來決定)。

b)驅動模組的使命就是根據測試用例的設計去呼叫被測試模組,並且判斷被測試模組的返回值是否與測試用例的預期結果相符

 Ø  總結

    驅動模組是呼叫被測物件,樁是被測物件呼叫的虛擬塊,虛擬塊也是由測試人員寫的一個模組,就是那個所謂的樁。

    驅動模組是為了驅動被測模組而編寫的模擬塊,而樁模組相當於被測模組要呼叫的塊的虛擬。

    驅動模組主要完成以下事情:

      1、接受測試輸入;

      2、對輸入進行判斷;

      3、將輸入傳給被測單元,驅動被測單元執行;

      4、接受被測單元執行結果,並對結果進行判斷;

      5、將判斷結果作為用例執行結果輸出測試報告。