驅(qū)動模塊、樁模塊、單元測試

驅(qū)動模塊、樁模塊、單元測試

ID:40513661

大?。?0.68 KB

頁數(shù):4頁

時間:2019-08-03

驅(qū)動模塊、樁模塊、單元測試_第1頁
驅(qū)動模塊、樁模塊、單元測試_第2頁
驅(qū)動模塊、樁模塊、單元測試_第3頁
驅(qū)動模塊、樁模塊、單元測試_第4頁
資源描述:

《驅(qū)動模塊、樁模塊、單元測試》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、驅(qū)動模塊:驅(qū)動模塊是用來模擬被測試模塊的上一級模塊,相當于被測模塊的主程序。它接收數(shù)據(jù),將相關(guān)數(shù)據(jù)傳送給被測模塊,啟用被測模塊,并打印出相應(yīng)的結(jié)果。傳統(tǒng)的單元測試包括了驅(qū)動模塊(driver)和樁模塊(stub)。驅(qū)動模塊的目的很單純,就是為了訪問類庫的屬性和方法,來檢測類庫的功能是否正確;Normal002falsefalsefalseEN-USKOX-NONEMicrosoftInternetExplorer4如果被測試模塊中的函數(shù)是提供給其他函數(shù)調(diào)用的,在設(shè)計測試用例時就應(yīng)該設(shè)計驅(qū)動模塊(Driver)。舉例來說:驅(qū)動模塊(Driver)可以通過模擬一

2、系列用戶操作行為,比如選擇用戶界面上的某一個選項或者按下某個按鈕等,自動調(diào)用被測試模塊中的函數(shù)。驅(qū)動模塊(Driver)設(shè)置,使對模塊的測試不必與用戶界面真正交互。樁模塊:樁模塊(Stub)是指模擬被測試的模塊所調(diào)用的模塊,而不是軟件產(chǎn)品的組成的部分。主模塊作為驅(qū)動模塊,與之直接相連的模塊用樁模塊代替。在集成測試前要為被測模塊編制一些模擬其下級模塊功能的“替身”模塊,以代替被測模塊的接口,接受或傳遞被測模塊的數(shù)據(jù),這些專供測試用的“假”模塊稱為被測模塊的樁模塊。如果被測試的單元模塊需要調(diào)用其他模塊中的功能或者函數(shù)(method),我們就應(yīng)該設(shè)計一個和被調(diào)用模

3、塊名稱相同的樁模塊(Stub)來模擬被調(diào)用模塊。這個樁模塊本身不執(zhí)行任何功能僅在被調(diào)用時返回靜態(tài)值來模擬被調(diào)用模塊的行為。舉例說明:如果被測試單元中需要調(diào)用另一個模塊customer的函數(shù)getCustomerAddress(customerID:Integer),這個函數(shù)應(yīng)該查詢數(shù)據(jù)庫后返回某一個客戶的地址。我們設(shè)計的同名樁模塊(Stub)中的同名函數(shù)并沒有真正對數(shù)據(jù)庫進行查詢而僅模擬了這個行為,直接返回了一個靜態(tài)的地址例如"123NewtonStreet"。樁模塊(Stub)的設(shè)置使得單元測試的進行成為一個相對獨立且簡單的過程。單元測試:單元測試(uni

4、ttesting),是指對軟件中的最小可測試單元進行檢查和驗證。對于單元測試中單元的含義,一般來說,要根據(jù)實際情況去判定其具體含義,如C語言中單元指一個函數(shù),Java里單元指一個類,圖形化的軟件中可以指一個窗口或一個菜單等??偟膩碚f,單元就是人為規(guī)定的最小的被測功能模塊。單元測試是在軟件開發(fā)過程中要進行的最低級別的測試活動,軟件的獨立單元將在與程序的其他部分相隔離的情況下進行測試。在一種傳統(tǒng)的結(jié)構(gòu)化編程語言中,比如C,要進行測試的單元一般是函數(shù)或子過程。在像C++這樣的面向?qū)ο蟮恼Z言中,要進行測試[1]??的基本單元是類。對Ada語言來說,開發(fā)人員可以選擇是

5、在獨立的過程和函數(shù),還是在Ada包的級別上進行單元測試。單元測試的原則同樣被擴展到第四代語言(4GL)的開發(fā)中,在這里基本單元被典型地劃分為一個菜單或顯示界面。經(jīng)常與單元測試聯(lián)系起來的另外一些開發(fā)活動包括代碼走讀(Codereview),靜態(tài)分析(Staticanalysis)和動態(tài)分析(Dynamicanalysis)。靜態(tài)分析就是對軟件的源代碼進行研讀,查找錯誤或收集一些度量數(shù)據(jù),并不需要對代碼進行編譯和執(zhí)行。動態(tài)分析就是通過觀察軟件運行時的動作,來提供執(zhí)行跟蹤,時間分析,以及測試覆蓋度方面的信息。詳解:單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于

6、檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。例如,你可能把一個很大的值放入一個有序list中去,然后確認該值出現(xiàn)在list的尾部?;蛘撸憧赡軙淖址袆h除匹配某種模式的字符,然后確認字符串確實不再包含這些字符了。單元測試是由程序員自己來完成,最終受益的也是程序員自己??梢赃@么說,程序員有責(zé)任編寫功能代碼,同時也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。工廠在組裝一臺電視機之前,會對每個元件都進行測試,這,就是單元測試。其實我

7、們每天都在做單元測試。你寫了一個函數(shù),除了極簡單的外,總是要執(zhí)行一下,看看功能是否正常,有時還要想辦法輸出些數(shù)據(jù),如彈出信息窗口什么的,這,也是單元測試,把這種單元測試稱為臨時單元測試。只進行了臨時單元測試的軟件,針對代碼的測試很不完整,代碼覆蓋率要超過70%都很困難,未覆蓋的代碼可能遺留大量的細小的錯誤,這些錯誤還會互相影響,當BUG暴露出來的時候難于調(diào)試,大幅度提高后期測試和維護成本,也降低了開發(fā)商的競爭力??梢哉f,進行充分的單元測試,是提高軟件質(zhì)量,降低開發(fā)成本的必由之路。對于程序員來說,如果養(yǎng)成了對自己寫的代碼進行單元測試的習(xí)慣,不但可以寫出高質(zhì)量的

8、代碼,而且還能提高編程水平。要進行充分的單元測試,應(yīng)

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。