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

下載本文檔

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

文檔簡介

1、習題010401 邏輯路徑覆蓋法是白盒測試用例的重要設計方法,其中語旬覆蓋法是較為常用的方法,針對下面的語句段,采用語句覆蓋法完成測試用例設計,測試用例見下表,對表中的空缺項(True或者False),正確的選擇是( )。 語句段: if(A&&(B|C) x=1; else x=0; 用例表:用例1用例2ATRUEFALSEBtrueFALSECTRUEtrueA&&(B|C)trueFALSEA. TRUE FALSE TRUE B. TRUE FALSE FALSEC. FALSE FALSE TRUE D. TRUE TRUE FALSE輸入數(shù)據(jù)條件預期

2、結果A=TRUE,B=TRUE,C=TRUET Tx=1A=F,B=F,C=FF Tx=00402 針對以下程序段,對于(A,B,C)的取值,以下( )測試用例能夠滿足語句覆蓋的要求。 IF(A+10)=2 OR (B-20)<3) THEN C=0 IF(A+30)>10 AND (C-30)<0) THEN B=30A. (2,30,1) B.(-20,0,30) C. (-30,20,30) D. (2,20,3)輸入數(shù)據(jù)條件預期結果A=-8,B=20,C=30T TC=0,B=30A=-20,B=0,C=30T TC=0,B=300403 為以下程序段,設計足夠的測試

3、用例滿足語句覆蓋 。  if (x>8&&y>5)    if(x>16|y>10) s1;    else  if (x>0|y>0)   s2;   else  s3;   輸入數(shù)據(jù)條件預期結果x=17,y=11T T TS1x=7,y=4F F TS2x=-7,y=4F F FS30404 針對下列程序段,需要( )個測試用例才可以滿足語句覆蓋的要求。 switch ( valu

4、e ) case 0: other = 30; break; case 1: other = 50; break; case 2: other = 300; case 3: other = other / value; break; default: other = other * value;A2             B3             C4

5、              D5輸入數(shù)據(jù)條件預期結果Value=0T F F Fother=30Value=1F T F Fother=50Value=3F F T Fother=100Value=4F F F Tother= other/40405 對下面的個人所得稅程序中,滿足語句覆蓋測試用例的是( ) 。  if (income < 800)   tarrate = 0

6、60;  else  if (income <= 1500)  tarrate = 0.05   else if (income < 2000)  tarrate = 0.08   else  tarrate = 0.1   Aincome = (800, 1500, 

7、;2000, 2001)     Bincome = (800, 801, 1999, 2000) Cincome = (799, 1499, 2000, 2001)     Dincome = (799, 1500, 1999, 2000) 輸入數(shù)據(jù)條件預期結果Income=799TFFF tarrate&

8、#160;= 0Income=1500FTFFtarrate =0.05Income=1999FFTFtarrate =0.08Income=2000FFFTtarrate =0.10406 閱讀下列流程圖:當用判定覆蓋法進行測試時,至少需要設計 ( ) 個測試用例。A2 B4 C6 D8輸入數(shù)據(jù)條件預期結果x=0,y=0,d=0FTd=0X=0,y=2,FFd=d/2x=2,y=0TTd=d/2x=1,y=2TFd=d/(1*2)0407數(shù)據(jù)輸入條件預期結果b=0,a=0TTresult=0b=0,a=-2TFresult=-1b=1,a=1FTTre

9、sult=-1b=1,a=-2FTFresult=1b=0,a=0FFTresult=1b=0,a=-2FFFresult=-10408 針對下列C語言程序段,對于(MaxNum,Type),至少需要( )個測試用例能夠滿足判定覆蓋的要求。 while(MaxNum->0) if(10=Type) x=y*2; else if(100=Type) x=y+10; else x=y-20; A 5        B4      C3    

10、     D2數(shù)據(jù)輸入條件預期結果type=10TFFx=y*2type=100FTFx=y+10type!=10&&type!=100FFTx=y-200409 為以下程序段,設計足夠的測試用例滿足判定覆蓋 。  if (x>8&&y>5)    if(x>16|y>10) s1;    else  if (x>0|y>0)   s2;   else

11、0; s3;   輸入數(shù)據(jù)條件預期結果x=17,y=11T T TS1x=7,y=4F F TS2x=-7,y=4F F FS30410 針對程序段:IF(X>10) AND (Y<20) THEN W=W/A , 對于(X,Y)的取值,以下( )組測 試用例能夠滿足判定覆蓋的要求。A. (30,15) (40,10) B. (3,0) (30,30) C. (5,25) (10,20) D. (20,10) (1,100) 輸入數(shù)據(jù)條件預期結果x=11,y=19Tw=w/ax=9,y=21F無0411 假設 A, B 為布爾變量,對于邏輯表達式(A&

12、amp;&B|C),需要( )個測試用例才能完成判定覆蓋(DC) 。A.2 B.3 C.4 D.5輸入數(shù)據(jù)條件預期結果A=T,B=T,C=TTA=T,B=F,C=TFA=T,B=F,C=FF0412 針對下列程序段,需要( )個測試用例可以滿足分支覆蓋的要求。int IsLeap(int year)   if ( year % 4 = 0 )    if ( year % 100 = 0 )   if ( year % 400 = 0 ) leap = 1; else leap = 0; else leap = 1; else leap = 0;

13、 return leap; A 3 B4 C6 D7輸入數(shù)據(jù)條件預期結果year=400TTTleap=1year=100TTFleap=0year=16TFFleap=1year=6FFFleap=00413 針對以下 C 語言程序段,假設 sta10= -1,對于 x 的取值,需要( )個測試用例能夠滿足分支覆蓋的要求。 int MathMine(int x) int m0; int i; for(ix-1;i<x1;i+) if(i0) continue; if(i >31) break; if(stai-1) m+; return m;A.3 B.4 C.5 D.6輸入數(shù)據(jù)

14、條件預期結果x=00x=330x=1110414 以下代碼由C語言書寫,在輸入三個整數(shù)后,能夠輸出最大數(shù)和最小數(shù)。 int main(void) int a,b,c,max,min; printf(“input three number: ”); scanf(“%d%d%d”,&a,&b,&c); if(a>b) /*判斷1*/ max=a; min=b; else max=b; min=a; if(max<c) /*判斷2*/ max=c; else if(min>c) /*判斷3*/ min=c; printf(“max=%dnmin=%dn ”,

15、max,min); return 0; 問題1:請畫出該程序的控制流圖,并分析該控制流圖中有多少(4)條線性獨立路徑(V(G)的值)。問題2:為了用分支(判定)覆蓋方法測試該程序,需要設計測試用例,使其能對該程序中的每個判斷語句的各種分支情況全部進行過測試。對兩組輸入數(shù)據(jù)(1) a=3,b=5,c=7; (2) a=4,b=6,c=5,請分別寫出程序中各個判斷語句的執(zhí)行結果(以T表示真,以F表示假),填入答題紙的相應欄中。問題3:上述兩組測試數(shù)據(jù)是否實現(xiàn)該程序的分支 (判定)覆蓋?如果能,請說明理由。如果不能,請再增設一組輸入數(shù)據(jù),使其能實現(xiàn)分支(判定)覆蓋。0415 針對以下程序段,對于(A

16、,B)的取值,以下 ( )測試用例能夠滿足條件覆蓋的要求。 IF(A-10)=20 OR (B+20)>10) THEN C=0 IF(A-30)<10 AND (B-30)<0) THEN B=30 A=50 B=-10 A=40 B=40 A=30 B=-10 A=30 B=30 A. B. C. D. 輸入數(shù)據(jù)條件預期結果A=41,B=-11FFFTNOA=30,B=30TTTFC=0,B=300416 對下面的個人所得稅程序中,滿足條件覆蓋測試用例的是( )。  if (income < 800)  t

17、arrate = 0   else  if (income <= 1500)  tarrate = 0.05   else if (income < 2000)  tarrate = 0.08   else  tarrate = 0.1   Aincome =

18、0;(799, 1500, 1999, 2001)     Bincome = (799, 1501, 2000, 2001)Cincome = (800, 1500, 2000, 2001)     Dincome = (800, 1499, 2000, 2001)數(shù)據(jù)輸入條件預期結果income=799TFFFta

19、rrate=0income=1500FTFFtarrate=0.05income=1999FFTFtarrate=0.08income=2001FFFTtarrate=0.10417 針對程序段: if(x>10) && (y<20) w=10/x; else w=10*y; if(x=0) | (y>0) w=20-x; else w=20+y; 對于(X,Y)的取值,請設計最少的測試用例能夠滿足條件覆蓋的要求。輸入數(shù)據(jù)條件預期結果x=0,y=20FFTTFTW=20x=20,y=0TTFFTFW=200418為以下所示的程序段設計一組測試用例,要求滿足條件

20、覆蓋,并畫出相應的程序流程圖。void DoWork (int x,int y,int z) int k=0,j=0; if ( (x>3)&&(z<10) ) k=x*y-1; j=sqrt(k); /語句塊1 if ( (x=4)|(y>5) ) j=x*y+10; /語句塊2 j=j%3; /語句塊3 數(shù)據(jù)輸入條件預期結果x=1,y=5,z=9TFFj=2x=4,y=6,z=11FTFj=34x=5,y=4,z=11FFTj=j%30419 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)。程序如下,請按要求設計測試用例。要求:1、畫出控

21、制流圖; 2、分析復雜性; 3、設計滿足條件覆蓋的測試用例。 4、給出基本路徑并設計測試用例;#include”stdio.h”main() char c; int letters=0,space=0,digit=0,other=0; printf(“請輸入一行字符:n”); while(c=getchar()!=n) if(c>=a&&c<=z|c>=A&&c<=Z) letters+; else if(c= ) space+; else if(c>=0&&c<=9) digit+; else other+

22、125379100046811TtFFFTtTt printf(“其中:字母數(shù)=%d,空格數(shù)=%d ,數(shù)字數(shù)=%d ,其它字符數(shù) =%dn”,letters,space,digit,other);0420 邏輯覆蓋是通過對程序邏輯結構的遍歷實現(xiàn)程序的覆蓋,是設計白盒測試用例的主要方法之一。以下代碼由 C 語言書寫,請按要求回答問題。void cal( int n ) int g, s, b, q; if ( ( n > 1000 ) && ( n < 2000 ) ) g = n % 10; s = n % 100 / 10; b = n / 100 % 10; q

23、 = n / 1000; if( ( q + g ) = ( s + b ) ) printf("%-5d", n); printf("n"); return ;n 問題 1:請找出程序中所有的邏輯判斷語句。n 問題 2:請分析并給出分別滿足 100DC(判定覆蓋)和 100CC(條件覆蓋)時所需的邏輯條件。 問題 3:假設 n 的取值范圍是 0 < n < 3000,請用邏輯覆蓋法為 n 的取值設計測試用例,使用例集滿足基本路徑覆蓋標準。條件覆蓋CC數(shù)據(jù)輸入條件預期結果N=1212TTT1212N=20FWUN=1333TTFWU

24、N=3000TFWU 判定覆蓋DC數(shù)據(jù)輸入條件預期結果N=1212TT1212N=1333TFWUN=3000FWU 0421 針對以下程序段,對于(A,B)的取值,以下 ( )測試用例能夠滿足判定/條件覆蓋的要求。 IF(A-10)=20 OR (B+20)>10) THEN C=0 IF(A-30)<10 AND (B-30)<0) THEN B=30 A=50 B=-10 A=40 B=40 A=30 B=-10 A=30 B=30 A. B. C. D. 輸入數(shù)據(jù)條件預期結果A=41,B=-11FFFTNOA=30,B=30TTTFC=0,B=300422 對下面的個

25、人所得稅程序中,滿足判定/條件覆蓋測試用例的是( )。  if (income < 800)  tarrate = 0   else  if (income <= 1500)  tarrate = 0.05   else if (income < 2000)  tarrate = 0.08 

26、  else  tarrate = 0.1   Aincome = (799, 1500, 1999, 2001)     Bincome = (799, 1501, 2000, 2001)Cincome = (800, 1500, 2000, 2001)     Di

27、ncome = (800, 1499, 2000, 2001)數(shù)據(jù)輸入條件預期結果income=799TFFFtarrate=0income=1500FTFFtarrate=0.05income=1999FFTFtarrate=0.08income=2001FFFTtarrate=0.10423 針對程序段: if(x>10) && (y<20) w=10/x; else w=10*y; if(x=0) | (y>0) w=20-x; else w=20+y; 對于(X,Y)的取值,請設計最少的測試用例能夠滿足

28、判定/條件覆蓋的要求。輸入數(shù)據(jù)條件預期結果x=0,y=20FFTTFTW=20x=20,y=0TTFFTFW=200424為以下所示的程序段設計一組測試用例,要求滿足判定/條件覆蓋,并畫出相應的程序流程圖。void DoWork (int x,int y,int z) int k=0,j=0; if ( (x>3)&&(z<10) ) k=x*y-1; j=sqrt(k); /語句塊1 if ( (x=4)|(y>5) ) j=x*y+10; /語句塊2 j=j%3; /語句塊3 12546783FTFFTtTtTt數(shù)據(jù)輸入條件預期結果x=1,y=5,z=9T

29、FFj=2x=4,y=6,z=11FTFj=34x=5,y=4,z=11FFTj=j%30425 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)。程序如下,請按要求設計測試用例。要求:1、畫出控制流圖; 2、分析復雜性; 3、設計滿足判定/條件覆蓋的測試用例。 4、給出基本路徑并設計測試用例;#include”stdio.h”main() char c; int letters=0,space=0,digit=0,other=0; printf(“請輸入一行字符:n”); while(c=getchar()!=n) if(c>=a&&c<=z|c&

30、gt;=A&&c<=Z) letters+; else if(c= ) space+; else if(c>=0&&c<=9) digit+; else other+; printf(“其中:字母數(shù)=%d,空格數(shù)=%d ,數(shù)字數(shù)=%d ,其它字符數(shù) =%dn”,letters,space,digit,other);125379100046811TtFFFTtTt0426 邏輯覆蓋是通過對程序邏輯結構的遍歷實現(xiàn)程序的覆蓋,是設計白盒測試用例的主要方法之一。以下代碼由 C 語言書寫,請按要求回答問題。void cal( int n ) int g,

31、 s, b, q; if ( ( n > 1000 ) && ( n < 2000 ) ) g = n % 10; s = n % 100 / 10; b = n / 100 % 10; q = n / 1000; if( ( q + g ) = ( s + b ) ) printf("%-5d", n); printf("n"); return ;n 問題 1:請找出程序中所有的邏輯判斷語句。n 問題 2:請分析并給出分別滿足 100DCC(判定/條件覆蓋)時所需的邏輯條件。n  問題 3:假設 n 的取值范圍是

32、0 < n < 3000,請用邏輯覆蓋法為 n 的取值設計測試用例,使用例集滿足基本路徑覆蓋標準。數(shù)據(jù)輸入條件預期結果N=1212TTTTT1212N=20FFWUN=1333TTFTFWUN=3000TFFWU 0427 針對以下程序段,對于(A,B,C)的取值,設計最少的測試用例滿足判定/條件覆蓋的要求。 if(a-10)=0 | (b+20)<0) c=0; if(a+30)>10 && (c-30)<0) b=30;A=10 A>-20 B<-20 C<30數(shù)據(jù)輸入條件預期結果A=10,B=-30,C=24TTTTTTC=

33、0,B=30A=-30,B=20,C=40FFFFFFNO0428 對于邏輯表達式(a&&b)|c),需要(8 )個測試用例才能完成條件組合覆蓋。A5 B6 C7 D80429 針對以下程序段,對于(A,B)的取值,設計最少測試用例能夠滿足條件組合覆蓋的要求。 IF(A-10)=20 OR (B+20)>10) THEN C=0 IF(A-30)<10 AND (B-30)<0) THEN B=300430 針對程序段: if(x>10) && (y<20) w=10/x; else w=10*y; if(x=0) | (y>

34、0) w=20-x; else w=20+y; 對于(x,y)的取值,請設計最少的測試用例能夠滿足條件組合覆蓋的要求。0431 多條件覆蓋是一種邏輯覆蓋,它的含義是設計足夠的測試用例,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次,滿足多條件覆蓋級別的測試用例也是滿足_級別的。 A語句覆蓋、判定覆蓋、條件覆蓋、條件判定組合覆蓋B判定覆蓋、條件覆蓋;條件判定組合覆蓋、修正條件判定覆蓋C語句覆蓋、判定覆蓋、條件判定組合覆蓋、修正條件判定覆蓋D路徑覆蓋、判定覆蓋、條件覆蓋、條件判定組合覆蓋0432 關于白盒測試的測試用例設計方法敘述,正確的是( ) 。A完成 SC(語句判定)所需的測試用例

35、數(shù)目一定多于完成 DC(邏輯判定)所需的測試用例數(shù)目B達到 100CC(條件判定)要求就一定能夠滿足 100SC 的要求C達到 100CDC(條件判定組合覆蓋)要求就一定能夠滿足 100CC 的要求D任何情況下,都可以達到 100路徑覆蓋的要求0433 針對邏輯覆蓋( )敘述是不正確的。A. 達到100DC要求就一定能夠滿足100SC的要求B. 達到100CC要求就一定能夠滿足100SC的要求C. 達到100CDC要求就一定能夠滿足100CC的要求D. 達到100%CDC要求就一定能夠滿足100%DC的要求0434 以下控制流程圖的環(huán)路復雜性V(G) 等于( )。  A.

36、5           B. 6           C. 9          D.120435 在程序控制流圖中,有8條邊,6各節(jié)點,則控制流程圖的環(huán)路復雜性V(G)等于( )。A. 2 B. 4 C. 6 D. 80436 做0414的第1問;0419的第1,2,4問;0420的第3問。0437 基本路徑法設計出的測試用例能夠保證在測試中程序的每一條可

37、執(zhí)行語句至少執(zhí)行一次。以下代碼由C+ +語言書寫,請按要求回答問題。void ReadPara(CString temp) if(temp= =>=) M_oper.SetCurSel(0); else if(temp= =>)m_oper.SetCurSel(1); else if(temp= = =) m_oper.SetCurSel(2);else if(temp= =<=) m_oper.SetCurSel(3);else if(temp=<) m_oper.SetCurSel(4);else m_oper.SetCurSel(5); return; 【問題1】請畫出以上代碼的控制流圖?!締栴}2】請計算上述控制流圖的環(huán)路復雜度V(G)。 6【問題3】請使用基本路徑測試法為變量temp設計測試用例,使之滿足基本路徑覆蓋要求。0438 以下代碼由C語言書寫,能根據(jù)指定的年、月計算當月所含天數(shù)。int GetMaxDay( int year, int month ) int maxday = 0; i

溫馨提示

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

評論

0/150

提交評論