軟件測試系列培訓課程之一單元測試_第1頁
軟件測試系列培訓課程之一單元測試_第2頁
軟件測試系列培訓課程之一單元測試_第3頁
軟件測試系列培訓課程之一單元測試_第4頁
軟件測試系列培訓課程之一單元測試_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件測試系列培訓課程之一單元測試軟件測試系列培訓課程之一單元測試軟件測試系列培訓課程之一單元測試目錄為什么要單元測試第一個單元測試測試哪些內容討論一些話題從一個案例開始小萍和小迪共同負責一個項目,項目最后交付的期限越來越近了。小萍每天都在心急火燎的編寫代碼,寫完一個類又寫一個類,寫完一個函數又接著寫另一個函數,還經常不得不停下來做一些調整,使得代碼能夠通過編譯。小萍一直保持著這種工作方式,直到最后期限的前一天。而這時已經到了演示所有代碼的時候了。小萍運行了最上層的程序,但是一點輸出也沒有,什么也沒有。這時只好用調試器來單步跟蹤了?!绊E,絕不可能是這樣的,這個變量絕不是0啊”時間已經越來越晚了,小萍終于找到并且糾正了這個BUG;但在這個過程中,小萍又找到了其他好幾個BUG;如此幾次之后,BUG還是存在,而程序輸出仍然沒有結果。小萍已經精疲力盡了,一下子陷入到了無助和無奈的狀態(tài)。及此同時,小迪并沒有像小萍那么快的寫代碼。小迪在每寫一個函數的時候,會附帶寫一個簡短的測試程序來測試這個函數。用這個簡單的測試,來驗證函數的功能是否和程序員期望的一致。小迪在未對剛寫的函數做出確認之前,是不會接著寫新代碼的。也就是說,只有等到已知函數都得到確認之后,小迪才會繼續(xù)編寫下一個函數。最后期限終于到了,小萍沒有能完成任務。而小迪的代碼被集成到整個系統(tǒng)中,并且能夠很好地運行。什么是單元測試開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的功能是否正確。不寫測試的接口1.編寫單元測試太花時間了2.運行測試的時間太長了3.測試代碼并不是我的工作4.我并不清楚代碼的行為,所以也就無從測試5.我寫的這些代碼都能夠編譯通過,所以都是沒有問題的,沒必要測試6.公司請我來是為了寫代碼,而不是寫測試7.如果我讓測試員或者QA人員沒有工作,那我我會很內疚8.我的公司并不會讓我在真實系統(tǒng)中運行單元測試為什么需要單元測試計劃你的測試思考一下如何測試下面這個方法:StaticintFindMax(int[]list);比如:給定一個數組[7,8,9],結果應該返回9,這就是一個很合理的測試。除此之外,你還想到了多少測試呢?對于一個給定的List而言,元素的位置對該方法的結果不會產生影響:[7,8,9]→9[9,8,7]→9[8,9,7]→9如果list中有兩個相等的最大值呢?[7,9,8,9]→9[7,9,9,8]→9如果list中包含負數,會怎樣呢?[-8,-9,-7]→-7如果list中只包含一個數呢[1]建議借助測試工具快速構建單元測試本培訓試圖拋開語言束縛,旨在讓開發(fā)人員重視單元測試,執(zhí)行單元測試測試哪些內容Right-BICEPRight--結果是否正確?B--是否所有的邊界條件都是正確的?I--能查一下反向關聯(lián)嗎?C--能用其他手段交叉檢查一下結果嗎?E--你是否可以強制錯誤條件發(fā)生?P--是否滿足性能要求?Right--結果正確如果代碼能夠正確運行,怎樣才能知道它是正確的呢?在寫代碼之前,應該先明確需求建議先設計測試,然后通過“測試驅動”代碼編寫。Right--結果正確2.使用數據文件對于大量的測試數據,需要考慮用一個獨立的數據文件來存儲,然后讓單元測試程序讀取該文件。B-邊界條件找邊界條件是做單元測試最有價值的工作之一,因為bug一般就出現(xiàn)在邊界上。常見的考慮條件:完全偽造或者不一致的輸入數據格式錯誤的數據空值或者不完整的值一些及意料中的合理值相去甚遠的數值如果要求的是一個不允許出現(xiàn)重復數值的list,但是傳入的是一個存在重復值的list如果要求的是一個有序list,但是傳入的是一個無序的list事情到達的次序是錯誤的,或者碰巧和期望的次序不一致可能的邊界條件CORRECTConformance(一致性)值是否和預期一致Ordering(順序性)值是否如應該的那樣,是有序或者無序的Range(區(qū)間性)值是否位于合理的最小值和最大值之內Reference(依賴性)代碼是否引用了一些不在代碼本身控制范圍之內的外部資源Existence(存在性)值是否存在Cardinality(基數性)是否恰好有足夠的值Time(相對或者絕對的實踐性)所有事情的發(fā)生是否是有序的,是否在正確的時刻?是否恰好及時?I-檢查反向關聯(lián)對于一些方法,我們可以使用反向的邏輯來驗證。C-使用其他手段交叉檢查C-使用其他手段交叉檢查用已知可行的手段及被測方法交叉驗證是否正確。E-強制產生錯誤條件P-性能特性優(yōu)良測試的品質A-TRIP自動化Automatic徹底的Thorough可重復Repea

溫馨提示

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

評論

0/150

提交評論