版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件測試方法和技術(shù)
-Ch.5單元測試tscxjtu@163.comleontscxjtu@163.com第1頁第三四章不講tscxjtu@163.com軟件質(zhì)量標準軟件測試規(guī)范
CMM思想和結(jié)構(gòu)體系建立軟件測試管理和評判體系第2頁第五章單元測試tscxjtu@163.com5.1什么是單元測試5.2單元測試目標和任務(wù)5.3靜態(tài)測試技術(shù)利用5.4動態(tài)測試技術(shù)利用5.5調(diào)試與評定5.6單元測試過程與文檔管理5.7單元測試慣用工具介紹第3頁5.1什么是單元測試測試4個階段:單元測試
集成測試
系統(tǒng)測試
驗收測試按階段進行測試是一個基本測試策略tscxjtu@163.com第4頁5.1什么是單元測試程序員喝酒比喻大家喝是啤酒。這時你入座了。你給自己倒了杯可樂,這叫低配置。你給自已倒了杯啤酒,這叫標準配置。你給自己倒了杯茶水,這茶顏色還跟啤酒一樣,這叫木馬。你給自己倒了杯可樂,還滴了幾滴醋,不但顏色跟啤酒一樣,而且不冒熱氣還有泡泡,這叫超級木馬。你同事給你倒了杯白酒,這叫推薦配置。人到齊了,酒席開始了。你先一個人喝了一小口,這叫單元測試。你跟旁邊人說哥們咱們隨意,這叫交叉測試。不過他說不行,這杯要干了,這叫壓力測試。于是你說那就大家一起來吧,這叫內(nèi)部測試。這個時候boss向全場舉杯了,這叫公開測試。tscxjtu@163.com第5頁5.1什么是單元測試菜過三巡,你就不跟他們客氣了。你向?qū)γ嫒司淳?,這叫p2p.你向?qū)γ嫒司淳?,他回敬你,你又再敬他……,這叫tcp.你向一桌人挨個敬酒,這叫令牌環(huán)。你說只要是弟兄就干了這杯,這叫廣播。可是你上司jj聽了不高興了,只有弟兄么,罰酒三杯。這叫炸彈??墒悄阆录塵m聽了不高興了,我喝一口,你喝一杯,這叫惡意攻擊。有一個人過來向這桌敬酒,你說不行你先過了我這關(guān),這叫防火墻。你小弟們過來敬你酒,這叫一對多。你是boss,全部些人過來敬你酒,這叫服務(wù)器。酒是一樣,可是喝法是不一樣。你喝了一杯,boss喝了一口,這叫c#。你喝了一杯,mm喝了一口,這叫vb。你喝了一杯,你大哥喝了半杯,這叫c++。你喝了半杯,你小弟喝了一杯,這叫匯編。你喝了一杯,你搭檔也喝了一杯,這叫c。tscxjtu@163.com第6頁5.1什么是單元測試酒是一樣,可是喝酒人是不一樣。你越喝臉越紅,這叫頻繁分配釋放資源。你越喝臉越白,這叫資源不釋放。你已經(jīng)醉了,卻說我還能喝,叫做資源額度不足。你明明能喝,卻說我已經(jīng)醉了,叫做資源保留。你喝一段時間就上廁所,這叫cache。酒過三巡,你也該活動活動了。你一桌一桌走,這叫輪巡。你突然看到某一桌漂亮mm,走了過去,這叫優(yōu)先級。你去了坐下來就不打算走了,這叫死循環(huán)。你老大舉杯邀你過去,你只好過去,這叫開啟事件。你向一桌敬酒,他們說不行不行我們都喝白,于是你也喝白,這叫當?shù)鼗?。你向boss敬酒,可是boss被圍了起來,你只能站在外圈,這叫排隊。你終于到了內(nèi)圈,小心翼翼向前一步,這叫訪問臨界區(qū)。你拍著boss肩膀說哥們咱們喝一杯,這叫越界。你不知喝了幾圈了,只會說兩個字,干了,這叫udp??墒沁€有些人拿著酒瓶跑過來說,剛才都沒跟你喝,這叫丟包。tscxjtu@163.com第7頁5.1什么是單元測試喝酒喝到最終結(jié)果都一樣你突然跑向廁所,這叫捕捉異常。你在廁所吐了,反而以為狀態(tài)不錯,這叫清空內(nèi)存。你在臺面上吐了,以為很慚愧,這叫程序異常。你在boss面前吐了,以為很害怕,這叫系統(tǒng)瓦解。你吐到了boss身上,只能索性暈倒了,這叫硬件休克。
tscxjtu@163.com第8頁單元測試定義定義:單元測試是對軟件基本組成單元進行測試。時機:普通在代碼完成后由開發(fā)人員完成,QA人員輔助.概念:模塊,組件,單元單元測試對象是軟件設(shè)計最小單位——模塊。單元經(jīng)常被誤解為詳細函數(shù)或一個類方法。一個最小單元應該有明確功效、性能定義、接口定義并能夠清楚地與其它單元區(qū)分開來。
tscxjtu@163.com第9頁為何要進行單元測試?盡早發(fā)覺錯誤錯誤發(fā)覺越早,成本越低.開發(fā)人員過于自信,后期復雜度高,發(fā)覺處理BUG困難.檢驗代碼是否符合設(shè)計和規(guī)范
tscxjtu@163.com12小時6小時3小時單元測試集成測試系統(tǒng)測試第10頁5.2單元測試目標和任務(wù)目標:
單元模塊被正確編碼詳細目標:信息能否正確地流入和流出單元;在單元工作過程中,其內(nèi)部數(shù)據(jù)能否保持其完整性,包含內(nèi)部數(shù)據(jù)形式、內(nèi)容及相互關(guān)系不發(fā)生錯誤,也包含全局變量在單元中處理和影響。在為限制數(shù)據(jù)加工而設(shè)置邊界處,能否正確工作。單元運行能否做到滿足特定邏輯覆蓋。單元中發(fā)生了錯誤,其中犯錯處理辦法是否有效。tscxjtu@163.com第11頁任務(wù)1:模塊接口測試檢驗模塊接口是否正確Checklist:輸入實際參數(shù)與形式參數(shù)是否一致。個數(shù)、屬性、量綱調(diào)用其它模塊實際參數(shù)與被調(diào)模塊形參是否一致。個數(shù)、屬性、量綱全程變量定義在各模塊是否一致。外部輸入、輸出文件、緩沖區(qū)、錯誤處理其它tscxjtu@163.com第12頁任務(wù)2:模塊局部數(shù)據(jù)結(jié)構(gòu)測試檢驗局部數(shù)據(jù)結(jié)構(gòu)完整性Checklist:不適合或不相容類型說明。變量無初值。變量初始化或默認值有錯。不正確變量名或從來未被使用過。出現(xiàn)上溢或下溢和地址異常。其它tscxjtu@163.com第13頁任務(wù)3:模塊邊界條件測試檢驗臨界數(shù)據(jù)處理正確性(單元測試中最主要一項任務(wù))Checklist:普通正當數(shù)據(jù)處理。普通非法數(shù)據(jù)處理。邊界值內(nèi)正當邊界數(shù)據(jù)處理。邊界值外非法邊界數(shù)據(jù)處理。其它tscxjtu@163.com第14頁任務(wù)4:模塊獨立執(zhí)行通路測試檢驗每一條獨立執(zhí)行路徑測試。確保每條語句被最少執(zhí)行一次。Checklist:算符優(yōu)先級?;旌项愋瓦\算。精度不夠。表示式符號。循環(huán)條件,死循環(huán)。其它tscxjtu@163.com第15頁任務(wù)5:模塊各條錯誤處理通路測試預見、預設(shè)各種犯錯處理是否正確有效。Checklist:輸出犯錯信息難以了解。統(tǒng)計錯誤與實際不相符。程序定義犯錯處理前系統(tǒng)已介入。異常處理不妥。未提供足夠定位犯錯信息。其它tscxjtu@163.com第16頁5.3靜態(tài)測試技術(shù)利用靜態(tài)測試技術(shù):不運行被測試程序,對代碼經(jīng)過檢驗、閱讀進行分析。三步曲:走查(WalkThrough)。審查(Inspection)。評審(Review)tscxjtu@163.com第17頁編碼標準和規(guī)范標準:建立起來必須恪守規(guī)則。規(guī)范:提議最正確做法,推薦更加好方式。實施標準和規(guī)范原因:可靠性??勺x性和可維護性??梢浦残?。如Java代碼書寫規(guī)范、C語言編碼標準等tscxjtu@163.com第18頁走查(WalkThrough)定義:采取講解、討論和模擬運行方式進行查找錯誤活動。注意:引導小組組員在走查前通讀設(shè)計和編碼。限時,防止跑題。發(fā)覺問題適當統(tǒng)計,防止現(xiàn)場修改。檢驗關(guān)鍵點是代碼是否符合標準和規(guī)范,是否有邏輯錯誤。tscxjtu@163.com第19頁審查(Inspection)定義:采取講解、提問方式進行,普通有正式計劃、流程和結(jié)果。主要方法采取缺點檢驗表。注意:以會議形式,制訂會議目標、流程和規(guī)則,結(jié)束后要編寫匯報。按缺點檢驗表逐項檢驗。發(fā)覺問題適當統(tǒng)計,防止現(xiàn)場修改。發(fā)覺重大缺點,更正后會議需要重開。檢驗關(guān)鍵點是缺點檢驗表,所以該表要依據(jù)項目不一樣不停積累完善。tscxjtu@163.com第20頁走查與審查比較tscxjtu@163.com走查審查準備通讀設(shè)計和編碼應準備好需求描述文檔、程序設(shè)計文檔、程序源代碼清單、代碼編碼標準和代碼缺點檢驗表形式非正式會議正式會議參加人員開發(fā)人員為主項目組組員包含測試人員主要技術(shù)方法無缺點檢驗表注意事項限時、不要現(xiàn)場修改代碼限時、不要現(xiàn)場修改代碼生成文檔會議統(tǒng)計靜態(tài)分析錯誤匯報目標代碼標準規(guī)范,無邏輯錯誤代碼標準規(guī)范,無邏輯錯誤第21頁評審(Review)定義:通常在審查會后進行,審查小組依據(jù)統(tǒng)計和匯報進行評定。注意:充分審查了所要求代碼,而且全部編碼準則被恪守。審查中發(fā)覺錯誤已全部修改。tscxjtu@163.com第22頁5.4動態(tài)測試技術(shù)利用動態(tài)測試需要真正將程序運行起來,需要設(shè)計系列測試用例確保測試完整性和有效性。白盒測試黑盒(灰盒)測試tscxjtu@163.com第23頁白盒測試方法主要要邏輯驅(qū)動法和基本路徑法。語句覆蓋。判定覆蓋。條件覆蓋。判定/條件覆蓋。條件組合覆蓋。路徑覆蓋。循環(huán)覆蓋。tscxjtu@163.com詳細內(nèi)容第14章軟件測試用例設(shè)計第24頁黑盒測試方法運行單元程序有時需要基于被測單元接口,開發(fā)對應驅(qū)動模塊和樁模塊(根)。有些參考書誤導:單元測試采取白盒測試技術(shù),由開發(fā)人員完成。驅(qū)動模塊(drive):對底層或子層模塊進行測試所編寫調(diào)用這些模塊程序。樁模塊(stub):對頂層或上層模塊進行測試時所編寫替換下層模塊程序。tscxjtu@163.com第25頁黑盒慣用方法等價類劃分法邊界值分析法三種數(shù)據(jù):錯誤推測法--正常數(shù)據(jù)因果圖法--錯誤數(shù)據(jù)功效圖法--邊緣數(shù)據(jù)另外還得考慮接口測試、性能測試、內(nèi)存測試性能分析內(nèi)存分析tscxjtu@163.com第26頁5.6調(diào)試與評定調(diào)試與測試對象及采取方法有很大程度上相同,調(diào)試還用到斷點控制等排錯方法,但其目標卻完全不一樣。測試是為了找出軟件中存在缺點,而調(diào)試是為了處理存在缺點。單元測試經(jīng)過普通準則:軟件單元功效與設(shè)計需求一致。
軟件單元接口與設(shè)計需求一致。能夠正確處理輸入和運行中錯誤。在單元測試中發(fā)覺錯誤已經(jīng)得到修改而且經(jīng)過了測試。到達了相關(guān)覆蓋率要求。完成軟件單元測試匯報tscxjtu@163.com第27頁單元測試檢驗表(1)借助單元測試檢驗表進行評定。案例:單元測試檢驗表單元名稱___________系統(tǒng)_______________結(jié)構(gòu)______________任務(wù)編號____________________首次測試日期_________________關(guān)鍵測試項是否已糾正有沒有任何輸入?yún)?shù)沒有使用?有沒有任何輸出參數(shù)沒有產(chǎn)生?有沒有任何數(shù)據(jù)類型不正確或不一致?有沒有任何算法與PDL或功效需求中描述不一致?有沒有任何局部變量使用前沒有初始化?有沒有任何外部接口編碼錯誤?即調(diào)用語句、文件存取、數(shù)據(jù)庫錯誤。有沒有任何邏輯路徑錯誤?該單元是否有多個入口或多個正常出口?tscxjtu@163.com第28頁單元測試檢驗表(2)額外測試項8.該單元中有任何地方與PDL與PROLOG中描述不一致?9.代碼中有沒有任何偏離本項目標準地方?10.代碼中有沒有任何對于用戶來說不清楚錯誤提醒信息?11.假如該單元是設(shè)計為可重用,代碼中是有可能妨礙重用地方?采取動作和說明(請用單獨一頁或多頁。每一項動作必須指出所引用問題。)審查結(jié)果1.假如上述11個問題答案均為"否",那么測試經(jīng)過,請在此標識而且在最終署名。2.假如代碼存在嚴重問題,比如多個關(guān)鍵問題答案為"是",那么程序編制者糾正這些錯誤,而且必須重新安排一次單元測試。下一次單元測試日期:_________________________3.假如代碼存在小缺點,那么程序編制者糾正這些錯誤,而且仲裁者必須安排一次跟蹤會議。跟蹤會議日期:_________________________測試人署名:____
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 路基修復夜間施工方案
- 別墅合同范本
- 中介門面出租合同范例
- 合理服裝租賃合同范本
- 介紹客戶合同范例
- 借名買房合同范例
- 住宅底商租賃合同范本
- 厚街生鮮蔬菜配送合同范例
- 土地挖地合同范本
- 企業(yè)員工長期合同范例
- 徐金桂行政法與行政訴訟法新講義
- 瀝青拌合設(shè)備結(jié)構(gòu)認知
- GB/T 13234-2018用能單位節(jié)能量計算方法
- (課件)肝性腦病
- 北師大版五年級上冊數(shù)學教學課件第5課時 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請書
- 高考物理二輪專題課件:“配速法”解決擺線問題
- 檢驗科生物安全風險評估報告
- 京頤得移動門診產(chǎn)品輸液
- 如何做一名合格的帶教老師PPT精選文檔
評論
0/150
提交評論