1. 程式人生 > >黑盒測試 白盒測試 題

黑盒測試 白盒測試 題

習題1

為以下流程圖所示的程式段設計一組測試用例,要求分別滿足語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋。

語句覆蓋

原則覆蓋程式中所有可執行的語句

設計的測試用例如下

編號 輸入項 執行語句
{x=17,y=6} 執行語句3
{x=1,y=-1} 執行語句2
{x=-1.y=-1} 執行語句1

判定覆蓋

覆蓋所有的路徑

設計的測試用例如下

編號 輸入項 覆蓋的分支
{x=9,y=11} b->f
{x=15,y=9} y->e
{x=7,y=-1} a->d
{x=-1,y=-1} a->c

條件覆蓋

判定的每個條件的可能值至少滿足一次

對取值進行標記

判定 條件 取值標記 (true) 取值標記(false)
x>8 and y>5 x > 8 T1 -T1
y>5 T2 -T2
x>16 or y > 10 x > 16 T3 -T3
y > 10 T4 -T4
x > 0 or y > 0 x > 0 T5 -T5
y > 0 T6 -T6

產生測試用例

原則 對產生的的判定中的每個原則都要滿足

測試用例 執行路徑 覆蓋條件 覆蓋分支
{x=17, y=11} b->f T1 T2 T3 T4 b分支 f分支
{x=15, y=6} b->e T1 T2 -T3 -T4 b分支 e分支
{x=7,y=4} a->d -T1 -T2 T5 T6 a分支 d分支
{x=-1, y=-1} a->c -T1 -T2 -T5 -T6 a分支 c分支

判定條件覆蓋

將判定覆蓋和條件覆蓋結合,使得判定中的每個條件的所有取值至少滿足一次。同時每個判定的結果至少出現一次。將判定覆蓋和條件覆蓋相結合

結果如下;

測試用例 執行路徑 覆蓋條件 覆蓋分支
{x=17, y=11} b->f T1 T2 T3 T4 b分支 f分支
{x=15, y=6} b->e T1 T2 -T3 -T4 b分支 e分支
{x=7,y=4} a->d -T1 -T2 T5 T6 a分支 d分支
{x=-1, y=-1} a->c -T1 -T2 -T5 -T6 a分支 c分支

組合覆蓋

每一個判定的所有可能的條件取值的組合

取值標記

判定 條件 取值標記 (true) 取值標記(false)
x>8 and y>5 x > 8 T1 -T1
y>5 T2 -T2
x>16 or y > 10 x > 16 T3 -T3
y > 10 T4 -T4
x > 0 or y > 0 x > 0 T5 -T5
y > 0 T6 -T6

取分支

序號 條件 取的分支
T1 T2 第一個分支取真
T1 -T2 第一個分支取假
-T1 T2 第一個分支取假
-T1 -T2 第一個分支取假
T3 T4 第二個分支取真
T3 -T4 第二個分支取真
-T3 T4 第二個分支取真
-T3 -T4 第二個分支取假
T5 T6 第三個分支取真
T5 -T6 第三個分支取真
十一 -T5 T6 第三個分支取真
十二 -T5 -T6 第三個分支取假

生成測試用例

測試用例 覆蓋組合號 覆蓋的路徑
{x=17,y=11} 1 and 5 b->f
{x=17,y=9} 1 and 6 b -> f
{x=15,y=11} 1 and 7 b -> f
{x=9,y=6} 1 and 8 b -> e
{x=9, y =4} 2 and 9 a -> d
{x=7, y=-1} 3 and 10 a -> d
{x=7,y=-1} 4 and 11 a -> d
{x=-1, y =-1} 4 and 12 a -> c

路徑覆蓋

要求路徑全部覆蓋

測試用例 覆蓋組合號 覆蓋的路徑
{x=17,y=11} 1 and 5 b->f
{x=9,y=6} 1 and 8 b -> e
{x=9, y =4} 2 and 9 a -> d
{x=-1, y =-1} 4 and 12 a -> c

習題2

某城市電話號碼由三部分組成,分別是:

地區碼—— 空白或三位數字;

前 綴—— 非‘0’或‘1’開頭的三位數字;

後 綴—— 4位數字。

假定被測程式能接受一切符合上述規定的電話號碼, 拒絕所有不符合規定的電話號碼。
請選擇適當的黑盒測試方法,寫出選擇該方法的原因,並使用該方法的步驟,給出測試用例表。

選用的測試

準備選擇場景發進行測試,理由如下

  1. 該軟體是採用事件觸發用來控制流程
  2. 使用場景法較為簡單
  3. 該軟體邏輯清晰,備選分支不是很多

繪製場景圖

編寫測試用例

地區碼測試

編號 輸入 說明
1 空  對應輸入地區碼為空
2 000 對應數字輸入3位數字地區碼
3 www 對應輸入非數字地區碼

字首測試

編號 輸入 說明
1 222 非0 1 開頭的三位數字
2 022 0開頭三位數字
3 122 1開頭三位數字
4 0222 0開頭非三位數字
5 1 1開頭的非三位數字
6 1w 1開頭非數字內容
7 0w 0開頭非數字內容
8 34324 非0 1 開頭的非三位數字
9 w 非0 1 開頭的非數字

字尾測試

編號 輸入 說明
1 0000 4位字尾數字
2 0 非4位數字
3 非數字內容


www.iming.info