products
產(chǎn)品分類 BECKHOFF模塊和國(guó)產(chǎn)模塊的概念和區(qū)別
BECKHOFF模塊是用來(lái)模擬被測(cè)試模塊的上一模塊,相當(dāng)于被測(cè)模塊的主程序。它接收數(shù)據(jù),將相關(guān)數(shù)據(jù)傳送給被測(cè)模塊,啟用被測(cè)模塊,并打印出相應(yīng)的結(jié)果。
BECKHOFF模塊可以通過(guò)模擬一系列用戶操作行為,比如選擇用戶界面上的某一個(gè)選項(xiàng)或者按下某個(gè)按鈕等,自動(dòng)調(diào)用被測(cè)試模塊中的函數(shù)。驅(qū)動(dòng)模塊(Driver)設(shè)置,使對(duì)模塊的測(cè)試不必與用戶界面真正交互。
BECKHOFF模塊是指模擬被測(cè)試的模塊所調(diào)用的模塊,而不是軟件產(chǎn)品的組成的部分。主模塊作為驅(qū)動(dòng)模塊,與之直接相連的模塊用樁模塊代替。在集成測(cè)試前要為被測(cè)模塊編制一些模擬其下模塊功能的“替身”模塊,以代替被測(cè)模塊的接口,接受或傳遞被測(cè)模塊的數(shù)據(jù),這些測(cè)試用的“假”模塊稱為被測(cè)模塊的樁模塊。
如果被測(cè)試的單元模塊需要調(diào)用其他模塊中的功能或者函數(shù)(method),我們就應(yīng)該設(shè)計(jì)一個(gè)和被調(diào)用模塊名稱相同的樁模塊來(lái)模擬被調(diào)用模塊。這個(gè)樁模塊本身不執(zhí)行任何功能僅在被調(diào)用時(shí)返回靜態(tài)值來(lái)模擬被調(diào)用模塊的行為。舉例說(shuō)明:如果被測(cè)試單元中需要調(diào)用另一個(gè)模塊customer的函數(shù)
BECKHOFF模塊這個(gè)函數(shù)應(yīng)該查詢數(shù)據(jù)庫(kù)后返回某一個(gè)客戶的地址。我們?cè)O(shè)計(jì)的同名樁模塊(Stub)中的同名函數(shù)并沒(méi)有真正對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢而僅模擬了這個(gè)行為,直接返回了一個(gè)靜態(tài)的地址例如"123 Newton Street"。樁模塊的設(shè)置使得單元測(cè)試的進(jìn)行成為一個(gè)相對(duì)獨(dú)立且簡(jiǎn)單的過(guò)程。
總結(jié):
樁模塊的使命除了使得程序能夠編譯通過(guò)之外,還需要模擬返回被代替的模塊的各種可能返回值(什么時(shí)候返回什么值需要根據(jù)測(cè)試用例的情況來(lái)決定)。
驅(qū)動(dòng)模塊的使命就是根據(jù)測(cè)試用例的設(shè)計(jì)去調(diào)用被測(cè)試模塊,并且判斷被測(cè)試模塊的返回值是否與測(cè)試用例的預(yù)期結(jié)果相符
BECKHOFF模塊通過(guò)編譯器的編譯也是不可能的。
那么怎樣才能測(cè)試B模塊呢?需要做:
1、寫兩個(gè)模塊Sd和Se分別代替D模塊和E模塊(函數(shù)名、返回值、傳遞的參數(shù)相同),這樣B模塊就可以通過(guò)編譯了。Sd模塊和Se模塊就是樁模塊。
2、寫一個(gè)模塊Da用來(lái)代替A模塊,里面包含main函數(shù),可以在main函數(shù)中調(diào)用B模塊,讓B模塊運(yùn)行起來(lái)。Da模塊就是驅(qū)動(dòng)模塊。
知識(shí)點(diǎn):
BECKHOFF模塊的使命除了使得程序能夠編譯通過(guò)之外,還需要模擬返回被代替的模塊的各種可能返回值(什么時(shí)候返回什么值需要根據(jù)測(cè)試用例
的情況來(lái)決定)。
BECKHOFF模塊的使命就是根據(jù)測(cè)試用例的設(shè)計(jì)去調(diào)用被測(cè)試模塊,并且判斷被測(cè)試模塊的返回值是否與測(cè)試用例的預(yù)期結(jié)果相符
021-39529831
成都028-86751041
點(diǎn)
擊
隱
藏