白盒測試用例練習_第1頁
白盒測試用例練習_第2頁
白盒測試用例練習_第3頁
白盒測試用例練習_第4頁
白盒測試用例練習_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

白盒測試用例練習白盒測試用例練習1.為以下所示的程序段設計一組測試用例,要求分別滿足語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋,并畫出相應的程序流程圖。

voidDoWork{intk=0,j=0;if){k=x*y-1;j=sqrt;//語句塊1}if

){j=x*y+10;}//語句塊2j=j%3;//語句塊3k=0j=0k=x*y-1j=sqrtx3andz10}aYcNbx=4ory5eYj=x*y+10Ndj=j%3由這個流程圖可以看出,該程序模塊有4條不同的路徑:

P1:P2:P3:P4:將里面的判定條件和過程記錄如下:

判定條件M={x3andz10}判定條件N={x=4ory5}1、語句覆蓋測試用例輸入輸出判定M的取值判定N的取值覆蓋路徑x=4,z=5,y=8k=31,j=0TTP12、判定覆蓋p1和p4可以作為測試用例,其中p1作為取真的路徑,p4作為取反的路徑。

測試用例輸入輸出判定M的取值判定N的取值覆蓋路徑x=4,z=5,y=8k=31,j=0TTP1x=2,z=11,y=5k=0,j=0FFP4也可以讓測試用例測試路徑P2和P3。相應的兩組輸入數(shù)據(jù)如下:

測試用例輸入輸出判定M的取值判定N的取值覆蓋路徑x=5,z=5,y=4k=19,j=sqrt%3TFP2x=4,z=11,y=6k=0,j=1FTP33、條件覆蓋對于M:x3取真時T1,取假時F1;z10取真時T2,取假時F2;

對于N:x=4取真時T3,取假時F3;y5取真時T4,取假時F4。

條件:x3,z10,x=4,y5條件:x=3,z=10,x。=4,y=5根據(jù)條件覆蓋的基本思路,和這8個條件取值,組合測試用例如表所示:測試用例輸入輸出取值條件具體取值條件覆蓋路徑x=4,z=5,y=8k=31,j=0T1,T2,T3,T4x3,z10,x=4,y5P1x=3,z=11,y=5k=0,j=0F1,F(xiàn)2,F(xiàn)3,F(xiàn)4x=3,z=10,x。=4,y=5P44、判定/條件覆蓋測試用例輸入輸出取值條件具體取值條件覆蓋路徑x=4,z=5,y=8k=31,j=0T1,T2,T3,T4x3,z10,x=4,y5P1x=3,z=11,y=5k=0,j=0F1,F(xiàn)2,F(xiàn)3,F(xiàn)4x=3,z=10,x。=4,y=5P45、組合覆蓋條件組合1)x3,z102)x3,z=103)x=3,z104)x=3,z=105)x=4,y56)x=4,y=57)x。=4,y58)x。=4,y=5測試用例輸入輸出覆蓋條件取值覆蓋條件組合覆蓋路徑x=4,z=5,y=6k=23,j=1T1,T2,T3,T41,5P1x=4,z=10,y=5k=0,j=0T1,F2,T3,F42,6P2x=3,z=5,y=6k=14j=1F1,T2,F3,T43,7P3z=3,z=10,y=5k=0,j=2F1,F2,F3,F44,8P46、路徑覆蓋測試用例輸入輸出覆蓋條件取值覆蓋條件組合覆蓋路徑x=4,z=5,y=8k=31,j=0T1,T2,T3,T41,5P1x=5,z=5,y=4k=19,j=sqrt%3T1,T2,F(xiàn)3,F(xiàn)41,8P2x=4,z=11,y=6k=0,j=1T1,F(xiàn)2,T3,T42,5P3x=2,z=11,y=5k=0,j=0F1,F(xiàn)2,F(xiàn)3,F(xiàn)44,8P4題目二:三角形問題在三角形計算中,要求輸入三角型的三個邊長:A、B和C。當三邊不可能構成三角形時提示錯誤,可構成三角形時計算三角形周長。若是等腰三角形打印“等腰三角形”,若是等邊三角形,則提示“等邊三角形”。畫出程序流程圖、控制流程圖、計算圈復雜度V,找出基本測試路徑。

一、核心程序代碼/**判斷三角形的類*/publicclassTriangleTestMethod{/**判斷三角形的種類。參數(shù)a,b,c分別為三角形的三邊,*返回的參數(shù)值為0,表示非三角形;

*為1,表示普通三角形;

*為2,表示等腰三角形;

*為3,表示等邊三角形。

*/publicstaticintcomfirm{if){//判斷為三角形if)//判斷為等邊三角形return3;if

)//判斷為等腰三角形return2;else//判斷為普通三角形return1;}else{//為非三角形return0;}}}二、程序流程圖三、測試用例1.語句覆蓋測試用例輸入期望輸出覆蓋對象測試結果Case1a=1,b=2,c=30①,⑤0Case2a=3,b=4,c=51①,②,④,⑥②1Case3a=3,b=3,c=42①,②,④,⑦②2Case4a=3,b=4,c=53①,②,③②32.判定覆蓋測試用例輸入期望輸出覆蓋對象測試結果Case11a=1,b=2,c=30②,⑤0Case12a=3,b=4,c=51③,②,④,⑥④1Case13a=3,b=3,c=42③,②,④,⑦④2Case14a=3,b=4,c=53③,②,③④33.條件覆蓋測試用例輸入期望輸出覆蓋對象測試結果Case5a=1,b=6,c=70F1,T2,T30Case6a=7,b=1,c=60T1,F2,T30Case7a=1,b=7,c=60T1,T2,F30Case8a=3,b=3,c=42T1,T2,T3,T4,F5,T6,F7,F82Case9a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82Case10a=4,b=3,c=32T1,T2,T3,F4,T5,F6,T7,F824.條件-判定覆蓋測試用例輸入期望輸出覆蓋對象測試結果Case15a=1,b=6,c=70F1,T2,T30Case16a=7,b=1,c=60T1,F2,T30Case17a=1,b=7,c=60T1,T2,F30Case18a=3,b=3,c=42T1,T2,T3,T4,F5,T6,F7,F82Case19a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82Case20a=4,b=3,c=32T1,T2,T3,F4,T5,F6,T7,F82Case21a=3,b=3,c=33F1,T2,T33Case22a=3,b=4,c=51T1,F2,T315.條件組合覆蓋測試用例輸入期望輸出覆蓋對象測試結果Case23a=1,b=6,c=70F1,T2,T30Case24a=7,b=1,c=60T1,F2,T30Case25a=1,b=7,c=60T1,T2,F30Case26a=3,b=3,c=42T1,T2,T3,T4,F5,T6,F7,F82Case27a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82Case28a=4,b=3,c=32T1,T2,T3,F4,T5,F6,T7,F82Case29a=3,b=4,c=51T1,T2,T3,F4,F5,F6,F7,F81Case30a=3,b=4,c=32T1,T2,T3,F4,F5,F6,F7,T82備注其他條件組合,無法到達結束四、程序控制流圖基本路徑覆蓋測試用例輸入期望輸出覆蓋對象測試結果Case31a=1,b=6,c=70A-D0Case32a=7,b=6,c=10A-B-D0Case33a=1,b=7,c=60A-B-C-D0Case34a=3,b=3,c=33A-B-C-E-G-H3Case35a=3,b=3,c=42A-B-C-E-G-I2Case36a=4,b=3,c=32A-B-C-E-F-H2Case37a=3,b=4,c=32A-B-C-E-F-J-H2Case38a=3,b=4,c=51A-B-C-E-F-J-K1題目三:計算生日是星期幾已知公元1年1月1日是星期一。編寫一個程序,只要輸入年月日,就能回答那天是星期幾。應用邏輯覆蓋方法和基路徑測試方法為上面的問題設計測試用例一.程序代碼#includestdio.hintcheck{intpass=1;intleap=0;if

year%400==0)leap=1;ifreturn0;switch{case1:case3:case5:case7:case8:case10:case12:ifreturn0;break;case4:case6:case9:case11:ifreturn0;break;case2:if{return0;}if{return0;}break;default:return0;break;}returnpass;}voidfun{intyear,month,day,sumday;sumday=0;printf;scanf;if==0){printf;return;}if{month+=12;year--;}sumday=/5+year+year/4-year/100+year/400)%7;if{month-=12;year++;}switch{case0:printf;break;case1:printf;break;case2:printf;break;case3:printf;break;case4:printf;break;case5:printf;break;case6:printf;break;default:printf;break;}}main{forfun;}二.畫出程序的控制流圖1.程序流程圖如下:

month==13

month==14nomonth==1

month==2yesmonth+=12;year--;計算星期數(shù)sumday=公式noyesMonth-=12;year++;5460123456其他sumday輸出語句1輸出語句2輸出語句3輸出語句4輸出語句5輸出語句6輸出語句7輸出語句0結束78910111213141515輸入年月日year,month,day23endCheck01Check函數(shù)nononoyesyes得到y(tǒng)ear,month,dayyear1

day1no

year%400==0135781012469112其他monthreturnpasspass=1;leap=0;leap=1;return0day31day30return0noyesreturn0yesleap==1day29leap==0day28return0161817192021222324252628292827313032332.程序控制流圖如下:

16191721222324313334ennd9101113143.用基本路徑的測試路徑編號基本路徑編號基本路徑1⒃⒄⒆11①2⒃⒆12②③④⑤⑥⑦⑧3⒃⒆13②④⑤⑦⑨4⒃⒆14②④⑤⑦⑩5⒃⒆15②④⑤⑦6⒃⒆16②④⑤⑦7⒃⒆17②④⑤⑦8⒃⒆18②④⑤⑦9⒃⒆10⒃⒆條件:編號條件編號編號T1month==1T13year%100。=0T25month==2T2month==2T14year%100。=0T26month==3T3month==13T15year%400==0T27month==4T4month==14T16year1T28month==5T5sumday==0T17day1T29month==6T6sumday==1T18month==1T30month==7T7sumday==2T19day31T31month==8T8sumday==3T20day30T32month==9T9sumday==4T21leap==1T33month==10T10sumday==5T22leap==0T34month==11T11sumday==6T23day29T35month==12T12year%4==0T24day284.測試用例用例編號輸入的數(shù)據(jù)預期的輸出實際的輸出執(zhí)行的路徑覆蓋的條件1202121WednesdayWednesday②③④⑤⑥⑦⑧T12,T13,T25,T21,T2,T4,T72202131ThurdayThurday②④⑤⑦⑨T12,T13,T26,T83202146FridayFriday②④⑤⑦⑩T12,T13,T27,T94202155SaturdaySaturday②④⑤⑦T12,T13,T28,T105202163SundaySunday②④⑤⑦T12,T13,T29,T1162021730MondayMonday②④⑤⑦T12,T13,T30,T572021815TuesdayTuesday②④⑤⑦T12,T15,T31,T682021931錯誤提示錯誤提示①T12,T13,T20,T329202128WednesdayWednesday⒃⒄⒆T25,T22,T2,T4,T7102021012錯誤提示錯誤提示⒃⒆aturdaySaturday⒃⒆T18,T1,T3,T101220211033錯誤提示錯誤提示⒃⒆T33,T191320211131錯誤提示錯誤提示⒃⒆T34,T20142021230錯誤提示錯誤提示⒃⒆T12,T13,T25,T21,T23152021229錯誤提示錯誤提示⒃⒆T25,T241620211231SaturdaySaturday⒃⒆T35,T10172021630SundaySunday⒃⒆T29,T11182021215FridayFriday⒃⒆T25,T22,T2,T4,T91901212錯誤提示錯誤提示⒃⒆T16題目四:選擇排序下面是選擇排序的程序,其中datalist是數(shù)據(jù)表,它有兩個數(shù)據(jù)成員:一是元素類型為Element的數(shù)組V,另一個是數(shù)組大小n。算法中用到兩個操作,一是取某數(shù)組元素V的關鍵碼操作getKey,一是交換兩數(shù)組元素內容的操作Swap::

voidSelectSort{/對表list.V到list.V進行排序,n是表當前長度。

for{intk=i;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論