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