單元測試與設(shè)計(jì)_第1頁
單元測試與設(shè)計(jì)_第2頁
單元測試與設(shè)計(jì)_第3頁
單元測試與設(shè)計(jì)_第4頁
單元測試與設(shè)計(jì)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第四章單元測試4.1什么是單元測試規(guī)格定義設(shè)計(jì)編碼系統(tǒng)測試集成測試單元測試用戶需求驗(yàn)收測試回歸測試配置管理缺陷跟蹤4.1什么是單元測試單元測試(UnitTesting)是對軟件基本組成單元進(jìn)行的測試,單元的基本屬性:明確的功能;規(guī)格定義;與其他部分明確的接口定義;例:C++中的public的成員函數(shù),單獨(dú)的函數(shù)或類;4.1什么是單元測試單元測試的目的:驗(yàn)證代碼是否與設(shè)計(jì)相符;跟蹤需求和設(shè)計(jì)的實(shí)現(xiàn);發(fā)現(xiàn)設(shè)計(jì)和需求中存在的錯(cuò)誤;發(fā)現(xiàn)編碼過程中引入的錯(cuò)誤;4.1什么是單元測試為什么進(jìn)行單元測試?單元測試?yán)速M(fèi)了太多時(shí)間;單元測試僅僅是證明這些代碼做了些什么;我是個(gè)很棒的程序元,我可以不進(jìn)行單元測試;不管怎樣,集成測試將會(huì)抓住所有的bug;它的成本效率不高;4.2單元測試策略樁模塊(Stub):用以模擬被測模塊工作過程中所調(diào)用的模塊,他們一般只進(jìn)行很少的數(shù)據(jù)處理,例如打印入口和返回;驅(qū)動(dòng)模塊(Driver):用以模擬被測模塊的上級模塊,它接受測試數(shù)據(jù),把相關(guān)的數(shù)據(jù)傳送給被測模塊,啟動(dòng)被測模塊,并打印相應(yīng)的結(jié)果;4.2單元測試策略

由頂向下的單元測試策略;-先對最頂層的單元進(jìn)行測試,把頂層所調(diào)用的單元做成樁模塊,其次對第二層進(jìn)行測試,使用上面已測試的單元做驅(qū)動(dòng)模塊,以此類推;由底向上的單元測試策略;-先對模塊調(diào)用層次圖上最底層的模塊進(jìn)行單元測試,為該模塊建立驅(qū)動(dòng)模塊,其次對上一層做單元測試,下面測試過的模塊做樁模塊,以此類推;孤立測試-不考慮每個(gè)模塊與其他模塊之間的關(guān)系,為每個(gè)模塊設(shè)計(jì)樁模塊和驅(qū)動(dòng)模塊;4.3單元測試分析單元測試所考慮的方面:模塊模塊接口局部數(shù)據(jù)結(jié)構(gòu)出錯(cuò)處理獨(dú)立路徑邊界條件4.3單元測試分析模塊接口:調(diào)用所測模塊時(shí)的輸入?yún)?shù)與模塊的形參在個(gè)數(shù)、屬性、順序上是否匹配;參數(shù)與變量的屬性、單位是否一致;全局變量的定義在每個(gè)模塊中是否一致;-是否修改只是作為輸入值的變量;有沒有把常數(shù)當(dāng)變量來傳送;調(diào)用內(nèi)部函數(shù)時(shí),變量的個(gè)數(shù)、屬性和次序是否正確;4.3單元測試分析局部數(shù)據(jù)結(jié)構(gòu):檢查不正確或不一致的數(shù)據(jù)類型說明;使用尚未賦值或尚未初始化的變量;錯(cuò)誤的初始值或錯(cuò)誤的默認(rèn)值;變量名拼寫錯(cuò)誤或書寫錯(cuò)誤;不一致的數(shù)據(jù)類型;上溢、下溢或地址錯(cuò)誤;4.3單元元測試分析獨(dú)立路徑:誤解或不正確確的算術(shù)優(yōu)先先級;運(yùn)算方式錯(cuò)誤誤;不同數(shù)據(jù)類型型的比較;不正確的邏輯輯運(yùn)算符或優(yōu)優(yōu)先次序;錯(cuò)誤或不可能能的循環(huán)終止止條件;不恰當(dāng)?shù)男薷母牧搜h(huán)變量量;因浮點(diǎn)數(shù)運(yùn)算算精度問題而而造成的兩值值比較不等;;4.3單元元測試分析出錯(cuò)處理:出錯(cuò)的描述難難以理解;出錯(cuò)的描述不不足以對錯(cuò)誤誤定位和確定定出錯(cuò)的原因因;顯示的錯(cuò)誤與與實(shí)際的錯(cuò)誤誤不符;對錯(cuò)誤條件的的處理不正確確;在對錯(cuò)誤進(jìn)行行處理之前,,錯(cuò)誤條件已已經(jīng)引起系統(tǒng)統(tǒng)的干預(yù);遺漏的錯(cuò)誤處處理;4.3單元元測試分析邊界條件:循環(huán)條件;控制流中剛好好等于、大于于、小于確定定的比較值時(shí)時(shí)出現(xiàn)錯(cuò)誤的的可能性;4.4單元元測試用例設(shè)設(shè)計(jì)為正向測試設(shè)設(shè)計(jì)用例;-驗(yàn)證設(shè)計(jì)計(jì)說明書所對對應(yīng)的功能項(xiàng)項(xiàng)或性能指標(biāo)標(biāo)能否兌現(xiàn);;為逆向測試設(shè)設(shè)計(jì)用例;-驗(yàn)證被測測的軟件單元元有沒有做它它不應(yīng)該做的的事情;為滿足特殊需需求設(shè)計(jì)用例例;為代碼覆蓋設(shè)設(shè)計(jì)用例;為覆蓋率指標(biāo)標(biāo)完成設(shè)計(jì)用用例;4.4單元元測試用例設(shè)設(shè)計(jì)主要采用的方方法:等價(jià)類劃分;;邊界值分析;;定義/使用測測試;路徑測試;4.5單元元測試過程測試計(jì)劃測試設(shè)計(jì)測試執(zhí)行測試記錄分析測試總結(jié)完畢缺陷跟蹤針對測試目標(biāo)標(biāo),規(guī)定測試試任務(wù)、資源源分配、人員員角色、進(jìn)度度安排等。根據(jù)測試計(jì)劃劃,設(shè)計(jì)測試試用例,包括括:測試步驟驟、測試場景景、測試代碼碼、測試數(shù)據(jù)據(jù)(包括預(yù)期期結(jié)果)。根據(jù)測試計(jì)劃劃,配置測試試環(huán)境,并手手動(dòng)或者自動(dòng)動(dòng)執(zhí)行測試設(shè)設(shè)計(jì)。根據(jù)測試計(jì)劃劃,忠實(shí)地記記錄測試執(zhí)行行的過程和結(jié)結(jié)果。分析測試記錄錄,如果發(fā)現(xiàn)現(xiàn)與預(yù)期結(jié)果果不同,確定定并重現(xiàn)缺陷陷。檢查測試設(shè)計(jì)計(jì)是否全部執(zhí)執(zhí)行完畢,缺缺陷是否全部部關(guān)閉。記錄、分發(fā)、、評估、關(guān)閉閉缺陷報(bào)告。。分析測試過程程和缺陷報(bào)告告,評估測試試質(zhì)量和測試試效果,給出出是否通過測測試的建議。。4.5單元元測試過程測試文檔:測試計(jì)劃測試設(shè)計(jì)測試執(zhí)行測試記錄分析測試總結(jié)完畢缺陷跟蹤測試計(jì)劃文檔檔測試用例文檔檔測試記錄文檔檔缺陷跟蹤報(bào)告告測試總結(jié)報(bào)告告4.5單元元測試過程測試計(jì)劃內(nèi)容容:概要:明確測試目的的和主要任務(wù)務(wù),被測系統(tǒng)統(tǒng)的簡單描述述,被測系統(tǒng)統(tǒng)依賴的其它它系統(tǒng)描述領(lǐng)域:定義測測試和不需要要測試的內(nèi)容容,描述與測測試計(jì)劃相關(guān)關(guān)的重要術(shù)語語和縮略語,,測試場所建議的重大事事件時(shí)間表::列出階段性性進(jìn)度轉(zhuǎn)換標(biāo)準(zhǔn):允許系統(tǒng)進(jìn)入入一個(gè)特定的的測試階段所所必須具備的的條件。定義義可能會(huì)導(dǎo)致致測試執(zhí)行掛掛起的狀態(tài)和和事件。說明明如何決定測測試何時(shí)可以以結(jié)束測試配置和環(huán)環(huán)境:測試執(zhí)行:測測試人員與分分工,錯(cuò)誤管管理,測試周周期等;4.5單元元測試過程測試計(jì)劃內(nèi)容容:風(fēng)險(xiǎn)和意外事事故:意外事件的對對策更改記錄:到目前為止對對測試計(jì)劃本本身所作的更更改和修訂。。內(nèi)容可包括括:編號、更更改人、更改改內(nèi)容、修訂訂的發(fā)布時(shí)間間等。參考文檔:測測試計(jì)劃引用用的其他文檔檔。如:需需求規(guī)范、設(shè)設(shè)計(jì)規(guī)范、操操作手冊、標(biāo)標(biāo)準(zhǔn)、其他相相關(guān)信息。4.5單元元測試過程測試方案內(nèi)容容:概要被測試特性::進(jìn)一步明確確和細(xì)化被測測試的特性測試需求:分分析和明確功功能等各方面面的測試需求求測試方法:擬擬采用的具體體測試技術(shù)和和方法需求規(guī)范追蹤蹤:把測試需需求轉(zhuǎn)化為測測試設(shè)計(jì)測試用例集描描述:對測試試用例分層次次說明更改記錄參考文檔4.5單元元測試過程測試用例內(nèi)容容:1用例編號10用例類別2用例名稱11用例狀態(tài)3測試目的12用例設(shè)計(jì)人4輸入數(shù)據(jù)13創(chuàng)建時(shí)間5測試步驟14用例評審人6測試腳本15評審時(shí)間7預(yù)期結(jié)果16評審結(jié)果8響應(yīng)時(shí)間17執(zhí)行結(jié)果9實(shí)際輸出18相關(guān)模塊4.5單元元測試過程錯(cuò)誤管理-缺缺陷的級別::致命性錯(cuò)誤((Critical)數(shù)據(jù)丟失,數(shù)數(shù)據(jù)計(jì)算錯(cuò)誤誤、系統(tǒng)崩潰潰和非常死機(jī)機(jī)嚴(yán)重功能性錯(cuò)錯(cuò)誤(Serious)規(guī)定的功能沒沒有實(shí)現(xiàn)或不不完整、設(shè)計(jì)計(jì)不合理造成成性能低下,,影響系統(tǒng)的的運(yùn)營告警性錯(cuò)誤(Moderate)不影響業(yè)務(wù)運(yùn)運(yùn)營的功能問問題建議性錯(cuò)誤(Suggestion,Cosmetic)軟件設(shè)計(jì)和功功能實(shí)現(xiàn)等不不甚合理之處處提出建議4.5單元元測試過程錯(cuò)誤管理-修修改級別:高中低4.5單元元測試過程錯(cuò)誤管理-錯(cuò)錯(cuò)誤描述:1分配給錯(cuò)誤的ID號2提交錯(cuò)誤的時(shí)間3錯(cuò)誤提交人4版本號發(fā)生錯(cuò)誤的子系統(tǒng)或模塊5錯(cuò)誤發(fā)生的條件6對錯(cuò)誤的詳細(xì)描述7所使用的測試用例號8錯(cuò)誤被發(fā)現(xiàn)的數(shù)據(jù)庫9使用的機(jī)器號10錯(cuò)誤的重要性11錯(cuò)誤的改正優(yōu)先級12發(fā)生錯(cuò)誤的子系統(tǒng)或模塊及相關(guān)的模塊13錯(cuò)誤是否易再現(xiàn)14其他4.5單元元測試過程錯(cuò)誤管理-錯(cuò)錯(cuò)誤跟蹤:1錯(cuò)誤負(fù)責(zé)人6錯(cuò)誤改正后需要重新做的測試2嚴(yán)重性7改正錯(cuò)誤所影響的組件3優(yōu)先級8目前錯(cuò)誤的狀態(tài)4估計(jì)改正錯(cuò)誤的日期9錯(cuò)誤類別5估計(jì)改正錯(cuò)誤所要花費(fèi)的時(shí)間10解決辦法4.5單元元測試過程錯(cuò)誤管理-錯(cuò)錯(cuò)誤分發(fā):項(xiàng)目管理者測試管理者被分配修改錯(cuò)錯(cuò)誤的人組件代碼的編編寫人測試小組中的的其他成員4.5單元元測試過程錯(cuò)誤管理-益益處:有利于缺陷的的清楚傳達(dá)依據(jù)錯(cuò)誤的相相對和絕對重重要性來修復(fù)復(fù)問題對錯(cuò)誤實(shí)現(xiàn)全全生命周期管管理當(dāng)錯(cuò)誤變化時(shí)時(shí)相關(guān)人員及及時(shí)獲悉新的的信息錯(cuò)誤的統(tǒng)計(jì)分分析報(bào)告提供供更多的信息息4.5單元元測試過程錯(cuò)誤管理-方方法:使用商業(yè)錯(cuò)誤誤跟蹤與管理理系統(tǒng)-testdirector-IBMRational自行開發(fā)專用用錯(cuò)誤跟蹤與與管理系統(tǒng)-NEUSOFTbugbase4.5單元元測試過程測試報(bào)告內(nèi)容容:1測試活動(dòng)概述6結(jié)果描述2測試環(huán)境描述7意外事件3測試資源使用情況8遺留問題4差異描述9評價(jià)5測試充分性的評價(jià)10測試總結(jié)4.6單元元測試應(yīng)堅(jiān)持持的原則應(yīng)當(dāng)盡早和不不斷地進(jìn)行軟軟件測試;對全新的代碼碼或修改過的的代碼一定要要進(jìn)行單元測測試;被測試的對象象為實(shí)現(xiàn)一組組相關(guān)功能的的代碼;單元測試最好好根據(jù)單元測測試計(jì)劃和方方案進(jìn)行,排排除測試的隨隨意性;當(dāng)測試用例的的測試結(jié)果與與預(yù)期結(jié)果不不一致時(shí),單單元測試的執(zhí)執(zhí)行人員需如如實(shí)記錄

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論