用自盒測試方法對如下圖所示的流程圖進行測試。若要滿足分支覆蓋,則至少要(29)個測試用例,正確的測試用例對是(30)(測試用例的格式為(A,B,X;X))。
(29)A.1 B.2 C.3 D.4
(30)A.(1,3,3;3) 和(5,2,15;3) B.(1,1,5;5) 和(5,2,20;9)
C.(2,3,10;5) 和(5,2,18;3) D.(5,2,16;3)和(5,2,21;9)
選B,B。
1、兩個測試用例,
一個走真分支,一個走假分支即可。
2、看分支1:要走兩個分支,則一個用例中A>2,另一個用例A<=2(此時,可排除D)
看分支2:要走兩個分支,則其中一個用例必須滿足A=5和X>3
結合兩個分支,則有一個用例為A=5,滿足第一分支條件,且執行了X=X/A 后滿足X>3,(X是int型)推出X>=20(此時,可推出選擇B)
可以再驗證一下:
用例1:(1,1,5;5)
不滿足分支1,也不滿足分支2,走N—N
用例2:(5,2,20;9)
滿足分支1,X=X/A,則X=20/5=4;
繼續執行,滿足分支2,執行X=X+5=9,輸出X=9
例:(32)對下圖所示流程圖采用白盒測試方法進行測試,若要滿足路徑覆蓋,則至少需要(32)個測試用例。采用McCabe度量法計算該程序的環路復雜性為(33)。
(32)A.3 B.4 C.6 D.8
(33)A.1 B.2 C.3 D.4
一空中路徑覆蓋是6條,不要看錯了。
而空需要看有多少個封閉區間。