版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
內(nèi)容(1)單元測試驅(qū)動程序樁程序互動(2)集成測試
自頂向下自底向上混合策略三明治方法1單元測試什么是單元測試?單元測試就是對已實現(xiàn)的軟件最小單元進行測試,以保證構(gòu)成軟件系統(tǒng)的各個單元的質(zhì)量
單元測試活動中,強調(diào)被測試對象的獨立性單元測試應從各個層次來對單元內(nèi)部算法、外部功能實現(xiàn)等進行檢驗,包括對程序代碼的評審和通過運行單元程序來驗證其功能特性等內(nèi)容。2單元測試單元實現(xiàn)了其特定的功能,如果需要,返回正確的值單元的運行能夠覆蓋預先設定的各種邏輯在單元工作過程中,其內(nèi)部數(shù)據(jù)能夠保持完整性,包括全局變量的處理、內(nèi)部數(shù)據(jù)的形式、內(nèi)容及相互關(guān)系等不發(fā)生錯誤可以接受正確數(shù)據(jù),也能處理非法數(shù)據(jù),在數(shù)據(jù)邊界條件上,單元也能夠正確工作該單元的算法合理,性能良好該單元代碼經(jīng)過掃描,沒有發(fā)現(xiàn)任何安全性問題3單元測試單元測試的方法單元測試主要采用白盒測試方法,輔以黑盒測試方法。白盒測試方法應用于代碼評審、單元程序檢驗之中,而黑盒測試方法則應用于模塊、組件等大單元的功能測試之中4單元測試黑盒測試方法(Blake-boxTesting),是把程序看作一個不能打開的黑盒子,不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,而是考察數(shù)據(jù)的輸入、條件限制和數(shù)據(jù)輸出,完成測試
白盒測試方法(White-boxTesting),也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試方法是根據(jù)模塊內(nèi)部結(jié)構(gòu)了解,基于內(nèi)部邏輯結(jié)構(gòu),針對程序語句、路徑、變量狀態(tài)等來進行測試,檢驗程序中的各個分支條件是否得到滿足、每條執(zhí)行路徑是否按預定要求正確的工作。黑盒測試和白盒測試5單元測試驅(qū)動程序(driver),對底層或子層模塊進行(單元或集成)測試時所編制的調(diào)用被測模塊的程序,用以模擬被測模塊的上級模塊
樁程序(stub),也有人稱為存根程序,對頂層或上層模塊進行測試時,所編制的替代下層模塊的程序,用以模擬被測模塊工作過程中所調(diào)用的模塊。6單元測試ABCDEFGTest驅(qū)動程序調(diào)用運行樁程序樁程序測試結(jié)果被測模塊B7單元測試樁單元intstub_add(inta,intb)
{
if((a==1)&&(b==1))
return2;
if((a==2)&&(b==-1))
return1;
if((a==3)&&(b==0))
return3;
if((a==4)&&(b==1))
return
5;
.............
}解釋這段代碼含義
volunteer??8單元測試驅(qū)動單元解釋這段代碼含義
volunteer??voiddriver(X,Y,Z)
{
intsum=0;
sum=add(X,Y);
if(Z==sum)
printf("testcaseCAL_ST_SRS001_001OK!\n");
else
printf("testcaseCAL_ST_SRS001_001fail!\n);
}
9單元測試驅(qū)動程序和樁程序示意圖volunteer??ABCDEFGTest10單元測試驅(qū)動程序和樁程序示意圖volunteer??ABCDEFGTest11集成測試非漸增式模式采用大棒集成方法,先是對每一個子模塊進行測試(單元測試階段),然后將所有模塊一次性的全部集成起來進行集成測試。因為所有的模塊一次集成的,所以很難確定出錯的真正位置、所在的模塊、錯誤的原因。這種方法并不推薦在任何系統(tǒng)中使用,適合在規(guī)模較小的應用系統(tǒng)中使用。12集成測試非漸增式模式13集成測試漸增式集成模式與非漸增式集成模式非漸增式測試模式:先分別測試每個模塊,再把所有模塊按設計要求放在一起結(jié)合成所要的程序,如大棒模式。漸增式測試模式:把下一個要測試的模塊同已經(jīng)測試好的模塊結(jié)合起來進行測試,測試完以后再把下一個應該測試的模塊結(jié)合進來測試。14集成測試自頂向下15集成測試非漸增式模式AS3S4S5d2Cd4Ed5Fd1Bs1d3s2DABCDEFABCDEF(1)程序結(jié)構(gòu)圖(2)單元測試示意圖16集成測試自頂向下:深度優(yōu)先ABCDEFvolunteer??17集成測試自頂向下:深度優(yōu)先18集成測試自頂向下:寬度優(yōu)先ABCDEFvolunteer??19集成測試自頂向下:寬度優(yōu)先20集成測試自底向上21集成測試自底向上ABCDEFvolunteer??22集成測試自底向上ABCDEFd2Cd1Ed3Fd4BEd5FDABCDEF23集成測試混合策略混合法:對軟件結(jié)構(gòu)中較上層,使用的是“自頂向下”法;對軟件結(jié)構(gòu)中較下層,使用的是“自底向上”法,兩者相結(jié)合
24集成測試三明治方法采用三明治方法的優(yōu)點是:它將自頂向下和自底向上的集成方法有機地結(jié)合起來,不需要寫樁程序因為在測試初自底向上集成已經(jīng)驗證了底層模塊的正確性。采用這種方法的主要缺點是:在真正集成之前每一個獨立的模塊沒有完全測試過。25集成測試三明治方法ABCDEFvolunteer??26集成測試三明治方法27集成測試改進的三明治方
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024約定子女探望權(quán)及離婚后財產(chǎn)分割與子女教育協(xié)議3篇
- 2025年農(nóng)業(yè)科技產(chǎn)品研發(fā)與推廣合同3篇
- 二零二五年度民宿餐飲服務員勞動協(xié)議范本3篇
- 2024年04月新疆興業(yè)銀行烏魯木齊分行春季校園招考筆試歷年參考題庫附帶答案詳解
- 專業(yè)司機招聘協(xié)議2024版示例一
- 2025年度廠房租賃合同標準版(含租賃保證金)3篇
- 臨時崗位:2024政府工作人員協(xié)議版
- 二零二四全新鋼材供應鏈居間管理服務協(xié)議3篇
- 2025年度產(chǎn)業(yè)園區(qū)場商位租賃合作合同4篇
- 2025年農(nóng)膜生產(chǎn)設備租賃與維修服務合同3篇
- 申根簽證申請表模板
- 企業(yè)會計準則、應用指南及附錄2023年8月
- 諒解書(標準樣本)
- 2022年浙江省事業(yè)編制招聘考試《計算機專業(yè)基礎知識》真題試卷【1000題】
- 認養(yǎng)一頭牛IPO上市招股書
- GB/T 3767-2016聲學聲壓法測定噪聲源聲功率級和聲能量級反射面上方近似自由場的工程法
- GB/T 23574-2009金屬切削機床油霧濃度的測量方法
- 西班牙語構(gòu)詞.前后綴
- 動物生理學-全套課件(上)
- 河北省衡水市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- DB32-T 2665-2014機動車維修費用結(jié)算規(guī)范-(高清現(xiàn)行)
評論
0/150
提交評論