




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章 單元測試4.1 4.1 什么是單元測試什么是單元測試規(guī)格定義設(shè)計編碼系統(tǒng)測試集成測試單元測試用戶需求驗收測試回歸測試配置管理缺陷跟蹤 4.1 4.1 什么是單元測試什么是單元測試單元測試(單元測試(Unit TestingUnit Testing)是對軟件基本組成單元是對軟件基本組成單元進(jìn)行的測試,單元的基本屬性:進(jìn)行的測試,單元的基本屬性:- 明確的功能;明確的功能;- 規(guī)格定義;規(guī)格定義;- 與其他部分明確的接口定義;與其他部分明確的接口定義;- 例:例:C+C+中的中的publicpublic的成員函數(shù),單獨(dú)的函數(shù)或類的成員函數(shù),單獨(dú)的函數(shù)或類; 4.1 4.1 什么是單元測試什
2、么是單元測試單元測試的目的:單元測試的目的:- 驗證代碼是否與設(shè)計相符;驗證代碼是否與設(shè)計相符;- 跟蹤需求和設(shè)計的實現(xiàn);跟蹤需求和設(shè)計的實現(xiàn);- 發(fā)現(xiàn)設(shè)計和需求中存在的錯誤;發(fā)現(xiàn)設(shè)計和需求中存在的錯誤;- 發(fā)現(xiàn)編碼過程中引入的錯誤;發(fā)現(xiàn)編碼過程中引入的錯誤;4.1 4.1 什么是單元測試什么是單元測試為什么進(jìn)行單元測試?為什么進(jìn)行單元測試?- 單元測試?yán)速M(fèi)了太多時間;單元測試?yán)速M(fèi)了太多時間;- 單元測試僅僅是證明這些代碼做了些什么;單元測試僅僅是證明這些代碼做了些什么;- 我是個很棒的程序元,我可以不進(jìn)行單元測試;我是個很棒的程序元,我可以不進(jìn)行單元測試;- 不管怎樣,集成測試將會抓住所有的
3、不管怎樣,集成測試將會抓住所有的bugbug;- 它的成本效率不高;它的成本效率不高;4.2 4.2 單元測試策略單元測試策略樁模塊(樁模塊(StubStub):用以模擬被測模塊工作過程中所用以模擬被測模塊工作過程中所調(diào)用的模塊,他們一般只進(jìn)行很少的數(shù)據(jù)處理,例調(diào)用的模塊,他們一般只進(jìn)行很少的數(shù)據(jù)處理,例如打印入口和返回;如打印入口和返回;驅(qū)動模塊(驅(qū)動模塊(DriverDriver):用以模擬被測模塊的上級模用以模擬被測模塊的上級模塊,它接受測試數(shù)據(jù),把相關(guān)的數(shù)據(jù)傳送給被測模塊,它接受測試數(shù)據(jù),把相關(guān)的數(shù)據(jù)傳送給被測模塊,啟動被測模塊,并打印相應(yīng)的結(jié)果;塊,啟動被測模塊,并打印相應(yīng)的結(jié)果;4
4、.2 4.2 單元測試策略單元測試策略 由頂向下的單元測試策略;由頂向下的單元測試策略; - - 先對最頂層的單元進(jìn)行測試,把頂層所調(diào)用的單先對最頂層的單元進(jìn)行測試,把頂層所調(diào)用的單元做成樁模塊,其次對第二層進(jìn)行測試,使用上面已元做成樁模塊,其次對第二層進(jìn)行測試,使用上面已測試的單元做驅(qū)動模塊,以此類推;測試的單元做驅(qū)動模塊,以此類推; 由底向上的單元測試策略;由底向上的單元測試策略; - - 先對模塊調(diào)用層次圖上最底層的模塊進(jìn)行單元測先對模塊調(diào)用層次圖上最底層的模塊進(jìn)行單元測試,為該模塊建立驅(qū)動模塊,其次對上一層做單元測試,為該模塊建立驅(qū)動模塊,其次對上一層做單元測試,下面測試過的模塊做樁模
5、塊,以此類推;試,下面測試過的模塊做樁模塊,以此類推; 孤立測試孤立測試 - - 不考慮每個模塊與其他模塊之間的關(guān)系,為每個不考慮每個模塊與其他模塊之間的關(guān)系,為每個模塊設(shè)計樁模塊和驅(qū)動模塊;模塊設(shè)計樁模塊和驅(qū)動模塊;4.3 4.3 單元測試分析單元測試分析單元測試所考慮的方面:單元測試所考慮的方面:模塊模塊接口局部數(shù)據(jù)結(jié)構(gòu)出錯處理獨(dú)立路徑邊界條件4.3 4.3 單元測試分析單元測試分析模塊接口:模塊接口:- 調(diào)用所測模塊時的輸入?yún)?shù)與模塊的形參在個數(shù)、調(diào)用所測模塊時的輸入?yún)?shù)與模塊的形參在個數(shù)、屬性、順序上是否匹配;屬性、順序上是否匹配;- 參數(shù)與變量的屬性、單位是否一致;參數(shù)與變量的屬性、
6、單位是否一致;- 全局變量的定義在每個模塊中是否一致;全局變量的定義在每個模塊中是否一致;- - 是否修改只是作為輸入值的變量;是否修改只是作為輸入值的變量;- 有沒有把常數(shù)當(dāng)變量來傳送;有沒有把常數(shù)當(dāng)變量來傳送;- 調(diào)用內(nèi)部函數(shù)時,變量的個數(shù)、屬性和次序是否調(diào)用內(nèi)部函數(shù)時,變量的個數(shù)、屬性和次序是否正確;正確;4.3 4.3 單元測試分析單元測試分析局部數(shù)據(jù)結(jié)構(gòu):局部數(shù)據(jù)結(jié)構(gòu):- 檢查不正確或不一致的數(shù)據(jù)類型說明;檢查不正確或不一致的數(shù)據(jù)類型說明;- 使用尚未賦值或尚未初始化的變量;使用尚未賦值或尚未初始化的變量;- 錯誤的初始值或錯誤的默認(rèn)值;錯誤的初始值或錯誤的默認(rèn)值;- 變量名拼寫錯誤
7、或書寫錯誤;變量名拼寫錯誤或書寫錯誤;- 不一致的數(shù)據(jù)類型;不一致的數(shù)據(jù)類型;- 上溢、下溢或地址錯誤;上溢、下溢或地址錯誤;4.3 4.3 單元測試分析單元測試分析獨(dú)立路徑:獨(dú)立路徑:- 誤解或不正確的算術(shù)優(yōu)先級;誤解或不正確的算術(shù)優(yōu)先級;- 運(yùn)算方式錯誤;運(yùn)算方式錯誤;- 不同數(shù)據(jù)類型的比較;不同數(shù)據(jù)類型的比較;- 不正確的邏輯運(yùn)算符或優(yōu)先次序;不正確的邏輯運(yùn)算符或優(yōu)先次序;- 錯誤或不可能的循環(huán)終止條件;錯誤或不可能的循環(huán)終止條件;- 不恰當(dāng)?shù)男薷牧搜h(huán)變量;不恰當(dāng)?shù)男薷牧搜h(huán)變量;- 因浮點數(shù)運(yùn)算精度問題而造成的兩值比較不等;因浮點數(shù)運(yùn)算精度問題而造成的兩值比較不等;4.3 4.3 單
8、元測試分析單元測試分析出錯處理:出錯處理:- 出錯的描述難以理解;出錯的描述難以理解;- 出錯的描述不足以對錯誤定位和確定出錯的原因;出錯的描述不足以對錯誤定位和確定出錯的原因;- 顯示的錯誤與實際的錯誤不符;顯示的錯誤與實際的錯誤不符;- 對錯誤條件的處理不正確;對錯誤條件的處理不正確;- 在對錯誤進(jìn)行處理之前,錯誤條件已經(jīng)引起系統(tǒng)在對錯誤進(jìn)行處理之前,錯誤條件已經(jīng)引起系統(tǒng)的干預(yù);的干預(yù);- 遺漏的錯誤處理;遺漏的錯誤處理;4.3 4.3 單元測試分析單元測試分析邊界條件:邊界條件:- 循環(huán)條件;循環(huán)條件;- 控制流中剛好等于、大于、小于確定的比較值時控制流中剛好等于、大于、小于確定的比較值
9、時出現(xiàn)錯誤的可能性;出現(xiàn)錯誤的可能性;4.4 4.4 單元測試用例設(shè)計單元測試用例設(shè)計 為正向測試設(shè)計用例;為正向測試設(shè)計用例; - - 驗證設(shè)計說明書所對應(yīng)的功能項或性能指標(biāo)能否驗證設(shè)計說明書所對應(yīng)的功能項或性能指標(biāo)能否兌現(xiàn);兌現(xiàn); 為逆向測試設(shè)計用例;為逆向測試設(shè)計用例; - - 驗證被測的軟件單元有沒有做它不應(yīng)該做的事情驗證被測的軟件單元有沒有做它不應(yīng)該做的事情; 為滿足特殊需求設(shè)計用例;為滿足特殊需求設(shè)計用例; 為代碼覆蓋設(shè)計用例;為代碼覆蓋設(shè)計用例; 為覆蓋率指標(biāo)完成設(shè)計用例;為覆蓋率指標(biāo)完成設(shè)計用例;4.4 4.4 單元測試用例設(shè)計單元測試用例設(shè)計主要采用的方法:主要采用的方法:
10、等價類劃分;等價類劃分; 邊界值分析;邊界值分析; 定義定義/ /使用測試;使用測試; 路徑測試;路徑測試;4.5 4.5 單元測試過程單元測試過程測試計劃測試設(shè)計測試執(zhí)行測試記錄分析測試總結(jié)完畢缺陷跟蹤針對測試目標(biāo),規(guī)定測試任務(wù)、資源分配、人員角色、進(jìn)度安排等。根據(jù)測試計劃,設(shè)計測試用例,包括:測試步驟、測試場景、測試代碼、測試數(shù)據(jù)(包括預(yù)期結(jié)果)。根據(jù)測試計劃,配置測試環(huán)境,并手動或者自動執(zhí)行測試設(shè)計。根據(jù)測試計劃,忠實地記錄測試執(zhí)行的過程和結(jié)果。分析測試記錄,如果發(fā)現(xiàn)與預(yù)期結(jié)果不同,確定并重現(xiàn)缺陷。檢查測試設(shè)計是否全部執(zhí)行完畢,缺陷是否全部關(guān)閉。記錄、分發(fā)、評估、關(guān)閉缺陷報告。分析測試過
11、程和缺陷報告,評估測試質(zhì)量和測試效果,給出是否通過測試的建議。4.5 4.5 單元測試過程單元測試過程測試文檔:測試計劃測試設(shè)計測試執(zhí)行測試記錄分析測試總結(jié)完畢缺陷跟蹤測試計劃文檔測試用例文檔測試記錄文檔缺陷跟蹤報告測試總結(jié)報告4.5 4.5 單元測試過程單元測試過程測試計劃內(nèi)容:測試計劃內(nèi)容:1)1) 概要:概要:明確測試目的和主要任務(wù),被測系統(tǒng)的簡單描述,明確測試目的和主要任務(wù),被測系統(tǒng)的簡單描述,被測系統(tǒng)依賴的其它系統(tǒng)描述被測系統(tǒng)依賴的其它系統(tǒng)描述2)2) 領(lǐng)域:定義測試和不需要測試的內(nèi)容,描述與測試計劃相領(lǐng)域:定義測試和不需要測試的內(nèi)容,描述與測試計劃相關(guān)的重要術(shù)語和縮略語,測試場所關(guān)
12、的重要術(shù)語和縮略語,測試場所3)3) 建議的重大事件時間表:列出階段性進(jìn)度建議的重大事件時間表:列出階段性進(jìn)度4)4) 轉(zhuǎn)換標(biāo)準(zhǔn):轉(zhuǎn)換標(biāo)準(zhǔn):允許系統(tǒng)進(jìn)入一個特定的測試階段所必須具備允許系統(tǒng)進(jìn)入一個特定的測試階段所必須具備的條件。定義可能會導(dǎo)致測試執(zhí)行掛起的狀態(tài)和事件。說的條件。定義可能會導(dǎo)致測試執(zhí)行掛起的狀態(tài)和事件。說明如何決定測試何時可以結(jié)束明如何決定測試何時可以結(jié)束5)5) 測試配置和環(huán)境:測試配置和環(huán)境:6)6) 測試執(zhí)行:測試人員與分工,錯誤管理,測試周期等;測試執(zhí)行:測試人員與分工,錯誤管理,測試周期等;4.5 4.5 單元測試過程單元測試過程測試計劃內(nèi)容:測試計劃內(nèi)容:7)7) 風(fēng)
13、險和意外事故:風(fēng)險和意外事故:意外事件的對策意外事件的對策8)8) 更改記錄:更改記錄:到目前為止對測試計劃本身所作的更改和修訂。到目前為止對測試計劃本身所作的更改和修訂。內(nèi)容可包括:編號、更改人、更改內(nèi)容、修訂的發(fā)布時間內(nèi)容可包括:編號、更改人、更改內(nèi)容、修訂的發(fā)布時間等。等。9)9) 參考文檔:測試計劃引用的其他文檔。如參考文檔:測試計劃引用的其他文檔。如: : 需求規(guī)范、設(shè)需求規(guī)范、設(shè)計規(guī)范、操作手冊、標(biāo)準(zhǔn)、其他相關(guān)信息。計規(guī)范、操作手冊、標(biāo)準(zhǔn)、其他相關(guān)信息。4.5 4.5 單元測試過程單元測試過程測試方案內(nèi)容:測試方案內(nèi)容:1)1)概要概要2)2)被測試特性:進(jìn)一步明確和細(xì)化被測試的特
14、性被測試特性:進(jìn)一步明確和細(xì)化被測試的特性3)3)測試需求:分析和明確功能等各方面的測試需求測試需求:分析和明確功能等各方面的測試需求4)4)測試方法:擬采用的具體測試技術(shù)和方法測試方法:擬采用的具體測試技術(shù)和方法5)5)需求規(guī)范追蹤:把測試需求轉(zhuǎn)化為測試設(shè)計需求規(guī)范追蹤:把測試需求轉(zhuǎn)化為測試設(shè)計6)6)測試用例集描述:對測試用例分層次說明測試用例集描述:對測試用例分層次說明7)7)更改記錄更改記錄8)8)參考文檔參考文檔4.5 4.5 單元測試過程單元測試過程測試用例內(nèi)容:測試用例內(nèi)容:1 用例編號10用例類別2 用例名稱11用例狀態(tài)3 測試目的12用例設(shè)計人4 輸入數(shù)據(jù)13創(chuàng)建時間5 測試
15、步驟14用例評審人6 測試腳本15評審時間7 預(yù)期結(jié)果16評審結(jié)果8 響應(yīng)時間17執(zhí)行結(jié)果9 實際輸出18相關(guān)模塊4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -缺陷的級別:缺陷的級別:1)1)致命性錯誤(致命性錯誤(CriticalCritical)1.1.數(shù)據(jù)丟失,數(shù)據(jù)計算錯誤、系統(tǒng)崩潰和非常死數(shù)據(jù)丟失,數(shù)據(jù)計算錯誤、系統(tǒng)崩潰和非常死機(jī)機(jī) 2)2)嚴(yán)重功能性錯誤嚴(yán)重功能性錯誤(Serious)(Serious)1.1.規(guī)定的功能沒有實現(xiàn)或不完整、設(shè)計不合理造規(guī)定的功能沒有實現(xiàn)或不完整、設(shè)計不合理造成性能低下,影響系統(tǒng)的運(yùn)營成性能低下,影響系統(tǒng)的運(yùn)營 3)3)告警性錯誤告警性錯
16、誤(Moderate)(Moderate)1.1.不影響業(yè)務(wù)運(yùn)營的功能問題不影響業(yè)務(wù)運(yùn)營的功能問題 4)4)建議性錯誤建議性錯誤(Suggestion,Cosmetic)(Suggestion,Cosmetic)1.1.軟件設(shè)計和功能實現(xiàn)等不甚合理之處提出建議軟件設(shè)計和功能實現(xiàn)等不甚合理之處提出建議4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -修改級別:修改級別:1)1)高高2)2)中中3)3)低低4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -錯誤描述:錯誤描述:1 分配給錯誤的ID號2 提交錯誤的時間3 錯誤提交人4 版本號發(fā)生錯誤的子系統(tǒng)或模塊5 錯誤發(fā)生的
17、條件6 對錯誤的詳細(xì)描述7 所使用的測試用例號8 錯誤被發(fā)現(xiàn)的數(shù)據(jù)庫9 使用的機(jī)器號10 錯誤的重要性11 錯誤的改正優(yōu)先級12發(fā)生錯誤的子系統(tǒng)或模塊及相關(guān)的模塊13 錯誤是否易再現(xiàn)14 其他4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -錯誤跟蹤:錯誤跟蹤:1 錯誤負(fù)責(zé)人6 錯誤改正后需要重新做的測試2 嚴(yán)重性7 改正錯誤所影響的組件3 優(yōu)先級8 目前錯誤的狀態(tài)4 估計改正錯誤的日期9 錯誤類別5 估計改正錯誤所要花費(fèi)的時間10 解決辦法4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -錯誤分發(fā):錯誤分發(fā):項目管理者項目管理者測試管理者測試管理者被分配修改錯誤的人被
18、分配修改錯誤的人組件代碼的編寫人組件代碼的編寫人測試小組中的其他成員測試小組中的其他成員4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -益處:益處:有利于缺陷的清楚傳達(dá)有利于缺陷的清楚傳達(dá)依據(jù)錯誤的相對和絕對重要性來修復(fù)問題依據(jù)錯誤的相對和絕對重要性來修復(fù)問題對錯誤實現(xiàn)全生命周期管理對錯誤實現(xiàn)全生命周期管理當(dāng)錯誤變化時相關(guān)人員及時獲悉新的信息當(dāng)錯誤變化時相關(guān)人員及時獲悉新的信息錯誤的統(tǒng)計分析報告提供更多的信息錯誤的統(tǒng)計分析報告提供更多的信息4.5 4.5 單元測試過程單元測試過程錯誤管理錯誤管理- -方法:方法:使用商業(yè)錯誤跟蹤與管理系統(tǒng)使用商業(yè)錯誤跟蹤與管理系統(tǒng) - testdirector - IBM Rational自行開發(fā)專用錯誤跟蹤與管理系統(tǒng)自行開發(fā)專用錯誤跟蹤與管理系統(tǒng) - NEUSOFT bugbase4.5 4.5 單元測試過程單元測試過程測試報告內(nèi)容:測試報告內(nèi)容:1 測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣州合同范本模板
- 租賃合同糾紛律師函范本
- 移動廁所租賃協(xié)議
- 藝人簽約合同模板
- 大豆油購銷合同范本
- 《2025廣告設(shè)計制作安裝合同》
- 貸款利息減免協(xié)議書
- 廣東省汕頭市下蓬中學(xué)2025屆高三下學(xué)期第四次周考生物試題試卷含解析
- 河南醫(yī)學(xué)高等??茖W(xué)校《室內(nèi)設(shè)計2-居室空間設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 太原幼兒師范高等??茖W(xué)?!渡虡I(yè)與技術(shù)雙語》2023-2024學(xué)年第一學(xué)期期末試卷
- 【八下英語外研版】專題08 完形填空(15空)20篇
- 2024年貴陽市貴安新區(qū)招聘中小學(xué)雇員教師筆試真題
- 計算機(jī)一級選擇題真題(含答案)
- 土地用途管制政策考核試卷
- (DB45T 2228.1-2020)《公路養(yǎng)護(hù)預(yù)算編制辦法及定額 第1部分:公路養(yǎng)護(hù)工程預(yù)算編制辦法及定額》
- 材料的性能與規(guī)劃 課件-2024-2025學(xué)年高中技術(shù)蘇教版(2019)必修《技術(shù)與設(shè)計1》
- 國家安全教育高教-第六章堅持以經(jīng)濟(jì)安全為基礎(chǔ)
- 韋萊韜悅-東方明珠新媒體集團(tuán)一體化職位職級體系方案-2018
- 施工圖設(shè)計文件常見問題分析
- 常見職業(yè)病危害和預(yù)防基礎(chǔ)知識
- DB64-T 1973-2024 鋼渣瀝青路面應(yīng)用技術(shù)規(guī)范
評論
0/150
提交評論