太原理工大學(xué)軟件測(cè)試方法和技術(shù)實(shí)驗(yàn)報(bào)告.doc
太原理工大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告學(xué)院名稱計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)班級(jí)軟件工程實(shí)驗(yàn)成績(jī)學(xué)生姓名學(xué)號(hào)實(shí)驗(yàn)日期課程名稱軟件測(cè)試方法和技術(shù)實(shí)驗(yàn)題目使用白盒測(cè)試方法測(cè)試程序段一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)驗(yàn)主要掌握用白盒法中的邏輯覆蓋測(cè)試技術(shù)設(shè)計(jì)測(cè)試用例以及測(cè)試流程圖的繪制。二、實(shí)驗(yàn)內(nèi)容測(cè)試以下程序段 Void DoWork(int x,int y,int z)1 int k=0,j=0; 2 if(x>0)&&(z<10)3 4 k=x*y-1;5 j=sqrt(k);6 7 if(x=4)|(y>5)8 j=x*y+10; 9 j=j%3;10 三、實(shí)驗(yàn)要求說(shuō)明:程序段中每行開(kāi)頭的數(shù)字(1-10)是對(duì)每條語(yǔ)句的編號(hào)。a 畫(huà)出程序的控制流圖(用題中給出的語(yǔ)句編號(hào)表示)。b分別用語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋方法設(shè)計(jì)測(cè)試用例,并寫(xiě)出每個(gè)測(cè)試用例的執(zhí)行路徑(用題中給出的語(yǔ)句編號(hào)表示)。1)語(yǔ)句覆蓋從流程圖看出,程序具有4條路徑:L1:(a-b-d)L2:(a-b-e)L3:(a-c-d)L4:(a-c-e)L1包含了所有可執(zhí)行的語(yǔ)句,用例應(yīng)該使程序中的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次??梢允褂肔1來(lái)設(shè)計(jì)測(cè)試用例。覆蓋L1路徑:輸入x=3,y=7,z=7,輸出k=20,j=1。2)判定覆蓋按照判定覆蓋的用例使得程序中每個(gè)判斷的取真和取假分支至少經(jīng)歷一次,即判斷真假值均曾被滿足。L1和L4可以作為測(cè)試用例。 L1作為取真的路徑:輸入x=4,y=7,z=8,輸出k=27,j=2L4作為取假的路徑:輸入x=3,y=2,z=14,輸出k=0,j=03)條件覆蓋對(duì)于第一個(gè)判定條件2,可以分割如下:條件x>0 :取真(TRUE)時(shí)為T(mén)1,取假(FALSE)時(shí)為F1;條件z<10:取真(TRUE)時(shí)為T(mén)2,取假(FALSE)時(shí)為F2;條件x=4:取真(TRUE)時(shí)為T(mén)3,取假(FALSE)時(shí)為F3;條件y>5 :取真(TRUE)時(shí)為T(mén)4,取假(FALSE)時(shí)為F4;根據(jù)條件覆蓋的用例要使每個(gè)判斷中每個(gè)條件的可能取值至上滿足一次。和這8個(gè)條件取值,組合成測(cè)試用例。輸入:x=4, y=4, z=12取值條件T1,F2,T3,F4通過(guò)路徑P3輸入:x=-2, y=7, z=8取值條件F1,T2,F3,T4通過(guò)路徑P34)判定-條件覆蓋按照判定-條件覆蓋的用例使得判斷條件中的所有條件可能至少執(zhí)行一次取值同時(shí),所有的判斷的可能結(jié)果至少執(zhí)行執(zhí)行一次。保證8個(gè)條件取值至少執(zhí)行一次,同時(shí)判定條件2、3各取真假至少一次。輸入:x=4, y=8, z=2取值條件T1,T2,T3,T4判定條件2,3通過(guò)路徑P1輸入:x=-2, y=3, z=14取值條件F1,F2,F3,F4判定條件/2, /3通過(guò)路徑P45)條件組合覆蓋條件x>0 :取真(TRUE)時(shí)為T(mén)1,取假(FALSE)時(shí)為F1;條件z<10:取真(TRUE)時(shí)為T(mén)2,取假(FALSE)時(shí)為F2;條件x=4:取真(TRUE)時(shí)為T(mén)3,取假(FALSE)時(shí)為F3;條件y>5 :取真(TRUE)時(shí)為T(mén)4,取假(FALSE)時(shí)為F4;按照條件組合覆蓋的基本思想:設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能至少出現(xiàn)一次,并且每個(gè)判斷本身的判定結(jié)果也至少出現(xiàn)一次。設(shè)計(jì)組合條件表如下:組合編號(hào)覆蓋條件取值判段條件取值判定-條件組合1T1, T22x>0, z<10, 2為真2T1, F2/2x>0, z >=10,2為假3F1, T2/2x<=0, z<10, 2為假4F1, F2/2x<=0, z>=10, 2為假5T3, T47x=4, y>5, 7為真6T3, F47x=4, y<=5, 7為真7F3, T47x!=4, y>5, 7為真8F3, F4/7x!=4, y<=5, 7為假設(shè)計(jì)覆蓋這些組合的測(cè)試用例如下:輸入:x=4,y=6,z=7覆蓋條件T1,T2,T3,T4覆蓋路徑L1覆蓋組合1, 5輸入:x=4,y=3,z=12覆蓋條件T1,F2,T3,F4覆蓋路徑L3覆蓋組合2, 6輸入:x=4,y=3,z=12覆蓋條件F1,T2,F3,T4覆蓋路徑L3覆蓋組合3, 7輸入:x=-4,y=2,z=14覆蓋條件F1,F2,F3,F4覆蓋路徑L4覆蓋組合4, 86)路徑覆蓋按照路徑覆蓋的測(cè)試用例覆蓋程序中的所有可能執(zhí)行路徑。測(cè)試用例如下:輸入:x=4,y=6,z=7覆蓋條件T1,T2,T3,T4覆蓋路徑L1覆蓋組合1,5輸入:x=4,y=3,z=3覆蓋條件T1,T2,F3,F4覆蓋路徑L2覆蓋組合1,8輸入:x=-3,y=8,z=8覆蓋條件F1,T2,F3,T4覆蓋路徑L3覆蓋組合3,7輸入:x=-4,y=2,z=14覆蓋條件F1,F2,F3,F4覆蓋路徑L4覆蓋組合4,8四、實(shí)驗(yàn)心得:通過(guò)這次的實(shí)驗(yàn)我詳細(xì)的了解了白盒測(cè)試方法中的邏輯覆蓋技術(shù),使用這種技術(shù)能夠幫我們提高軟件測(cè)試的效率和準(zhǔn)確度。最為一名軟件工程專業(yè)的學(xué)生這樣的技術(shù)是十分必要的。實(shí)驗(yàn)室名稱指導(dǎo)教師簽名: