單元測試博為峰軟件技術(shù)_第1頁
單元測試博為峰軟件技術(shù)_第2頁
單元測試博為峰軟件技術(shù)_第3頁
單元測試博為峰軟件技術(shù)_第4頁
單元測試博為峰軟件技術(shù)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、http:/單元測試就業(yè)培訓(xùn)學(xué)習(xí)目標掌握單元測試掌握單元測試的對象理解單元測試關(guān)注的重點理解并能編寫驅(qū)動和樁能正確描述三種單元測試策略掌握單元測試過程四個階段的輸出大致了解單元測試工具準則、出口準則、輸入http:/2課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略單元測試過程單元測試原則單元測試工具http:/3單元測試單元測試是對基本組成單元進行的測試,如函數(shù)(function 或 procedure)或一個類的方法(method)單元具有一些基本屬性,如:明確的功能、規(guī)格定義,明確的與其他部分的接口定義等,可清晰地與同一程序的其他單元劃分在一種傳統(tǒng)的結(jié)構(gòu)化編程語言中

2、,比如C,要進單元一般是函數(shù)或子過程。在類似C+這樣的面試的象的語言中,要進試的基本單元是類或類的方法?;締卧灰欢ㄊ侵敢粋€具體的函數(shù)(function 或procedure)或一個類的方法(method)在具體實現(xiàn)時,也可能對應(yīng)的是多個程序文件中的一組函數(shù)http:/4單元測試的目的單元測試的目的在于發(fā)現(xiàn)各模塊主要是基于白盒測試驗證代碼是與設(shè)計相符合的; 發(fā)現(xiàn)設(shè)計和需求中存在的錯誤;發(fā)現(xiàn)在編碼過程中引入的錯誤??赡艽嬖诘母鞣N錯誤,http:/5課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略單元測試過程單元測試原則單元測試工具http:/6單元測試關(guān)注的重點http:

3、/7單元接口如果數(shù)據(jù)不能正常的輸入和輸出,單元測試就無從談起。因此,需要對單元接口進行如下的測試:被測單元的輸入輸出參數(shù)在個數(shù)、屬性、順序上是否和詳細設(shè)計中的描述保持一致;是否修改了只做輸入用的形式參數(shù);約束條件是否通過形式參數(shù)來傳送。說明:代碼實現(xiàn)應(yīng)和設(shè)計保持一致,接口處容易被忽略不要修改只做輸入用的形式參數(shù),否則可能會導(dǎo)致數(shù)據(jù)的錯誤修改避免約束條件通過形式參數(shù)傳送,防止單元之間的控制耦合http:/8局部數(shù)據(jù)結(jié)構(gòu)單元的局部數(shù)據(jù)結(jié)構(gòu)是最常見的錯誤來源。應(yīng)設(shè)計測試用例以檢查以下各種錯誤:檢查不正確或不一致的數(shù)據(jù)類型說明;使用尚未賦值或尚未初始化的變量; 錯誤的初始值或錯誤的缺省值;變量名拼寫錯

4、誤或書寫錯誤;不一致的數(shù)據(jù)類型。http:/9獨立路徑對基本執(zhí)行路徑和循環(huán)進試會發(fā)現(xiàn)大量的錯誤。設(shè)計測試用例查找由于錯誤的計算、不正確的比較或不正常的控制流而導(dǎo)致的錯誤。運算的優(yōu)先次序不正確或誤解了運算的優(yōu)先次序;運算的方式錯誤;不同數(shù)據(jù)類型的比較;“差1 錯”。 即不正確的多循環(huán)或少循環(huán)一次;錯誤的或不可能的循環(huán)終止條件;關(guān)系表達式中不正確的變量和比較符;當遇到發(fā)散的迭代時不能終止的循環(huán);不適當?shù)匦薷牧搜h(huán)變量等。http:/10出錯處理比較完善的單元設(shè)計要求能預(yù)見出錯的條件,并設(shè)置適當?shù)某鲥e處理,以便在程序出錯時,能對出錯程序重新做安排,保證其邏輯上的正確性。出錯的描述難以理解;出錯的描述

5、以對錯誤定位和確定出錯的原因;顯示的錯誤與實際的錯誤不符;對錯誤條件的處理不正確;在對錯誤進行處理之前,錯誤條件已經(jīng)引起系統(tǒng)的干預(yù)等。http:/11邊界條件邊界上出現(xiàn)錯誤的是常見的。在n次循環(huán)的第n次,取最大最小值時容易發(fā)生錯誤;特別要注意數(shù)據(jù)流,控制流中剛好等于、大于、小于確定的比較值時出現(xiàn)錯誤的可能性。http:/12課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略單元測試過程單元測試原則單元測試工具http:/13單元測試環(huán)境單元本身不是一個獨立的程序,一個完整的可運行的系統(tǒng)并沒有和樁單元。,所以必須為每個單元測試開發(fā)驅(qū)動單元驅(qū)動單元(Driver):所測函數(shù)的主

6、程序,它接收測試數(shù)據(jù),并把數(shù)據(jù)傳送給所測試單元,最后再輸出實測結(jié)果。當被測試單元能完成相關(guān)功能時,也可以不要驅(qū)動單元。樁單元(Stub):用來代替所測單元調(diào)用的子單元。http:/14單元測試環(huán)境結(jié)果http:/15樁單元樁單元測試用例被測單元驅(qū)動單元驅(qū)動單元接收測試數(shù)據(jù),包含測試用例輸入和預(yù)期輸出;把測試用例輸入傳送給要測試的單元將被測單元的實際輸出和預(yù)期輸出進行比較,得到將輸出到指定位置http:/16樁單元樁單元的功能是從測試角度模擬被調(diào)用的單元樁單元需要針對不同的輸入,返回不同的期望值,模擬不同的功能http:/17課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略

7、單元測試過程單元測試原則單元測試工具http:/18孤立的測試策略方法:不考慮每個模塊與其他模塊之間的關(guān)系,為每個模 塊設(shè)計樁模塊和驅(qū)動模塊。每個模塊進行獨立的單元測試。優(yōu)點:該方法是最簡單,最容易操作的。可以達到高的結(jié)構(gòu)覆蓋率。該方法是純粹的單元測試。缺點:樁函數(shù)和驅(qū)動函數(shù)工作很大,效率低。http:/19自頂向下的單元測試策略方法:先對最頂層的單元進 做成樁模塊。其次對第二層進試,把頂層所調(diào)用的單元試,使用上面已測試的單元做驅(qū)動模塊。如此類推直到測試完所有模塊。優(yōu)點:可以節(jié)省驅(qū)動函數(shù)的開發(fā)工作量,測試效率較高。缺點:隨著被測單元一個一個被加入,測試過程將變得越來越復(fù)雜,并且開發(fā)和的成本將增

8、加。http:/20自頂向下單元測試策略圖示http:/21自底向上的單元測試策略方法:先對模塊調(diào)用層次圖上最低層的模塊進行單元測試,模擬調(diào)用該模塊的模塊做驅(qū)動模塊。然后再對上面一層做 單元測試,用下面已被測試過的模塊做樁模塊。以此類推,直到測試完所有模塊。優(yōu)點:可以節(jié)省樁函數(shù)的開發(fā)工作量,測試效率較高。缺點:不是純粹的單元測試,底層函數(shù)的測試質(zhì)量對上層函數(shù)的測試將產(chǎn)生很大的影響 。http:/22自底向上單元測試策略圖示http:/23課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略單元測試過程單元測試原則單元測試工具http:/24單元測試的四個階段單元測試計劃階段:

9、完成單元測試計劃單元測試設(shè)計階段:完成單元測試方案單元測試實現(xiàn)階段:完成單元測試用例、單元測試規(guī)程、單元測試及數(shù)據(jù)文件單元測試執(zhí)行階段:執(zhí)行單元測試用例,修改發(fā)現(xiàn)并進行回歸測試,提交單元測試http:/25單元測試過程與開發(fā)階段需求分析階段概要設(shè)計詳細設(shè)計編碼單元測試執(zhí)行集成測試執(zhí)行系統(tǒng)測試執(zhí)行單元測試計劃單元測試設(shè)計單元測試實現(xiàn)單元測試執(zhí)行http:/26單元測試計劃階段準則:詳細設(shè)計已經(jīng)完成,并且成立了詳細設(shè)計基線輸入:測試計劃 詳細設(shè)計說明書輸出:單元測試計劃出口準則:單元測試計劃評審并通過http:/27單元測試計劃階段單元測試設(shè)計階段準則:單元測試計劃評審并通過輸入:單元測試計劃 詳

10、細設(shè)計說明書輸出:單元測試方案出口準則:單元測試方案評審并通過http:/28單元測試設(shè)計階段單元測試實現(xiàn)階段輸入:單元測試計劃 單元測試方案 詳細設(shè)計說明書準則:單元測試方案評審并通過輸出:單元測試用例單元測試規(guī)程出口準則:單元測試用例、單元評審并通過http:/29單元測試實現(xiàn)階段測試規(guī)程單元測試執(zhí)行階段輸入:單元測試計劃單元測試方案單元測試用例單元測試規(guī)程準則:單元測試用例、單元測試規(guī)程、單元測試、單元測試數(shù)據(jù)文件評審并通過,代碼經(jīng)過靜態(tài)評審輸出:單元測試缺陷出口準則:單元測試評審并通過http:/30單元測試執(zhí)行階段課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略

11、單元測試過程單元測試原則單元測試工具http:/31單元測試基本原則對全新的代碼或修改過的代碼進行單元測試單元測試根據(jù)單元測試計劃和方案進行,排除測試的隨意性必須保證單元測試計劃、單元測試方案、單元測試用例等經(jīng)過評審當測試用例的與預(yù)期結(jié)果不一致時,單元測試的實際的執(zhí)行需如實只有當測試計劃中的結(jié)束標準達到時,單元測試才能結(jié)束對被測試單元需達到的一定的代碼覆蓋率要求http:/32課程內(nèi)容單元測試的定義和目的單元測試關(guān)注的重點單元測試環(huán)境單元測試策略單元測試過程單元測試原則單元測試工具http:/33單元測試工具介紹常見的可用于單元測試的工具有:代碼靜態(tài)分析工具:Logiscope,McCabe QA, CodeTest等代碼檢查工具:PCL,CodeChk,Logiscope,Perl等工具:TCL,測試覆蓋率檢測工具:Logiscope,PureCoverage,TrueCoverage,McCabe Test,CodeTest等內(nèi)存檢測工具:Purify,BoundsCheck,CodeTest等專為單元測試設(shè)計的工具:RTRT,Cana,AdaTest等http:/34課后習(xí)題現(xiàn)在有以下三個函數(shù):請分別利用孤立測試策略自頂向下測試策略自底向上測試策略對三個函數(shù)進函數(shù)A:主控函數(shù)y)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論