黑盒測試

哦了鹿茸發表於2024-04-17

實驗專案名稱:實驗一 黑盒測試

一、 實驗目的

1、 掌握黑盒測試的基礎知識;

2、 掌握黑盒測試的檢查內容及測試目的;

3、 掌握黑盒測試的幾種基本測試方法:等價類劃分方法、邊界值分析方法、因果圖法、決策表法和場景法;

二、 實驗內容

實驗題目:

1、設計函式實現輸入日期顯示星期幾,並用等價類及邊界值法測試

2、找零錢最佳組合

3、飲料自動售貨機控制處理軟體

4、航空服務查詢問題:根據航線,倉位,飛行時間查詢航空服務。

5、旅館住宿系統中,旅館業主可進行新增房間操作。

三、 實驗步驟及結果

1、設計函式實現輸入日期顯示星期幾,並用等價類及邊界值法測試

實驗步驟:

設計程式

劃分等價類,得到等價類表。等價類表格式如下:

輸入條件

有效等價類

唯一標識

無效等價類

唯一標識

>0

1

<=0

7

1<=月<=12

2

<1

8

>12

9

=1/3/5/7/8/10/12

1<=日<=31

3

=1/3/5/7/8/10/12

<1

>31

10

11

=4/6/9/11

1<=日<=30

4

=4/6/9/11

<1

>30

12

13

閏年 =2

1<=日<=29

5

閏年 =2

<1

>29

14

15

平年 =2

1<=日<=28

6

平年 =2

<1

>28

16

17

運用等價類劃分法設計測試用例,得到測試用例表。測試用例表格式如下:

序號

輸入資料

覆蓋等價類

輸出

1

2022,5,31

1,2,3

星期二

2

2020,4,30

1,2,4

星期四

3

2000,2,29

1,2,5

星期二

4

1999,2,28

1,2,6

星期日

5

0000,12,20

7,2,3

錯誤

6

1988,0,4

1,8

錯誤

7

2024,13,10

1,9

錯誤

8

2020-7-0

1,2,10

錯誤

9

2021,5,32

1,2,11

錯誤

10

1999,4,0

1,2,12

錯誤

11

2023,9,31

1,2,13

錯誤

12

2004,2,0

1,2,14

錯誤

13

2008,2,30

1,2,15

錯誤

14

1999,2,0

1,2,16

錯誤

15

2023,2,29

1,2,17

錯誤

運用邊界值法設計測試用例。

{<1,6,23>,<2,6,23>,<2000,1,23>,<2000,2,23>,<2000,11,23>,<2000,12,23>,<2000,6,23>,<2000,6,1>,<2000,6,2>,<2000,5,30>,<2000,5,31>,<2000,6,29>,<2000,6,30>,<2000,2,28>,<2000,2,29>,<1999,2,27>,<1999,2,28>}

2、找零錢最佳組合

假設商店貨品價格(R) 都不大於100元(且為整數),若顧客付款(P)100元內,現有一個程式能在每位顧客付款後給出找零錢的最佳組合(找給顧客貨幣張數最少)。 假定此商店的貨幣面值只包括:50(N50)10(N10) 5(N5)1(N1) 四種。

請結合等價類劃分法和邊界值分析法為上述程式設計 出相應的測試用例。

實驗步驟:

設計程式

劃分等價類,得到等價類表。等價類表格式如下:

輸入條件

有效等價類

唯一標識

無效等價類

唯一標識

商品價格

0<=R<=100

1

R<0或R>100

3

R非數字

4

顧客付款

0<=P<=100

2

P<0或P>100

5

P非數字

6

R>P

7

運用等價類劃分法設計測試用例,得到測試用例表。測試用例表格式如下:

序號

輸入資料

覆蓋等價類

輸出

1

R=50,P=60

1,2

10元一張

2

R=110,P=20

2,3

輸入價格無效

3

R=d,P=20

2,4

輸入價格無效

4

R=50,P=120

1,5

輸入支付金額無效

5

R=20,P=d

1,6

輸入支付金額無效

6

R=60,P=20

1,7

顧客付款小於商品價格

運用邊界值法設計測試用例。

{<1,1>,<2,2>,<99,50>,<100,50>,<60,50>,<60,1>,<60,2>,<100,99>,<100,100> }

7

R=99,P=100

1,2

一元一張

8

R=101,P=102

3,5

無效輸入

9

R=-1,P=1

2,3

無效輸入

3、有一個飲料自動售貨機(處理單價為5角錢)的控制處理軟體,它的軟體規格說明如下:

若投入5角錢的硬幣,按下橙汁啤酒的按鈕,則相應的飲料就送出來。若投入1元錢的硬幣,同樣也是按橙汁啤酒的按鈕,則自動售貨機在送出相應飲料的同時退回5角錢的硬幣。

模擬程式如下:

因果圖法測試該程式,並撰寫實驗報告。

實驗步驟:

①編寫程式

②分析原因與結果,與同學交換程式測試。

原因:1.售貨機有零錢

2.投入1元硬幣

3.投入5角硬幣

4.按下橙汁按鈕

5.按下啤酒按鈕

結果:21.售貨機【零錢找完】燈亮

22.退還1元硬幣

23.退還5角硬幣

24.送出橙汁

25.送出啤酒

③畫出因果圖

④轉化為決策表

1

2

3

4

5

6

7

8

條件樁

五角硬幣

1

1

0

0

1

0

-

-

一元硬幣

0

0

1

1

0

1

-

-

橙汁按鈕

1

0

1

0

-

-

1

0

啤酒按鈕

0

1

0

1

-

-

0

1

動作樁

出啤酒

0

1

0

1

0

0

0

0

出橙汁

1

0

1

0

0

0

0

0

找五角錢

0

0

1

1

0

0

0

0

⑤根據決策表設計測試用例,得到測試用例表

一元硬幣1,五角硬幣2;啤酒按鈕1,橙汁按鈕2

序號

輸入資料

期望輸出

實際輸出

1

1,1

出啤酒,找回五角硬幣

出啤酒,找回五角硬幣

2

2,1

出啤酒

出啤酒

3

3,1

無效資料

無效資料

4

1,5

無效資料

無效資料

5

2,2

出橙汁,找回五角硬幣

出橙汁,找回五角硬幣

6

2,1

出橙汁

出橙汁

4、航空服務查詢問題:根據航線,倉位,飛行時間查詢航空服務。

假設一箇中國的航空公司規定:

① 中國去歐美的航線所有座位都有食物供應,每個座位都可以播放電影。

② 中國去非歐美的國外航線都有食物供應,只有商務倉可以播放電影。

③ 中國國內的航班的商務倉有食物供應,但是不可以播放電影

④ 中國國內航班的經濟倉只有當飛行時間大於2小時時才有食物供應,但是不可以播放電影。

請用程式實現上述功能,並用決策表法設計測試用例,再執行測試,撰寫實驗報告。

實驗步驟:

① 編寫程式,與同學交換程式測試。

② 構造決策表

1

2

3

4

5

6

條件樁

歐美

1

0

0

0

0

0

國外非歐美

0

1

1

0

0

0

國內

0

0

0

1

1

1

商務艙

-

1

0

1

0

0

經濟艙

-

0

1

0

1

1

飛行時間兩小時以內

-

-

-

-

0

1

飛行時間超過兩小時

-

-

-

-

1

0

動作樁

播放電影

1

1

0

0

0

0

食物供應

1

1

1

1

1

0

找五角錢

0

0

1

1

0

0

③ 根據決策表設計測試用例,得到測試用例表

歐美1,國外非歐美2,國內3;商務艙1,經濟艙2;飛行時間兩小時以內1,飛行時間超過兩小時2

序號

輸入資料

輸出

1

1,1,2

食物供應,播放電影

2

1,1,1

食物供應,播放電影

3

2,1,2

播放電影

4

2,2,1

食物供應

5

3,1,2

食物供應

6

3,2,1

5、旅館住宿系統中,旅館業主可進行新增房間操作。

– 旅館業主登入旅館住宿系統後,可以請求新增房間;

待進入“房間管理”對話方塊,單擊“新增”按鈕可進行新增房間操作;

– 新增房間時,可以設定房間的房間編號、房間型別、房間描述資訊;

– 新增房間資訊不能缺失,若某一項未填寫,要給出提示資訊;

房間編號長度不超過5個字元;

房間描述長度不超過1000個字元;

房間資訊不能重複,成功填寫後,可進行儲存或取消操作,之後返回“房間管理”對話方塊,結束新增房間流程。

實驗步驟:

利用黑盒測試策略編寫新增房間功能的測試用例。

輸入條件

有效等價類

唯一標識

無效等價類

唯一標識

房間編號

1-5個字元的有效字串

1

空字串

4

超過5個字元的字串

5

房間型別

有效的房間型別

2

6

無效的房間型別

7

房間描述資訊

1-1000個字元的有效描述資訊

3

8

超過1000個字元的字串

9

運用等價類劃分法設計測試用例,得到測試用例表。測試用例表格式如下:

序號

輸入資料

覆蓋等價類

輸出

1

房間編號: "101",房間型別: "單人間",房間描述資訊: "舒適的單人間"

1,2,3

房間成功新增並儲存

2

房間編號: "",房間型別: "雙人間",房間描述資訊: "寬敞的雙人間"

4,2,3

新增失敗,提示缺失房間編號

3

房間編號: "",房間型別: "雙人間",房間描述資訊: "寬敞的雙人間"

5,2,3

新增失敗,提示房間編號超出長度限制

4

房間編號: "10001",房間型別: "",房間描述資訊: "豪華套房"

1,3,6

新增失敗,提示缺失房間型別

5

房間編號: "10001",房間型別: "&&",房間描述資訊: "豪華套房"

1,7,6

新增失敗,提示無效房間型別

6

房間編號: "102",房間型別: "單人間",房間描述資訊: ""

1,2,8

新增失敗,提示無房間描述資訊

7

房間編號: "102",房間型別: "單人間",房間描述資訊: "超級豪華大床房,設施齊全,景觀無敵..."

1,2,9

新增失敗,提示房間描述資訊過長

四、 個人體會

1、在實際的測試中,如何設計測試用例才能達到用最少的測試用例檢測出最多的缺陷;

(1)使用等價類劃分和邊界值分析等技術,識別關鍵的輸入領域和邊界條件。

(2)優先選擇具有代表性的測試用例,以覆蓋不同的等價類和邊界情況,從而最大限度地檢測缺陷。

(3)利用因果圖和狀態圖等技術,識別功能之間的關聯,從而設計具有高效覆蓋率的測試用例。

2、在進行用例設計時,如何考慮軟體測試用例的充分性和減少軟體測試用例的冗餘性;

(1)確保測試用例覆蓋了所有預期的功能需求和非功能需求,包括正常情況和異常情況。

(2)避免重複測試相同功能或路徑,透過設計測試用例時的巧妙組合和排列,減少測試用例的冗餘性。

(3)使用測試用例評估工具和技術,如覆蓋率分析和配對測試,確保測試用例集合既充分又高效。

3、本次實驗遇到的難點、如何解決的及體會。

難點:測試用例設計困難

解決:使用測試技術,採用等價類劃分、邊界值分析、因果圖等測試技術來指導測試用例的設計,確保覆蓋功能的關鍵方面。

體會:黑盒測試雖然具有挑戰,但透過有效的測試技術和適當的工具支援,可以克服難點並設計出高質量的測試用例,從而提高軟體的質量和可靠性。

相關文章