軟體測試 白盒測試--邏輯覆蓋法&基本路徑測試法
白盒測試—邏輯覆蓋法&基本路徑測試法
題目一:使用邏輯覆蓋測試方法測試以下程式段
1. int logicExample(int x, int y)
2. {
3. int magic=0;
4. if(x>0 && y>0)
5. {
6. magic = x+y+10;
7. }
8. else
9. {
10. magic = x+y-10;
11. }
12.
13. if(magic < 0)
14. {
15. magic = 0;
16. }
17. return magic;
18. }
說明:程式段中每行開頭的數字是對每條語句的編號
(1)畫出程式的控制流圖(用題中給出的語句編號表示)
(2)分別以語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋方法設計測試用例,並寫出每個測試用例的執行路徑(用題中給出的語句編號表示)。
1、語句覆蓋
資料 |
語句 |
路徑 |
{x=3, y=3} |
1、4 |
a-b-e-f |
{x=-3, y=0} |
2、3、4 |
a-c-d-f |
2、判定覆蓋
兩個判斷(x>0 && y>0)(記為P1)和(magic<0)(記為P2)
資料 |
P1 |
P2 |
路徑 |
{x=3, y=3} |
T |
F |
a-b-e-f |
{x=-3, y=0} |
F |
T |
a-c-d-f |
3、條件覆蓋
兩個判斷(x>0 && y>0)(記為P1)和(magic<0)(記為P2),三個條件x>0(記為C1)、y>0(記為C2)和magic<0(記為C3)
資料 |
C1 |
C2 |
C3 |
路徑 |
x=3,y=0 |
T |
F |
T |
a-c-e-f |
x=-3,y=5 |
F |
T |
F |
a-c-e-f |
4、判定-條件覆蓋
測試用例:
資料 |
C1 |
C2 |
C3 |
P1 |
P2 |
路徑 |
x=3,y=3 |
T |
T |
T |
T |
F |
a-b-e-f |
x=-3,y=0 |
F |
F |
F |
F |
T |
a-c-d-f |
5、條件組合覆蓋
三個條件x>0(記為C1)、y>0(記為C2)和magic<0(記為C3) x>0 y>0 x>0 y<=0 x<=0 y>0 x<=0 y<=0
測試用例
資料 |
C1 |
C2 |
C3 |
P1 |
P2 |
路徑 |
x=3,y=3 |
T |
T |
T |
T |
T |
a-b-d-f |
x=3,y=0 |
T |
F |
F |
F |
F |
a-c-e-f |
x=-3,y=2 |
F |
T |
F |
F |
F |
a-c-e-f |
x=-3,y=0 |
F |
F |
F |
F |
F |
a-c-e-f |
6、路徑覆蓋
測試用例
資料 |
C1 |
C2 |
C3 |
P1 |
P2 |
路徑 |
x=3,y=5 |
T |
T |
T |
T |
T |
a-b-d-f |
x=0,y=2 |
F |
T |
T |
F |
F |
a-c-d-f |
這條路徑不可能 |
a-b-e-f |
|||||
x=-8,y=3 |
F |
F |
F |
F |
F |
a-c-e-f |
2、題目二:三角形問題
在三角形計算中,要求輸入三角形的三個邊長:A、B和C。當三邊不可能構成三角形時提示錯誤,可構成三角形時計算三角形的周長。若是等腰三角形列印“等腰三角形”,若是等邊三角形,則提示“等邊三角形”。畫出程式流程圖、控制流程圖、計算環路複雜度V(g),找出基本測試路徑
- if(inta>=intb+intc)
- or (intb>=inta+intc)
- or (intc>=inta+intb)
- strMsg="非三角形"
- else
- if(inta==intb)
- and intb==intc then
- strMst="等邊三角形"
- else
- if(inta==intb)
- or(inta==intc)
- or(intc==intb) then
- strMsg="等腰三角形"
- else
- strMsg="普通三角形"
- end if
- end if
- end if
1、根據程式碼畫出程式的控制流圖