單元測試-STMT省公開課金獎全國賽課一等獎微課獲獎?wù)n件_第1頁
單元測試-STMT省公開課金獎全國賽課一等獎微課獲獎?wù)n件_第2頁
單元測試-STMT省公開課金獎全國賽課一等獎微課獲獎?wù)n件_第3頁
單元測試-STMT省公開課金獎全國賽課一等獎微課獲獎?wù)n件_第4頁
單元測試-STMT省公開課金獎全國賽課一等獎微課獲獎?wù)n件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件測試方法和技術(shù)

-Ch.5單元測試tscxjtu@163.comleontscxjtu@163.com1/33第三四章不講tscxjtu@163.com軟件質(zhì)量標(biāo)準(zhǔn)軟件測試規(guī)范

CMM思想和結(jié)構(gòu)體系建立軟件測試管理和評判體系2/33第五章單元測試tscxjtu@163.com5.1什么是單元測試5.2單元測試目標(biāo)和任務(wù)5.3靜態(tài)測試技術(shù)利用5.4動態(tài)測試技術(shù)利用5.5調(diào)試與評定5.6單元測試過程與文檔管理5.7單元測試慣用工具介紹3/335.1什么是單元測試測試4個階段:單元測試

集成測試

系統(tǒng)測試

驗收測試按階段進(jìn)行測試是一個基本測試策略tscxjtu@163.com4/335.1什么是單元測試程序員喝酒比喻大家喝是啤酒。這時你入座了。你給自己倒了杯可樂,這叫低配置。你給自已倒了杯啤酒,這叫標(biāo)準(zhǔn)配置。你給自己倒了杯茶水,這茶顏色還跟啤酒一樣,這叫木馬。你給自己倒了杯可樂,還滴了幾滴醋,不但顏色跟啤酒一樣,而且不冒熱氣還有泡泡,這叫超級木馬。你同事給你倒了杯白酒,這叫推薦配置。人到齊了,酒席開始了。你先一個人喝了一小口,這叫單元測試。你跟旁邊人說哥們咱們隨意,這叫交叉測試。不過他說不行,這杯要干了,這叫壓力測試。于是你說那就大家一起來吧,這叫內(nèi)部測試。這個時候boss向全場舉杯了,這叫公開測試。tscxjtu@163.com5/335.1什么是單元測試菜過三巡,你就不跟他們客氣了。你向?qū)γ嫒司淳?,這叫p2p.你向?qū)γ嫒司淳?,他回敬你,你又再敬他……,這叫tcp.你向一桌人挨個敬酒,這叫令牌環(huán)。你說只要是弟兄就干了這杯,這叫廣播??墒悄闵纤緅j聽了不高興了,只有弟兄么,罰酒三杯。這叫炸彈??墒悄阆录塵m聽了不高興了,我喝一口,你喝一杯,這叫惡意攻擊。有一個人過來向這桌敬酒,你說不行你先過了我這關(guān),這叫防火墻。你小弟們過來敬你酒,這叫一對多。你是boss,全部些人過來敬你酒,這叫服務(wù)器。酒是一樣,可是喝法是不一樣。你喝了一杯,boss喝了一口,這叫c#。你喝了一杯,mm喝了一口,這叫vb。你喝了一杯,你大哥喝了半杯,這叫c++。你喝了半杯,你小弟喝了一杯,這叫匯編。你喝了一杯,你搭檔也喝了一杯,這叫c。tscxjtu@163.com6/335.1什么是單元測試酒是一樣,可是喝酒人是不一樣。你越喝臉越紅,這叫頻繁分配釋放資源。你越喝臉越白,這叫資源不釋放。你已經(jīng)醉了,卻說我還能喝,叫做資源額度不足。你明明能喝,卻說我已經(jīng)醉了,叫做資源保留。你喝一段時間就上廁所,這叫cache。酒過三巡,你也該活動活動了。你一桌一桌走,這叫輪巡。你突然看到某一桌漂亮mm,走了過去,這叫優(yōu)先級。你去了坐下來就不打算走了,這叫死循環(huán)。你老大舉杯邀你過去,你只好過去,這叫開啟事件。你向一桌敬酒,他們說不行不行我們都喝白,于是你也喝白,這叫當(dāng)?shù)鼗?。你向boss敬酒,可是boss被圍了起來,你只能站在外圈,這叫排隊。你終于到了內(nèi)圈,小心翼翼向前一步,這叫訪問臨界區(qū)。你拍著boss肩膀說哥們咱們喝一杯,這叫越界。你不知喝了幾圈了,只會說兩個字,干了,這叫udp??墒沁€有些人拿著酒瓶跑過來說,剛才都沒跟你喝,這叫丟包。tscxjtu@163.com7/335.1什么是單元測試喝酒喝到最終結(jié)果都一樣你突然跑向廁所,這叫捕捉異常。你在廁所吐了,反而以為狀態(tài)不錯,這叫清空內(nèi)存。你在臺面上吐了,以為很慚愧,這叫程序異常。你在boss面前吐了,以為很害怕,這叫系統(tǒng)瓦解。你吐到了boss身上,只能索性暈倒了,這叫硬件休克。

tscxjtu@163.com8/33單元測試定義定義:單元測試是對軟件基本組成單元進(jìn)行測試。時機(jī):普通在代碼完成后由開發(fā)人員完成,QA人員輔助.概念:模塊,組件,單元單元測試對象是軟件設(shè)計最小單位——模塊。單元經(jīng)常被誤解為詳細(xì)函數(shù)或一個類方法。一個最小單元應(yīng)該有明確功效、性能定義、接口定義并能夠清楚地與其它單元區(qū)分開來。

tscxjtu@163.com9/33為何要進(jìn)行單元測試?盡早發(fā)覺錯誤錯誤發(fā)覺越早,成本越低.開發(fā)人員過于自信,后期復(fù)雜度高,發(fā)覺處理BUG困難.檢驗代碼是否符合設(shè)計和規(guī)范

tscxjtu@163.com12小時6小時3小時單元測試集成測試系統(tǒng)測試10/335.2單元測試目標(biāo)和任務(wù)目標(biāo):

單元模塊被正確編碼詳細(xì)目標(biāo):信息能否正確地流入和流出單元;在單元工作過程中,其內(nèi)部數(shù)據(jù)能否保持其完整性,包含內(nèi)部數(shù)據(jù)形式、內(nèi)容及相互關(guān)系不發(fā)生錯誤,也包含全局變量在單元中處理和影響。在為限制數(shù)據(jù)加工而設(shè)置邊界處,能否正確工作。單元運(yùn)行能否做到滿足特定邏輯覆蓋。單元中發(fā)生了錯誤,其中犯錯處理辦法是否有效。tscxjtu@163.com11/33任務(wù)1:模塊接口測試檢驗?zāi)K接口是否正確Checklist:輸入實際參數(shù)與形式參數(shù)是否一致。個數(shù)、屬性、量綱調(diào)用其它模塊實際參數(shù)與被調(diào)模塊形參是否一致。個數(shù)、屬性、量綱全程變量定義在各模塊是否一致。外部輸入、輸出文件、緩沖區(qū)、錯誤處理其它tscxjtu@163.com12/33任務(wù)2:模塊局部數(shù)據(jù)結(jié)構(gòu)測試檢驗局部數(shù)據(jù)結(jié)構(gòu)完整性Checklist:不適合或不相容類型說明。變量無初值。變量初始化或默認(rèn)值有錯。不正確變量名或從來未被使用過。出現(xiàn)上溢或下溢和地址異常。其它tscxjtu@163.com13/33任務(wù)3:模塊邊界條件測試檢驗臨界數(shù)據(jù)處理正確性(單元測試中最主要一項任務(wù))Checklist:普通正當(dāng)數(shù)據(jù)處理。普通非法數(shù)據(jù)處理。邊界值內(nèi)正當(dāng)邊界數(shù)據(jù)處理。邊界值外非法邊界數(shù)據(jù)處理。其它tscxjtu@163.com14/33任務(wù)4:模塊獨(dú)立執(zhí)行通路測試檢驗每一條獨(dú)立執(zhí)行路徑測試。確保每條語句被最少執(zhí)行一次。Checklist:算符優(yōu)先級?;旌项愋瓦\(yùn)算。精度不夠。表示式符號。循環(huán)條件,死循環(huán)。其它tscxjtu@163.com15/33任務(wù)5:模塊各條錯誤處理通路測試預(yù)見、預(yù)設(shè)各種犯錯處理是否正確有效。Checklist:輸出犯錯信息難以了解。統(tǒng)計錯誤與實際不相符。程序定義犯錯處理前系統(tǒng)已介入。異常處理不妥。未提供足夠定位犯錯信息。其它tscxjtu@163.com16/335.3靜態(tài)測試技術(shù)利用靜態(tài)測試技術(shù):不運(yùn)行被測試程序,對代碼經(jīng)過檢驗、閱讀進(jìn)行分析。三步曲:走查(WalkThrough)。審查(Inspection)。評審(Review)tscxjtu@163.com17/33編碼標(biāo)準(zhǔn)和規(guī)范標(biāo)準(zhǔn):建立起來必須恪守規(guī)則。規(guī)范:提議最正確做法,推薦更加好方式。實施標(biāo)準(zhǔn)和規(guī)范原因:可靠性??勺x性和可維護(hù)性??梢浦残浴H鏙ava代碼書寫規(guī)范、C語言編碼標(biāo)準(zhǔn)等tscxjtu@163.com18/33走查(WalkThrough)定義:采取講解、討論和模擬運(yùn)行方式進(jìn)行查找錯誤活動。注意:引導(dǎo)小組組員在走查前通讀設(shè)計和編碼。限時,防止跑題。發(fā)覺問題適當(dāng)統(tǒng)計,防止現(xiàn)場修改。檢驗關(guān)鍵點(diǎn)是代碼是否符合標(biāo)準(zhǔn)和規(guī)范,是否有邏輯錯誤。tscxjtu@163.com19/33審查(Inspection)定義:采取講解、提問方式進(jìn)行,普通有正式計劃、流程和結(jié)果。主要方法采取缺點(diǎn)檢驗表。注意:以會議形式,制訂會議目標(biāo)、流程和規(guī)則,結(jié)束后要編寫匯報。按缺點(diǎn)檢驗表逐項檢驗。發(fā)覺問題適當(dāng)統(tǒng)計,防止現(xiàn)場修改。發(fā)覺重大缺點(diǎn),更正后會議需要重開。檢驗關(guān)鍵點(diǎn)是缺點(diǎn)檢驗表,所以該表要依據(jù)項目不一樣不停積累完善。tscxjtu@163.com20/33走查與審查比較tscxjtu@163.com走查審查準(zhǔn)備通讀設(shè)計和編碼應(yīng)準(zhǔn)備好需求描述文檔、程序設(shè)計文檔、程序源代碼清單、代碼編碼標(biāo)準(zhǔn)和代碼缺點(diǎn)檢驗表形式非正式會議正式會議參加人員開發(fā)人員為主項目組組員包含測試人員主要技術(shù)方法無缺點(diǎn)檢驗表注意事項限時、不要現(xiàn)場修改代碼限時、不要現(xiàn)場修改代碼生成文檔會議統(tǒng)計靜態(tài)分析錯誤匯報目標(biāo)代碼標(biāo)準(zhǔn)規(guī)范,無邏輯錯誤代碼標(biāo)準(zhǔn)規(guī)范,無邏輯錯誤21/33評審(Review)定義:通常在審查會后進(jìn)行,審查小組依據(jù)統(tǒng)計和匯報進(jìn)行評定。注意:充分審查了所要求代碼,而且全部編碼準(zhǔn)則被恪守。審查中發(fā)覺錯誤已全部修改。tscxjtu@163.com22/335.4動態(tài)測試技術(shù)利用動態(tài)測試需要真正將程序運(yùn)行起來,需要設(shè)計系列測試用例確保測試完整性和有效性。白盒測試黑盒(灰盒)測試tscxjtu@163.com23/33白盒測試方法主要要邏輯驅(qū)動法和基本路徑法。語句覆蓋。判定覆蓋。條件覆蓋。判定/條件覆蓋。條件組合覆蓋。路徑覆蓋。循環(huán)覆蓋。tscxjtu@163.com詳細(xì)內(nèi)容第14章軟件測試用例設(shè)計24/33黑盒測試方法運(yùn)行單元程序有時需要基于被測單元接口,開發(fā)對應(yīng)驅(qū)動模塊和樁模塊(根)。有些參考書誤導(dǎo):單元測試采取白盒測試技術(shù),由開發(fā)人員完成。驅(qū)動模塊(drive):對底層或子層模塊進(jìn)行測試所編寫調(diào)用這些模塊程序。樁模塊(stub):對頂層或上層模塊進(jìn)行測試時所編寫替換下層模塊程序。tscxjtu@163.com25/33黑盒慣用方法等價類劃分法邊界值分析法三種數(shù)據(jù):錯誤推測法--正常數(shù)據(jù)因果圖法--錯誤數(shù)據(jù)功效圖法--邊緣數(shù)據(jù)另外還得考慮接口測試、性能測試、內(nèi)存測試性能分析內(nèi)存分析tscxjtu@163.com26/335.6調(diào)試與評定調(diào)試與測試對象及采取方法有很大程度上相同,調(diào)試還用到斷點(diǎn)控制等排錯方法,但其目標(biāo)卻完全不一樣。測試是為了找出軟件中存在缺點(diǎn),而調(diào)試是為了處理存在缺點(diǎn)。單元測試經(jīng)過普通準(zhǔn)則:軟件單元功效與設(shè)計需求一致。

軟件單元接口與設(shè)計需求一致。能夠正確處理輸入和運(yùn)行中錯誤。在單元測試中發(fā)覺錯誤已經(jīng)得到修改而且經(jīng)過了測試。到達(dá)了相關(guān)覆蓋率要求。完成軟件單元測試匯報tscxjtu@163.com27/33單元測試檢驗表(1)借助單元測試檢驗表進(jìn)行評定。案例:單元測試檢驗表單元名稱___________系統(tǒng)_______________結(jié)構(gòu)______________任務(wù)編號____________________首次測試日期_________________關(guān)鍵測試項是否已糾正有沒有任何輸入?yún)?shù)沒有使用?有沒有任何輸出參數(shù)沒有產(chǎn)生?有沒有任何數(shù)據(jù)類型不正確或不一致?有沒有任何算法與PDL或功效需求中描述不一致?有沒有任何局部變量使用前沒有初始化?有沒有任何外部接口編碼錯誤?即調(diào)用語句、文件存取、數(shù)據(jù)庫錯誤。有沒有任何邏輯路徑錯誤?該單元是否有多個入口或多個正常出口?tscxjtu@163.com28/33單元測試檢驗表(2)額外測試項8.該單元中有任何地方與PDL與PROLOG中描述不一致?9.代碼中有沒有任何偏離本項目標(biāo)準(zhǔn)地方?10.代碼中有沒有任何對于用戶來說不清楚錯誤提醒信息?11.假如該單元是設(shè)計為可重用,代碼中是有可能妨礙重用地方?采取動作和說明(請用單獨(dú)一頁或多頁。每一項動作必須指出所引用問題。)審查結(jié)果1.假如上述11個問題答案均為"否",那么測試經(jīng)過,請在此標(biāo)識而且在最終署名。2.假如代碼存在嚴(yán)重問題,比如多個關(guān)鍵問題答案為"是",那么程序編制者糾正這些錯誤,而且必須重新安排一次單元測試。下一次單元測試日期:_________________________3.假如代碼存在小缺點(diǎn),那么程序編制者糾正這些錯誤,而且仲裁者必須安排一次跟蹤會議。跟蹤會議日期:_________________________測試人署名:_____

溫馨提示

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

最新文檔

評論

0/150

提交評論