白盒測(cè)試方法實(shí)驗(yàn)報(bào)告_第1頁
白盒測(cè)試方法實(shí)驗(yàn)報(bào)告_第2頁
白盒測(cè)試方法實(shí)驗(yàn)報(bào)告_第3頁
白盒測(cè)試方法實(shí)驗(yàn)報(bào)告_第4頁
白盒測(cè)試方法實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)報(bào)告課程名稱 軟件測(cè)試題目 白盒方法測(cè)試院系 信息工程學(xué)院 班級(jí) 計(jì)算機(jī)學(xué)號(hào) -學(xué)生姓名 指導(dǎo)老師 日期 2019年一、實(shí)驗(yàn)題目白盒方法測(cè)試二、實(shí)驗(yàn)?zāi)康氖箤W(xué)生能夠更進(jìn)一步理解白盒測(cè)試方法。能夠區(qū)分語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋及路徑覆蓋所達(dá)到的覆蓋層次,并能用各層次覆蓋的設(shè)計(jì)思想設(shè)計(jì)相應(yīng)的測(cè)試用例。區(qū)分語句覆蓋、判定覆蓋、條件覆蓋的異同,掌握其測(cè)試用例設(shè)計(jì)方法和程序特征;三、實(shí)驗(yàn)環(huán)境Windows系統(tǒng)平臺(tái)和Dev-C++開發(fā)環(huán)境。四、實(shí)驗(yàn)內(nèi)容某程序的邏輯設(shè)計(jì)如下圖所示,自行分析程序結(jié)構(gòu),請(qǐng)為該程序設(shè)計(jì)測(cè)試用例使其分別滿足:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋及路徑覆蓋,并按照測(cè)試用例測(cè)試程序,完善測(cè)試用例各項(xiàng)內(nèi)容的填寫。#include<iostream>usingnamespacestd;intmain(){intF=0;intT=0;intx,y;cin>>x>>y;if(x>=50&&y>=50){F=1;}if(x+y>80){T=2;}else{T=3;}cout<<F<<endl<<T<<endl;開始abYcNx+y>80NdYef結(jié)束(x>=50)and.(y>=50_語句塊1語句塊2語句塊3開始abYcNx+y>80NdYef結(jié)束(x>=50)and.(y>=50_語句塊1語句塊2語句塊3F=0,T=0F=1T=2T=3語句塊4五、實(shí)驗(yàn)步驟依據(jù)程序邏輯結(jié)構(gòu)圖分析程序結(jié)構(gòu),找出程序的各種組合。依據(jù)實(shí)驗(yàn)要求設(shè)計(jì)測(cè)試用例使測(cè)試達(dá)到特定覆蓋。選擇自己熟悉的語言編寫程序。用各種測(cè)試用例測(cè)試程序。5.1語句覆蓋特點(diǎn):語句覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每條語句至少被執(zhí)行一次。在本例中,可執(zhí)行語句是指語句塊1到語句塊4中的語句。用例設(shè)計(jì):數(shù)據(jù)語句{x=60,y=60}1、2、3{x=30,y=30}1、4通過這兩個(gè)測(cè)試用例即達(dá)到語句覆蓋的標(biāo)準(zhǔn)(測(cè)試用例組不是唯一的)。優(yōu)點(diǎn):可以很直觀地從流程圖得到測(cè)試用例,可以測(cè)試所有的執(zhí)行語句。缺點(diǎn):語句覆蓋不能準(zhǔn)確的判斷運(yùn)算中的邏輯關(guān)系錯(cuò)誤。假設(shè)第一個(gè)判斷語句if(x>=50&&y>=50)中的“&&”被錯(cuò)誤地寫成了“||”,即if(x>=50||y>=50),使用上面設(shè)計(jì)出來的一組測(cè)試用例來進(jìn)行測(cè)試,仍然可以達(dá)到100%的語句覆蓋。在六種邏輯覆蓋標(biāo)準(zhǔn)中,語句覆蓋標(biāo)準(zhǔn)最弱的。5.2判定覆蓋特點(diǎn):判定覆蓋(分支覆蓋)要求設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中的每個(gè)判斷的“真”和“假”都至少被執(zhí)行一次。即:程序中的每個(gè)分支至少執(zhí)行一次。在本例中共有兩個(gè)判斷if(x>=50&&y>=50(記為Pl)和if(x+y>80)(記為P2)。用例設(shè)計(jì):數(shù)據(jù)P1P2{x=30,y=30}FF{x=100,y=100}TT兩個(gè)判斷的取真、假分支都已經(jīng)被執(zhí)行過,所以滿足了判斷覆蓋的標(biāo)準(zhǔn)。優(yōu)點(diǎn):由于可執(zhí)行語句要不就在判定的真分支,要不就在假分支上,判定覆蓋比語句覆蓋要多幾乎一倍的測(cè)試路徑,所以,只要滿足了判定覆蓋標(biāo)準(zhǔn)就一定滿足語句覆蓋標(biāo)準(zhǔn)。因此,判定覆蓋比語句覆蓋強(qiáng)。缺點(diǎn):判定覆蓋會(huì)忽略條件中取或(or)的情況。假設(shè)第一個(gè)判斷語句if(x>=50&&y>=50)中的“&&”被程序員錯(cuò)誤地寫成了“||”,使用上面設(shè)計(jì)出來的一組測(cè)試用例,仍然可以達(dá)到100%的判定覆蓋,所以判定覆蓋也無法發(fā)現(xiàn)上述的邏輯錯(cuò)誤。5.3條件覆蓋特點(diǎn):條件覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行被測(cè)程序,使得判定中的每個(gè)條件獲得各種可能的結(jié)果,即每個(gè)條件至少有一次為真值,有一次為假值。在本例中有兩個(gè)判斷if(x>=50&&y>=50)(記為Pl)和if(x+y>80)(記為P2),共計(jì)三個(gè)條件x>=50(記為Cl)、y>=50(記為C2)和x+y>80(記為C3)。用例設(shè)計(jì):數(shù)據(jù)C1C2C3P1P2{x=30,y=30}FFFFF{x=100,y=100}TTTTT三個(gè)條件的各種可能取值都滿足了一次,達(dá)到了100%條件覆蓋的標(biāo)準(zhǔn),同時(shí)也到達(dá)了100%判定覆蓋的標(biāo)準(zhǔn)。但并不能保證達(dá)到100%條件覆蓋標(biāo)準(zhǔn)的測(cè)試用例(組)都能到達(dá)100%的判定覆蓋標(biāo)準(zhǔn),看下面的例子:數(shù)據(jù)C1C2C3P1P2{x=30,y=60}FTTFT{x=100,y=-30}TFFFF既然條件覆蓋標(biāo)準(zhǔn)不能100%達(dá)到判定覆蓋的標(biāo)準(zhǔn),也就不一定能夠達(dá)到100%的語句覆蓋標(biāo)準(zhǔn)了。優(yōu)點(diǎn):顯然條件覆蓋比判定覆蓋,增加了對(duì)符合判定情況的測(cè)試。缺點(diǎn):要達(dá)到條件覆蓋,需要足夠多的測(cè)試用例,但條件覆蓋并不能保證判定覆蓋。5.4判定-條件覆蓋特點(diǎn):設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行被測(cè)程序,使得被測(cè)試程序中的每個(gè)判斷本身的判定結(jié)果(真假)至少滿足一次,同時(shí),每個(gè)邏輯條件的可能值也至少被滿足一次。即同時(shí)滿足100%判定覆蓋和100%條件覆蓋的標(biāo)準(zhǔn)。用例設(shè)計(jì):數(shù)據(jù)C1C2C3P1P2{x=30,y=30}FFFFF{x=100,y=100}TTTTT所有條件的可能取值都滿足了一次,而且所有的判斷本身的判定結(jié)果也都滿足了一次。優(yōu)點(diǎn):達(dá)到100%判定-條件覆蓋標(biāo)準(zhǔn)一定能夠達(dá)到100%條件覆蓋、100%判定覆蓋和100%語句覆蓋。判定-條件覆蓋滿足判定覆蓋準(zhǔn)則和條件覆蓋準(zhǔn)則,彌補(bǔ)了二者的不足。缺點(diǎn):未考慮條件的組合情況。5.5條件組合覆蓋特點(diǎn):要求設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行被測(cè)程序,使得被測(cè)試程序中每個(gè)判定中條件結(jié)果的所有可能組合至少執(zhí)行一次。注意:1) 條件組合只針對(duì)同一個(gè)判斷語句內(nèi)存在多個(gè)條件的情況,讓這些條件的取值進(jìn)行笛卡爾乘積組合。2) 不同的判斷語句內(nèi)的條件取值之間無需組合。3) 對(duì)于單條件的判斷語句,只需要滿足自己的所有取值即可。用例設(shè)計(jì):數(shù)據(jù)C1C2C3P1P2{x=30,y=30}FFFFF{x=60,y=60}TTTTT{x=30,y=60}FTTFT{x=100,y=-30}TFFFFC1和C2處于同一判斷語句中,它們的所有取值的組合都被滿足了一次。優(yōu)點(diǎn):多重條件覆蓋準(zhǔn)則滿足判定覆蓋、條件覆蓋、判定-條件覆蓋準(zhǔn)則。缺點(diǎn):線性地增加了測(cè)試用例的數(shù)量。但上面的例子中,只走了三條路徑a-c-e-f、a-c-d-f和a-b-d-f,而本例的程序存在四條路徑。所以條件組合覆蓋不能保證所有的路徑被執(zhí)行。5.6路徑覆蓋特點(diǎn):設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,覆蓋程序中所有可能的路徑用例設(shè)計(jì):數(shù)據(jù)C1C2C3P1P2路徑{x=100,y=-30}TFFFFa-c-e-f{x=60,y=60}TTTTTa-b-d-f{x=30,y=100}FTTFTa-c-d-f不能實(shí)現(xiàn)TTFTFa-b-e-f所有可能的路徑都滿足過一次。優(yōu)點(diǎn):這種測(cè)試方法可以對(duì)程序進(jìn)行徹底的測(cè)試,比前面五種覆蓋面都廣。100%滿足路徑覆蓋,一定能100%滿足判定覆蓋標(biāo)準(zhǔn)(因?yàn)槁窂骄褪菑呐袛嗟哪硹l分支走的)。缺點(diǎn):100%滿足路徑覆蓋,但并不一定能100%滿足條件覆蓋(C2只取到了真),也就不能滿足100%條件組合覆蓋。經(jīng)過分析,它們之間的關(guān)系可以用下圖表示(路徑覆蓋在該圖無法表示):從上例可知,單獨(dú)采用任何一種邏輯覆蓋方法都不能完全覆蓋所有的測(cè)試用例,任何一個(gè)高效的測(cè)試用例,都是針對(duì)具體測(cè)試場(chǎng)景的。邏輯測(cè)試不是片面的測(cè)試正確的結(jié)果或是測(cè)試錯(cuò)誤的結(jié)果,而是盡可能全面地覆蓋每一個(gè)邏輯路徑。所以在實(shí)際測(cè)試用例設(shè)計(jì)中,就要先從代碼分析入手,根據(jù)不同的代碼邏輯規(guī)則、語句執(zhí)行情況,選用適合的覆蓋方法。要根據(jù)不同需要和不同測(cè)試用例設(shè)計(jì)特征,將不同的設(shè)計(jì)方法組合起來,交叉使用,以實(shí)現(xiàn)最佳的測(cè)試用例輸出。六、實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)通過用語句覆蓋、判定覆蓋、條件覆蓋、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論

0/150

提交評(píng)論