




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試白盒測(cè)試第1頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月循環(huán)測(cè)試1程序插樁技術(shù)2靜態(tài)測(cè)試方法3白盒測(cè)試總結(jié)4第2頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月引例有如下代碼(C語(yǔ)言):
For(i=0;i<num;i++)
{
k=0;for(j=k+1;j<n;j++)
{
if(A[i][j]<A[i][k])k=j;
}B[i]=A[i][k];
}
該循環(huán)的測(cè)試用例設(shè)計(jì)思路是怎樣的?
循環(huán)測(cè)試第3頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月循環(huán)分為4種不同類型:簡(jiǎn)單循環(huán)嵌套循環(huán)連鎖循環(huán)(串接循環(huán))非結(jié)構(gòu)循環(huán)(不規(guī)則循環(huán))第4頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月第5頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月
(1)簡(jiǎn)單循環(huán)測(cè)試①零次循環(huán):從循環(huán)入口到出口
②一次循環(huán):檢查循環(huán)初始值
③二次循環(huán):兩次通過(guò)循環(huán)
④m次循環(huán):檢查多次循環(huán)
⑤最大次數(shù)循環(huán)n、比最大次數(shù)多一次n+1、少一次的循環(huán)n-1。第6頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月例:求最小值k=i;for(j=i+1;j<=n;j++)
if(A[j]<A[k])k=j;
第7頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月k=i;j=i+1;j<=n?A[j]<A[k]?k=jj++fdcabe第8頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月第9頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月(2)
嵌套循環(huán)測(cè)試①
對(duì)最內(nèi)層循環(huán)做簡(jiǎn)單循環(huán)的全部測(cè)試。所有其它層的循環(huán)變量置為最小值;②逐步外推,對(duì)其外面一層循環(huán)進(jìn)行測(cè)試。測(cè)試時(shí)保持所有外層循環(huán)的循環(huán)變量取最小值,所有其它嵌套內(nèi)層循環(huán)的循環(huán)變量取“典型”值。③反復(fù)進(jìn)行,直到所有各層循環(huán)測(cè)試完畢。④
對(duì)全部各層循環(huán)同時(shí)取最小循環(huán)次數(shù),或者同時(shí)取最大循環(huán)次數(shù)第10頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月回到引例有如下代碼(C語(yǔ)言):
For(i=0;i<num;i++)
{
k=0;for(j=k+1;j<n;j++)
{
if(A[i][j]<A[i][k])k=j;
}B[i]=A[i][k];
}
應(yīng)用嵌套循環(huán)的測(cè)試思路,應(yīng)該怎么設(shè)計(jì)測(cè)試用例呢?第11頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月(3)連鎖循環(huán)
如果各個(gè)循環(huán)互相獨(dú)立,則可以用與簡(jiǎn)單循環(huán)相同的方法進(jìn)行測(cè)試。但如果幾個(gè)循環(huán)不是互相獨(dú)立的,則需要使用測(cè)試嵌套循環(huán)的辦法來(lái)處理。(4)非結(jié)構(gòu)循環(huán)
這一類循環(huán)應(yīng)該使用結(jié)構(gòu)化程序設(shè)計(jì)方法重新設(shè)計(jì)測(cè)試用例。第12頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月方法簡(jiǎn)介如果我們想要了解一個(gè)程序在某次運(yùn)行中所有可執(zhí)行語(yǔ)句被覆蓋的情況,或是每個(gè)語(yǔ)句實(shí)際執(zhí)行次數(shù),最好的辦法就是利用程序插樁技術(shù).程序插樁技術(shù)第13頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月在軟件動(dòng)態(tài)測(cè)試中,程序插樁(ProgramInstrumentation)是一種基本的測(cè)試手段方法簡(jiǎn)介:借助往被測(cè)程序中插入操作,來(lái)實(shí)現(xiàn)測(cè)試目的的方法。最簡(jiǎn)單的插樁:在程序中插入打印語(yǔ)句printf(“…”)語(yǔ)句第14頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月程序從入口開(kāi)始執(zhí)行,到出口結(jié)束,凡經(jīng)歷的計(jì)數(shù)語(yǔ)句都能記錄下該程序點(diǎn)的執(zhí)行次數(shù)。如果我們?cè)诔绦虻娜肟谔庍€插入了對(duì)計(jì)數(shù)器C(i)初始化的語(yǔ)句,在出口處插入了打印這些計(jì)數(shù)器的語(yǔ)句,就構(gòu)成了完整的插樁程序。它就能記錄并輸出在各程序點(diǎn)上語(yǔ)句的實(shí)際執(zhí)行次數(shù).第15頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月右圖為插樁之后的程序,箭頭所指為插入的語(yǔ)句。原程序的語(yǔ)句已略去。第16頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月例:求取兩個(gè)整數(shù)X和Y的最大公約數(shù)程序如下: intgsd(intX,intY) {intQ=X; intR=Y;while(Q!=R) { if(Q>R) Q=Q-R; elseR=R-Q;} returnQ; }第17頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月可以根據(jù)程序繪制出其流程圖為了記錄該程序中語(yǔ)句的執(zhí)行次數(shù),我們使用插樁技術(shù)插如如下語(yǔ)句:C(i)=C(i)+1,i=1,2,…,6插樁之后的流程圖如下:第18頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月第19頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月設(shè)計(jì)插樁程序時(shí)需要考慮的問(wèn)題包括:(1)需要探測(cè)哪些信息(2)在程序的什么部位設(shè)置探測(cè)點(diǎn)(3)需要設(shè)置多少個(gè)探測(cè)點(diǎn)前兩個(gè)問(wèn)題需要結(jié)合具體的問(wèn)題解決,并不能給出籠統(tǒng)的回答。至于第三個(gè)問(wèn)題,需要考慮如何設(shè)置最少的探測(cè)點(diǎn)!第20頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件,只是檢查和審閱,主要對(duì)軟件的編程格式,結(jié)構(gòu)等方面進(jìn)行評(píng)估。靜態(tài)測(cè)試
代碼檢查靜態(tài)結(jié)構(gòu)分析代碼質(zhì)量度量代碼審查代碼走查桌面檢查控制流分析數(shù)據(jù)流分析信息流分析第21頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月代碼審查(codeinspection)程序員和測(cè)試員組成的審查小組通過(guò)閱讀、討論和爭(zhēng)議,對(duì)程序進(jìn)行靜態(tài)分析的過(guò)程。第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書(shū)、程序文本等相關(guān)文檔第二步:召開(kāi)程序?qū)彶闀?huì),開(kāi)發(fā)人員讀程序,審查小組討論、發(fā)現(xiàn)、解決問(wèn)題
第22頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月內(nèi)容檢查代碼和設(shè)計(jì)的一致性檢查代碼對(duì)標(biāo)準(zhǔn)的遵循、可讀性檢查代碼的邏輯表達(dá)的正確性檢查代碼結(jié)構(gòu)的合理性形成公司積累變成容易出錯(cuò)的checklist第23頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月程序員和測(cè)試員組成的審查小組通過(guò)邏輯運(yùn)行程序,發(fā)現(xiàn)問(wèn)題。第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書(shū)、程序文本等相關(guān)文檔第二步:利用測(cè)試用例,使程序邏輯運(yùn)行,記錄程序的蹤跡,發(fā)現(xiàn)、討論、解決問(wèn)題第24頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月可視為由單人進(jìn)行的代碼檢查或代碼走查。是程序員對(duì)源程序代碼進(jìn)行分析、檢驗(yàn),并補(bǔ)充相關(guān)的文檔,發(fā)現(xiàn)程序中的錯(cuò)誤的一種方法。
第25頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月在白盒測(cè)試中,可以使用各種測(cè)試方法的綜合測(cè)試如下所示:在測(cè)試中,應(yīng)盡量先用工具進(jìn)行靜態(tài)結(jié)構(gòu)分析。測(cè)試中可采取先靜態(tài)后動(dòng)態(tài)的組合方式:先進(jìn)行靜態(tài)結(jié)構(gòu)分析、代碼檢查和靜態(tài)質(zhì)量度量,再進(jìn)行覆蓋率測(cè)試。第26頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月利用靜態(tài)分析的結(jié)果作為引導(dǎo),通過(guò)代碼檢查和動(dòng)態(tài)測(cè)試的方式對(duì)靜態(tài)分析結(jié)果進(jìn)行進(jìn)一步的確認(rèn),使測(cè)試工作更為有效。覆蓋率測(cè)試是白盒測(cè)試的重點(diǎn),一般可使用基本路徑測(cè)試法達(dá)到語(yǔ)句覆蓋標(biāo)準(zhǔn);對(duì)于軟件的重點(diǎn)模塊,應(yīng)使用多種覆蓋率標(biāo)準(zhǔn)衡量代碼的覆蓋率;第27頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月在不同的測(cè)試階段,測(cè)試的側(cè)重點(diǎn)不同:在單元測(cè)試階段,以代碼檢查、邏輯覆蓋為主;在集成測(cè)試階段,需要增加靜態(tài)結(jié)構(gòu)分析、靜態(tài)質(zhì)量度量;在系統(tǒng)測(cè)試階段,應(yīng)根據(jù)黑盒測(cè)試的結(jié)果,采取相應(yīng)的白盒測(cè)試。第28頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月邏輯覆蓋方法基本路徑測(cè)試方法循環(huán)測(cè)試程序插樁技術(shù)靜態(tài)測(cè)試法第29頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月為實(shí)現(xiàn)測(cè)試的邏輯覆蓋,必須設(shè)計(jì)足夠多的測(cè)試用例,并使用這些測(cè)試用例執(zhí)行被測(cè)程序,實(shí)施測(cè)試.我們關(guān)心的是:對(duì)于某個(gè)具體的程序來(lái)說(shuō),至少需要設(shè)計(jì)多少個(gè)測(cè)試用例.這里提供一種估算最少測(cè)試用例數(shù)的方法.我們知道,結(jié)構(gòu)化程序是由3種基本控制結(jié)構(gòu)組成:順序型(構(gòu)成串行操作),選擇型(構(gòu)成分支操作)和重復(fù)型(構(gòu)成循環(huán)操作).為了把問(wèn)題化簡(jiǎn),避免出現(xiàn)測(cè)試用例極多的組合爆炸,把構(gòu)成循環(huán)操作的重復(fù)型結(jié)構(gòu)用選擇結(jié)構(gòu)代替.這樣,任一循環(huán)便改造成進(jìn)入循環(huán)體或不進(jìn)入循環(huán)體的分支操作了.第30頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月用N-S圖表示程序的3種基本控制結(jié)構(gòu):
圖中A、B、C、D、S均表示要執(zhí)行的操作,P是可取真假值的謂詞,Y表真值,N表假值。圖中的(c)和(d)兩種重復(fù)型結(jié)構(gòu)代表了兩種循環(huán)。在做了簡(jiǎn)化循環(huán)的假設(shè)以后,對(duì)于一般的程序控制流,我們只考慮選擇型結(jié)構(gòu)。事實(shí)上它已經(jīng)能體現(xiàn)順序型和重復(fù)型結(jié)構(gòu)了。第31頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月
顯然,要測(cè)試這個(gè)小程序,需要至少提供4個(gè)測(cè)試用例才能作到邏輯覆蓋,使得ac、ad、bc及bd操作均得到檢驗(yàn)。其實(shí),這里的4是圖中的第1個(gè)分支謂詞引出的兩個(gè)操作,及第2個(gè)分支謂詞引出的兩個(gè)操作組合起來(lái)而得到的,即2×2=4。并且,這里的2是由于兩個(gè)并列的操作,即1+1=2而得到的。例如,下圖表達(dá)了兩個(gè)順序執(zhí)行的分支結(jié)構(gòu)。當(dāng)兩個(gè)分支謂詞P1和P2取不同值時(shí),將分別執(zhí)行a或b及c或d操作。第32頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月對(duì)于一般的、更為復(fù)雜的問(wèn)題,估算最少測(cè)試用例個(gè)數(shù)的原則也是同樣的:如果在N-S圖中存在有并列的層次A1、A2,A1和A2的最少測(cè)試用例個(gè)數(shù)分別為a1、a2,則由A1、A2兩層所組合的N-S圖對(duì)應(yīng)的最少測(cè)試用例數(shù)為a1×a2。如果在N-S圖中不存在有并列的層次,則對(duì)應(yīng)的最少測(cè)試用例數(shù)由并列的操作數(shù)決定,即N-S圖中除謂詞之外的操作框的個(gè)數(shù)。第33頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月例:如下圖所示的兩個(gè)N-S圖,至少需要多少個(gè)測(cè)試用例完成邏輯覆蓋?
對(duì)于第一個(gè)N-S圖:由于圖中并不存在并列的層次,最少測(cè)試用例數(shù)由并列的操作數(shù)決定,即為1+1+1=3。對(duì)于第二個(gè)N-S圖:由于圖中沒(méi)有包含并列的層次,最少測(cè)試用例數(shù)仍由并列的操作數(shù)決定,即為1+1+1+1+1=5。第34頁(yè),課件共37頁(yè),創(chuàng)作于2023年2月例:如下圖所示的N-S圖,至少需要多少個(gè)測(cè)試用例完成邏輯覆蓋?
分析該N-S圖:圖中的2345和67是并列的兩層。其中,2345層對(duì)應(yīng)的最少測(cè)試用例數(shù)為1+1+1+1+1=5,67層對(duì)應(yīng)的測(cè)試用例數(shù)為1+1+1=3,2345和67這兩層組合后對(duì)應(yīng)的測(cè)試用例數(shù)為5×3=15。最后,由于兩層組合后的部分是不滿足謂詞1時(shí)所要做的操作,還要加上滿足謂詞1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 評(píng)估師技能提升策略試題及答案
- 高三生物試題
- 2024年計(jì)算機(jī)基礎(chǔ)知識(shí)的傳承與創(chuàng)新試題及答案
- 如何為寵物制定個(gè)性化飲食計(jì)劃試題及答案
- 2025項(xiàng)目部管理人員安全培訓(xùn)考試試題(完整)
- 2025公司項(xiàng)目部負(fù)責(zé)人安全培訓(xùn)考試試題答案完整版
- 2025年工廠車間安全培訓(xùn)考試試題(5A)
- 2025工廠員工安全培訓(xùn)考試試題附參考答案【綜合題】
- 寵物營(yíng)養(yǎng)在零售市場(chǎng)的應(yīng)用探索及試題及答案
- 汽車維修常見(jiàn)工具及其使用試題及答案
- 旅行社運(yùn)營(yíng)實(shí)務(wù)電子課件 2.2 咨詢接待和推介旅游產(chǎn)品
- 數(shù)字電子技術(shù)基礎(chǔ)第3章數(shù)字電子技術(shù)基礎(chǔ)課件
- 中式烹調(diào)師初級(jí)試卷
- 高考倒計(jì)時(shí)60天課件
- (完整版)人教版小學(xué)3-6年級(jí)英語(yǔ)單詞表-可直接打印
- 機(jī)電安裝總進(jìn)度計(jì)劃?rùn)M道圖
- 起重吊裝作業(yè)安全綜合驗(yàn)收記錄表
- 園林綠化工程監(jiān)理實(shí)施細(xì)則(完整版)
- 夢(mèng)想(英語(yǔ)演講稿)PPT幻燈片課件(PPT 12頁(yè))
- 中國(guó)聯(lián)通員工績(jī)效管理實(shí)施計(jì)劃方案
- 法院刑事審判庭速裁庭廉政風(fēng)險(xiǎn)防控責(zé)任清單
評(píng)論
0/150
提交評(píng)論