第6章單元測(cè)試new02_第1頁(yè)
第6章單元測(cè)試new02_第2頁(yè)
第6章單元測(cè)試new02_第3頁(yè)
第6章單元測(cè)試new02_第4頁(yè)
第6章單元測(cè)試new02_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6章單元測(cè)試new02第一頁(yè),共38頁(yè)。6.1單元測(cè)試對(duì)最小的軟件設(shè)計(jì)單元(模塊或源程序單元)的驗(yàn)證工作主要使用白盒測(cè)試技術(shù),輔助使用黑盒測(cè)試技術(shù)第二頁(yè),共38頁(yè)。單元測(cè)試單元測(cè)試時(shí)對(duì)軟件基本組成單元進(jìn)行的測(cè)試,這里的基本單元不一定是指一個(gè)具體的函數(shù)或一個(gè)類的方法。單元具有一些基本屬性,如:明確的功能、規(guī)格定義,與其他部分明確的接口定義等,可以清晰地與同一程序的其他部分單元?jiǎng)澐珠_(kāi)來(lái)。第三頁(yè),共38頁(yè)。單元測(cè)試的目的【前后一致】驗(yàn)證代碼是與設(shè)計(jì)相符合的;跟蹤需求和設(shè)計(jì)的實(shí)現(xiàn);發(fā)現(xiàn)設(shè)計(jì)和需求中存在的錯(cuò)誤;發(fā)現(xiàn)在編碼過(guò)程中引入的錯(cuò)誤。第四頁(yè),共38頁(yè)。對(duì)單元測(cè)試的錯(cuò)誤認(rèn)識(shí)單元測(cè)試?yán)速M(fèi)了太多的時(shí)間;單元測(cè)試僅僅是證明這些代碼做了什么;很棒的編程人員的工作不需要單元測(cè)試;不管怎樣,集成測(cè)試將會(huì)抓住所有的bug;單元測(cè)試的成本效率不高。第五頁(yè),共38頁(yè)。單元測(cè)試的內(nèi)容模塊接口測(cè)試:調(diào)用局部數(shù)據(jù)結(jié)構(gòu)測(cè)試:內(nèi)部數(shù)據(jù)邊界條件測(cè)試:I/O取值邊界獨(dú)立執(zhí)行路徑測(cè)試:內(nèi)部流程內(nèi)部錯(cuò)誤處理測(cè)試第六頁(yè),共38頁(yè)。6.2單元測(cè)試方法黑盒、白盒方法以白盒方法為主第七頁(yè),共38頁(yè)。6.3單元測(cè)試過(guò)程第八頁(yè),共38頁(yè)。1.單元測(cè)試計(jì)劃主要任務(wù)是依據(jù)測(cè)試策略和相關(guān)文檔,例如《軟件需求分析說(shuō)明書(shū)》、《軟件設(shè)計(jì)說(shuō)明書(shū)》、《項(xiàng)目計(jì)劃》等確定單元測(cè)試目的,識(shí)別單元測(cè)試需求,安排測(cè)試進(jìn)度、規(guī)劃測(cè)試資源、制訂測(cè)試開(kāi)始和結(jié)束準(zhǔn)則、說(shuō)明回歸測(cè)試方法和缺陷跟蹤過(guò)程并使用合適的模版將這些內(nèi)容編寫(xiě)到《軟件單元測(cè)試計(jì)劃》文檔中采用基于第15章提供的測(cè)試計(jì)劃模版定義自己的單元測(cè)試計(jì)劃第九頁(yè),共38頁(yè)。2.單元測(cè)試用例設(shè)計(jì)主要任務(wù)是根據(jù)各項(xiàng)測(cè)試需求確定單元測(cè)試方案,包括測(cè)試所依據(jù)的標(biāo)準(zhǔn)和文檔測(cè)試使用的方法,例如白盒、黑盒或其它缺陷屬性的說(shuō)明結(jié)論的約定等。如果需要編寫(xiě)測(cè)試代碼或測(cè)試工具,還需準(zhǔn)備測(cè)試代碼與工具的設(shè)計(jì)描述第十頁(yè),共38頁(yè)。3.單元測(cè)試實(shí)現(xiàn)依據(jù)規(guī)范開(kāi)發(fā)單元測(cè)試用例并確保滿足測(cè)試需求,測(cè)試用例可以是手工測(cè)試用例,也可以是自動(dòng)化測(cè)試腳本第十一頁(yè),共38頁(yè)。4.單元測(cè)試執(zhí)行主要任務(wù)是搭建測(cè)試環(huán)境,運(yùn)行測(cè)試用例以發(fā)現(xiàn)被測(cè)單元中的缺陷,當(dāng)發(fā)現(xiàn)缺陷后提交缺陷問(wèn)題報(bào)告單并在缺陷修復(fù)后對(duì)缺陷的修正進(jìn)行驗(yàn)證第十二頁(yè),共38頁(yè)。5.單元測(cè)試報(bào)告對(duì)測(cè)試過(guò)程進(jìn)行總結(jié),提供相關(guān)測(cè)試數(shù)據(jù)說(shuō)明和缺陷說(shuō)明,評(píng)價(jià)被測(cè)對(duì)象并給出改進(jìn)意見(jiàn),輸出《軟件單元測(cè)試報(bào)告》第十三頁(yè),共38頁(yè)。一些輔助、重要的活動(dòng)第十四頁(yè),共38頁(yè)。6.4單元測(cè)試活動(dòng):6.4.1角色和職責(zé)單元測(cè)試通常由單元的開(kāi)發(fā)者承擔(dān),開(kāi)發(fā)人員需要在單元測(cè)試階段負(fù)責(zé)完成單元測(cè)試計(jì)劃、方案和報(bào)告。在單元測(cè)試過(guò)程中還可能涉及到的主要角色包括系統(tǒng)分析設(shè)計(jì)人員:保證需求的變更并進(jìn)行軟件單元可測(cè)性分析,確定單元測(cè)試的對(duì)象、范圍和方法軟件測(cè)試工程師:負(fù)責(zé)參與單元測(cè)試類文檔的評(píng)審,對(duì)單元測(cè)試計(jì)劃、設(shè)計(jì)和執(zhí)行質(zhì)量進(jìn)行監(jiān)控,根據(jù)實(shí)際情況,可選擇參與由開(kāi)發(fā)人員負(fù)責(zé)的代碼評(píng)審、單元測(cè)試等活動(dòng)【對(duì)象審查】配置管理人員:對(duì)代碼及單元測(cè)試文檔進(jìn)行配置管理質(zhì)量保證人員:?jiǎn)卧獪y(cè)試過(guò)程進(jìn)行審查。第十五頁(yè),共38頁(yè)。6.4.2單元測(cè)試計(jì)劃內(nèi)容目的測(cè)試方法測(cè)試范圍測(cè)試交付件【交付的東西】測(cè)試過(guò)程準(zhǔn)則工作任務(wù)分布測(cè)試進(jìn)度測(cè)試資源測(cè)試用例結(jié)構(gòu)及其用例測(cè)試結(jié)論約定第十六頁(yè),共38頁(yè)。測(cè)試交付件《XXXX單元測(cè)試計(jì)劃》《XXXX單元測(cè)試計(jì)劃評(píng)審報(bào)告》《XXXX單元測(cè)試用例》《XXXX單元測(cè)試用例評(píng)審報(bào)告》《XXXX單元測(cè)試腳本》《XXXX單元測(cè)試腳本評(píng)審報(bào)告》《XXXX單元測(cè)試報(bào)告》《XXXX單元測(cè)試報(bào)告評(píng)審報(bào)告》《缺陷問(wèn)題單》若干第十七頁(yè),共38頁(yè)。6.4.3測(cè)試方法根據(jù)項(xiàng)目要求和被測(cè)單元特征,指明在本次單元測(cè)試中所采用的發(fā)現(xiàn)缺陷的技術(shù),例如常規(guī)的白盒測(cè)試、黑盒測(cè)試、自動(dòng)化測(cè)試或者復(fù)用類似的測(cè)試等第十八頁(yè),共38頁(yè)。6.4.4測(cè)試范圍測(cè)試范圍明確此次確單元測(cè)試“做什么”和“不做什么”,依據(jù)項(xiàng)目安排測(cè)試哪些單元,每個(gè)單元需要測(cè)試哪些內(nèi)容。第十九頁(yè),共38頁(yè)。1單元接口測(cè)試單元接口測(cè)試是單元測(cè)試的基礎(chǔ),主要檢查進(jìn)出單元的數(shù)據(jù)是否正確:實(shí)際的輸入與定義的輸入是否一致,包括個(gè)數(shù)、類型、順序;對(duì)于非內(nèi)部/局部變量是否合理使用使用其它模塊時(shí),是否檢查可用性和處理結(jié)果使用外部資源時(shí),是否檢查可用性及時(shí)釋放資源,包括內(nèi)存、文件和端口等第二十頁(yè),共38頁(yè)。2局部數(shù)據(jù)結(jié)構(gòu)測(cè)試局部數(shù)據(jù)結(jié)構(gòu)測(cè)試:檢查局部數(shù)據(jù)結(jié)構(gòu)能否保持完整性:變量從來(lái)沒(méi)有被使用,包括可能別的地方使用了錯(cuò)誤的變量名變量沒(méi)有初始化錯(cuò)誤的類型轉(zhuǎn)換數(shù)組越界非法指針變量或函數(shù)名稱拼寫(xiě)錯(cuò)誤,包括使用了外部變量或函數(shù)第二十一頁(yè),共38頁(yè)。3單元獨(dú)立執(zhí)行路徑測(cè)試單元獨(dú)立執(zhí)行路徑測(cè)試,主要檢查由于計(jì)算錯(cuò)誤、判斷錯(cuò)誤、控制流錯(cuò)誤導(dǎo)致的代碼缺陷

死代碼錯(cuò)誤的計(jì)算優(yōu)先級(jí)精度錯(cuò)誤,包括比較運(yùn)算錯(cuò)誤、賦值錯(cuò)誤表達(dá)式的不正確符號(hào)循環(huán)變量的使用錯(cuò)誤、包括錯(cuò)誤賦值第二十二頁(yè),共38頁(yè)。4單元內(nèi)部錯(cuò)誤處理測(cè)試單元內(nèi)部錯(cuò)誤處理測(cè)試,主要檢查內(nèi)部錯(cuò)誤處理設(shè)施是否有效是否檢查錯(cuò)誤出現(xiàn),包括資源使用前后、其他模塊使用前后出現(xiàn)錯(cuò)誤是否進(jìn)行處理,包括拋出錯(cuò)誤、通知用戶、進(jìn)行記錄錯(cuò)誤處理是否有效,包括在系統(tǒng)干預(yù)前處理、報(bào)告和記錄的錯(cuò)誤都應(yīng)真實(shí)詳細(xì)第二十三頁(yè),共38頁(yè)。5邊界條件測(cè)試邊界條件測(cè)試,主要臨界數(shù)據(jù)是否正確處理普通合法數(shù)據(jù)是否正確處理普通非法數(shù)據(jù)是否正確處理邊界內(nèi)最接近邊界的合法數(shù)據(jù)是否正確處理邊界內(nèi)最接近邊界的非法數(shù)據(jù)是否正確處理第二十四頁(yè),共38頁(yè)。6其它單元的運(yùn)行時(shí)特征內(nèi)存分配動(dòng)態(tài)綁定運(yùn)行時(shí)類型信息被測(cè)單元性能可維護(hù)性第二十五頁(yè),共38頁(yè)。6.5測(cè)試過(guò)程準(zhǔn)則定義了單元測(cè)試在什么條件下開(kāi)始【入口】、結(jié)束【停止】、掛起【受阻】以及恢復(fù)滿足什么條件可以開(kāi)始單元測(cè)試即單元測(cè)試的入口準(zhǔn)則滿足什么條件單元測(cè)試可以結(jié)束即單元測(cè)試的停止準(zhǔn)則出現(xiàn)哪些情況單元測(cè)試可以掛起即單元測(cè)試的受阻準(zhǔn)則滿足了哪些條件便可以恢復(fù)被掛起的單元測(cè)試即單元測(cè)試的恢復(fù)準(zhǔn)則第二十六頁(yè),共38頁(yè)。工作任務(wù)分解(WBS)明確此次單元測(cè)試任務(wù)的分解情況及各個(gè)單項(xiàng)之間的關(guān)系測(cè)試進(jìn)度依據(jù)估計(jì)的單元測(cè)試工作量,基于任務(wù)分解情況和可用資源情況,制定每項(xiàng)任務(wù)開(kāi)始和結(jié)束的時(shí)間點(diǎn)測(cè)試資源為了進(jìn)行此次單元測(cè)試所需的人力資源包括角色及其職責(zé)、環(huán)境資源、工具等相關(guān)資源測(cè)試結(jié)論約定描述了為了達(dá)成共識(shí),針對(duì)某些項(xiàng)而制定的統(tǒng)一標(biāo)準(zhǔn),例如測(cè)試用例優(yōu)先級(jí)、缺陷嚴(yán)重級(jí)別定義、缺陷優(yōu)先級(jí)等第二十七頁(yè),共38頁(yè)。6.6單元測(cè)試用例設(shè)計(jì)綜合運(yùn)用多種測(cè)試用例設(shè)計(jì)方法,包括白盒和黑盒,從正向、反向?qū)Ρ粶y(cè)單元進(jìn)行較為徹底的測(cè)試以說(shuō)明單元功能達(dá)到預(yù)期設(shè)計(jì)的目的首先需要設(shè)計(jì)一些測(cè)試用例說(shuō)明單元基本可用接著需要從正向、反向并結(jié)合單元的特點(diǎn)對(duì)單元的設(shè)計(jì)功能進(jìn)行徹底的測(cè)試在這個(gè)結(jié)果的基礎(chǔ)上,如果設(shè)計(jì)的測(cè)試用例沒(méi)有達(dá)到單元測(cè)試的覆蓋要求,還需要為此補(bǔ)充相關(guān)測(cè)試用例最后,需要設(shè)計(jì)測(cè)試用例關(guān)注被測(cè)單元的數(shù)據(jù)持久性、通訊問(wèn)題、多線程特性、內(nèi)存使用情況、性能、表現(xiàn)層等方面是否達(dá)到設(shè)計(jì)要求【易出錯(cuò)的高難度問(wèn)題】第二十八頁(yè),共38頁(yè)。6.7單元測(cè)試執(zhí)行

6.7.1搭建單元測(cè)試環(huán)境執(zhí)行單元測(cè)試的軟硬件環(huán)境待測(cè)單元+單元測(cè)試用例因?yàn)閱卧钦麄€(gè)系統(tǒng)的一部分,它不能單獨(dú)運(yùn)行。驅(qū)動(dòng):模擬調(diào)用函數(shù)的一段代碼,它可以替代調(diào)用被測(cè)單元的模塊樁:模擬被測(cè)單元所調(diào)用函數(shù)的一段代碼,它可以替代被被測(cè)單元調(diào)用的模塊驅(qū)動(dòng)(父外)+待測(cè)+樁(子內(nèi))第二十九頁(yè),共38頁(yè)。6.7.2用例設(shè)計(jì)和94-95頁(yè)結(jié)合一起學(xué)習(xí)91-92頁(yè)第三十頁(yè),共38頁(yè)。6.7.3單元測(cè)試策略第三十一頁(yè),共38頁(yè)。第三十二頁(yè),共38頁(yè)。第三十三頁(yè),共38頁(yè)。6.7.4執(zhí)行單元測(cè)試手工+工具缺陷跟蹤簡(jiǎn)化流程第三十四頁(yè),共38頁(yè)。6.7.5常用單元測(cè)試工具靜態(tài)測(cè)試工具靜態(tài)分析工具動(dòng)態(tài)測(cè)試工具JUnitFramework/projects/Junit/IBMRationalPurecoverageIBMRationalPurifyIBMRationalQuantify第

溫馨提示

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

評(píng)論

0/150

提交評(píng)論