實驗三 021 林明鐵
一、實驗目的
掌握黑盒測試用例設計方法
二、實驗要求
(1)對被測程序進行黑盒測試用例設計
(2)運用等價類、邊界值、決策表、狀態圖法等進行測試用例設計。
(3)對手機上任意一款音樂軟件進行黑盒測試實踐。(作業若雷同,後上傳者判定0分)
三、實驗內容
1、對被測程序運用不同的測試技巧進行測試用例設計,並執行測試,撰寫測試小結。
要求寫出測試用例表、執行情況和測試小結。
2、對手機上任意一款音樂軟件進行黑盒測試。
要求:1)使用思維導圖
2)根據場景法、狀態圖法 設計測試用例。
3)附加題:如有可能嘗試用正交實驗法、組合測試對測試用例進行簡化。
寫出測試用例表、執行情況,測試小結。
實驗(1):對被測程序運用不同的測試技巧進行測試用例設計,並執行測試,撰寫測試小結。
1)被測項目界面
2)測試用例設計表
等價類測試:
輸入等價類 |
有效等價類 |
無效等價類 |
年份長度及類型 |
4位數字(1) |
有非數字的字符(12) |
年份範圍 |
1912~2050(2) |
小於1912(15) |
月份長度及類型 |
1位數字(3) 2位數字(4) |
有非數字的字符(17) |
月份範圍 |
1~12(5) |
小於1(19) |
日的長度及類型 |
1位數字(6) 2位數字(7) |
有非數字的字符(21) |
日的範圍 |
月份為:1、3、5、7、8、10、12時:1~31(8) |
月份為:1、3、5、7、8、10、12:小於1(23) |
測試用例:
用例編號 |
測試數據 |
期望結果 |
實際結果 |
覆蓋範圍 |
是否通過 |
YJ1-001 |
1933-3-6 |
星期一 上一天:1933-3-5 下一天:1933-3-7 |
與預期結果相同 |
1、2、3、5、6、8 |
通過 |
YJ1-002 |
1999-11-16 |
星期二 上一天:1999-11-15 下一天:1999-11-17 |
與預期結果相同 |
1、2、4、5、7、9 |
通過 |
YJ1-003 |
2008-2-29 |
星期五 上一天:2008-2-28 下一天:2008-3-1 |
與預期結果相同 |
1、2、3、5、7、10 |
通過 |
YJ1-004 |
2013-2-28 |
星期四 上一天:2013-2-27 下一天:2013-3-1 |
與預期結果相同 |
1、2、3、5、7、11 |
通過 |
YJ1-005 |
1L66-9-13 |
提示輸入數字 |
與預期結果相同 |
12 |
通過 |
YJ1-006 |
19936-6-15 |
提示年份超出範圍 |
沒有提示 |
13 |
否 |
YJ1-007 |
206-6-3 |
提示年份超出範圍 |
沒有提示 |
14 |
否 |
YJ1-008 |
1910-9-16 |
提示年份超出範圍 |
沒有提示 |
15 |
否 |
YJ1-009 |
2060-3-26 |
提示年份超出範圍 |
沒有提示 |
16 |
否 |
YJ1-010 |
1976-X-16 |
提示輸入數字 |
與預期結果相同 |
17 |
通過 |
YJ1-011 |
1936-52-23 |
提示月份超出範圍 |
沒有提示 |
18 |
否 |
YJ1-012 |
1963-0-25 |
提示月份超出範圍 |
沒有提示 |
19 |
否 |
YJ1-013 |
1983-13-9 |
提示月份超出範圍 |
沒有提示 |
20 |
否 |
YJ1-014 |
1966-5-1D |
提示輸入數字 |
與預期結果相同 |
21 |
通過 |
YJ1-015 |
1988-6-123 |
提示日期超出範圍 |
沒有提示 |
22 |
否 |
YJ1-016 |
1982-3-0 |
提示日期超出範圍 |
沒有提示 |
23 |
否 |
YJ1-017 |
1986-5-32 |
提示日期超出範圍 |
沒有提示 |
24 |
否 |
YJ1-018 |
1963-9-0 |
提示日期超出範圍 |
沒有提示 |
25 |
否 |
YJ1-019 |
1963-11-31 |
提示日期超出範圍 |
沒有提示 |
26 |
否 |
YJ1-020 |
2012-2-0 |
提示日期超出範圍 |
沒有提示 |
27 |
否 |
YJ1-021 |
2020-2-30 |
提示日期超出範圍 |
沒有提示 |
28 |
否 |
YJ1-022 |
2017-2-0 |
提示日期超出範圍 |
沒有提示 |
29 |
否 |
YJ1-023 |
2015-2-29 |
提示日期超出範圍 |
沒有提示 |
30 |
否 |
邊界值法測試:
1912<=年份<=2050
1<=月份<=12
1<=日期(月份:4、6、9、11)<=30
1<=日期(月份為:1、3、5、7、8、10、12)<=31
1<=日期(月份:2 年份:閏年)<=29
1<=日期(月份:2 年份:平年)<=28
測試用例:
用例編號 |
測試數據 |
期望結果 |
實際結果 |
是否通過 |
YJ2-001 |
1911-3-6 |
提示年份超出範圍 |
沒有提示 |
否 |
YJ2-002 |
1912-6-16 |
星期日 上一天:1912-6-15 下一天:1912-6-17 |
與預期結果相同 |
通過 |
YJ2-003 |
1913-9-16 |
星期二 上一天:1913-9-15 下一天:1913-9-17 |
與預期結果相同 |
通過 |
YJ2-004 |
2049-6-3 |
星期四 上一天:2049-6-2 下一天:2049-6-4 |
與預期結果相同 |
通過 |
YJ2-005 |
2050-10-6 |
星期四 上一天:2050-10-5 下一天:2050-10-7 |
與預期結果相同 |
通過 |
YJ2-006 |
2051-3-19 |
提示年份超出範圍 |
沒有提示 |
否 |
YJ2-007 |
1963-0-3 |
提示月份超出範圍 |
沒有提示 |
否 |
YJ2-008 |
1999-1-20 |
星期三 上一天:1999-1-19 下一天:1999-1-21 |
與預期結果相同 |
通過 |
YJ2-009 |
1996-2-6 |
星期二 上一天:1996-2-5 下一天:1996-2-7 |
與預期結果相同 |
通過 |
YJ2-010 |
2016-11-16 |
星期三 上一天:2016-11-15 下一天:2016-11-17 |
與預期結果相同 |
通過 |
YJ2-011 |
2019-12-6 |
星期五 上一天:2019-12-5 下一天:2019-12-7 |
與預期結果相同 |
通過 |
YJ2-012 |
2000-13-9 |
提示月份超出範圍 |
沒有提示 |
否 |
YJ2-013 |
1963-6-0 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-014 |
2016-9-1 |
星期四 上一天:2016-8-31 下一天:2016-9-2 |
與預期結果相同 |
通過 |
YJ2-015 |
2019-11-2 |
星期六 上一天:2019-11-1 下一天:2019-11-3 |
與預期結果相同 |
通過 |
YJ2-016 |
2000-4-29 |
星期六 上一天:2000-4-28 下一天:2000-4-30 |
與預期結果相同 |
通過 |
YJ2-017 |
1999-6-30 |
星期三 上一天:1999-6-29 下一天:1999-7-1 |
與預期結果相同 |
通過 |
YJ2-018 |
2018-9-31 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-019 |
1936-1-0 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-020 |
2030-3-1 |
星期五 上一天:2030-2-28 下一天:2030-3-2 |
與預期結果相同 |
通過 |
YJ2-021 |
1968-5-2 |
星期四 上一天:1968-5-1 下一天:1968-5-3 |
與預期結果相同 |
通過 |
YJ2-022 |
1972-7-30 |
星期日 上一天:1972-7-29 下一天:1972-7-31 |
與預期結果相同 |
通過 |
YJ2-023 |
1987-8-31 |
星期一 上一天:1987-8-30 下一天:1987-9-1 |
與預期結果相同 |
通過 |
YJ2-024 |
2036-10-32 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-025 |
1968-2-0 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-026 |
1976-2-1 |
星期日 上一天:1976-1-31 下一天:1976-2-2 |
與預期結果相同 |
通過 |
YJ2-027 |
2008-2-2 |
星期六 上一天:2008-2-1 下一天:2008-2-3 |
與預期結果相同 |
通過 |
YJ2-028 |
2012-2-28 |
星期二 上一天:2012-2-27 下一天:2012-2-29 |
與預期結果相同 |
通過 |
YJ2-029 |
2016-2-29 |
星期一 上一天:2012-2-28 下一天:2012-3-1 |
與預期結果相同 |
通過 |
YJ2-030 |
2036-2-30 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-031 |
1983-2-0 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ2-032 |
1965-2-1 |
星期一 上一天:1965-1-31 下一天:1965-2-2 |
與預期結果相同 |
通過 |
YJ2-033 |
1987-2-2 |
星期一 上一天:1987-2-1 下一天:1987-2-3 |
與預期結果相同 |
通過 |
YJ2-034 |
2013-2-27 |
星期三 上一天:2013-2-26 下一天:2013-2-28 |
與預期結果相同 |
通過 |
YJ2-035 |
2017-2-28 |
星期二 上一天:2017-2-27 下一天:2017-3-1 |
與預期結果相同 |
通過 |
YJ2-036 |
2033-2-29 |
提示日期超出範圍 |
沒有提示 |
否 |
決策表法測試:
Y1={年:是閏年};
Y2={年:不是閏年};
M1={月:每月有30天};
M2={月:每月有31天,除12月以外};
M3={月:此月是12月};
M4={月:此月是2月}
D1={日:1<=日<=27};
D2={日:日=28};
D3={日:日=29};
D4={日:日=30};
D5={日:日=31};
決策表:
選項
規則 |
1 2 3 |
4 |
5 |
6 7 8 9 |
10 |
11 12 13 14 |
15 |
16 |
17 |
18 |
19 |
20 |
21,22 |
|
條件 |
C1:month在 |
M1 |
M1 |
M1 |
M2 |
M2 |
M3 |
M3 |
M3 |
M4 |
M4 |
M4 |
M4 |
M4 |
C2:day在 |
D1 D2 D3 |
D4 |
D5 |
D1 D2 D3 D4 |
D5 |
D1 D2 D3 D4 |
D5 |
D1 |
D2 |
D2 |
D3 |
D3 |
D4 D5 |
|
C3:year在 |
- |
- |
- |
- |
- |
- |
- |
- |
Y1 |
Y2 |
Y1 |
Y2 |
- |
|
動作 |
A1:不可能 |
|
|
√ |
|
|
|
|
|
|
|
|
√ |
√ |
A2:day加1 |
√ |
|
|
√ |
|
√ |
|
√ |
√ |
|
|
|
|
|
A3:day復位 |
|
√ |
|
|
√ |
|
√ |
|
|
√ |
√ |
|
|
|
A4:month加1 |
|
√ |
|
|
√ |
|
|
|
|
√ |
√ |
|
|
|
A5:month加復位 |
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
A6:year加1 |
|
|
|
|
|
|
√ |
|
|
|
|
|
|
測試用例:
用例編號 |
測試數據 |
期望結果 |
實際結果 |
是否通過 |
YJ3-001 |
1999-6-2 |
星期三 上一天:1999-6-1 下一天:1999-6-3 |
與預期的結果一樣 |
通過 |
YJ3-002 |
2018-1-31 |
星期三 上一天:2018-1-30 下一天:2018-2-1 |
與預期的結果一樣 |
通過 |
YJ3-003 |
1963-9-31 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ3-004 |
1966-5-6 |
星期五 上一天:1966-5-5 下一天:1966-5-7 |
與預期的結果一樣 |
通過 |
YJ3-005 |
1976-7-31 |
星期六 上一天:1976-7-30 下一天:1976-8-1 |
與預期的結果一樣 |
通過 |
YJ3-006 |
1996-12-29 |
星期日 上一天:1996-12-28 下一天:1996-12-30 |
與預期的結果一樣 |
通過 |
YJ3-007 |
1982-12-31 |
星期五 上一天:1982-12-30 下一天:1983-1-1 |
與預期的結果一樣 |
通過 |
YJ3-008 |
1997-12-13 |
星期六 上一天:1997-12-12 下一天:1997-12-14 |
與預期的結果一樣 |
通過 |
YJ3-009 |
2016-2-28 |
星期日 上一天:2016-2-27 下一天:2016-2-29 |
與預期的結果一樣 |
通過 |
YJ3-010 |
2017-2-28 |
星期二 上一天:2017-2-27 下一天:2017-3-1 |
與預期的結果一樣 |
通過 |
YJ3-011 |
2020-2-29 |
星期六 上一天:2020-2-28 下一天:2020-3-1 |
與預期的結果一樣 |
通過 |
YJ3-012 |
2021-2-29 |
提示日期超出範圍 |
沒有提示 |
否 |
YJ3-013 |
2028-2-30 |
提示日期超出範圍 |
沒有提示 |
否 |
3)測試結論
在用戶輸入錯誤的年、錯誤的月份和錯誤的日期時沒有給用戶相應的詳細提示。
實驗(2):對手機上任意一款音樂軟件進行黑盒測試
部分思維導圖(詳細見實驗報告圖片附件):
實例:使用手機號登錄APP,選擇未緩存的歌單中的歌曲進行評論。
使用網易雲音樂評論歌曲的整個過程描述:用戶打開網易雲音樂APP,在擁有網絡狀態下,用戶進行登錄,選擇歌曲,點擊歌曲進行播放,選擇評論,輸入評論內容,輸入評論內容時需要用戶登錄,如果已經登錄過了則可以輸入評論內容,點擊發送。
場景法:
基本流(場景1) |
用戶打開網易雲音樂,登錄網易雲,選擇歌單,點擊歌曲進行播放,點擊評論,輸入評論內容,點擊發送。 |
備選流1(場景2) |
登陸時無網絡 |
備選流2(場景3) |
手機號未註冊 |
備選流3(場景4) |
手機號不正確 |
備選流4(場景5) |
密碼錯誤 |
備選流5(場景6) |
手機號為空 |
備選流6(場景7) |
密碼為空 |
備選流7(場景8) |
選擇歌單時無網絡 |
備選流8(場景9) |
播放歌曲時無網絡 |
備選流9(場景10) |
輸入評論時用戶未登錄 |
備選流10(場景11) |
輸入空的評論內容 |
備選流11(場景12) |
輸入超過字數限制的評論內容 |
備選流12(場景13) |
發送時無網絡 |
測試用例設計(V表示有效輸入,I表示無效輸入,n/a表示不適用):
用例編號 |
場景/條件 |
網絡狀態 |
帳號 |
密碼 |
選擇歌單 |
播放歌曲 |
評論內容 |
發送 |
預期結果 |
實際結果 |
是否通過 |
YJ001 |
場景1:評論成功 |
V |
V |
V |
V |
V |
V |
V |
評論成功 |
發表成功 |
Y |
YJ002 |
場景2: 登錄時無網絡 |
I |
V |
V |
n/a |
n/a |
n/a |
n/a |
提示無網絡 |
提示當前網絡不可用,請檢查網絡 |
Y |
YJ003 |
場景3:手機號未註冊 |
V |
I |
I |
n/a |
n/a |
n/a |
n/a |
提示該手機號未註冊 |
提示用戶名或密碼錯誤 |
N |
YJ004 |
場景4:手機號不正確 |
V |
I |
I |
n/a |
n/a |
n/a |
n/a |
提示手機號不正確 |
提示請輸入11位手機號 |
Y |
YJ005 |
場景5:密碼錯誤 |
V |
V |
I |
n/a |
n/a |
n/a |
n/a |
提示密碼錯誤 |
提用戶名或密碼錯誤 |
Y |
YJ006 |
場景6:手機號為空 |
V |
n/a |
n/a |
n/a |
n/a |
n/a |
n/a |
提示輸入手機號 |
提示請輸入手機號 |
Y |
YJ007 |
場景7: 密碼為空 |
V |
V |
n/a |
n/a |
n/a |
n/a |
n/a |
提示輸入密碼 |
提示請輸入密碼 |
Y |
YJ008 |
場景8:選擇歌單時無網絡 |
I(登陸成功後) |
V |
V |
V |
n/a |
n/a |
n/a |
提示無網絡 |
提示當前網絡不可用 |
Y |
YJ009 |
場景9:播放歌曲時無網絡 |
I(登陸成功並已經進入歌單界面後) |
V |
V |
V |
V |
n/a |
n/a |
提示無網絡 |
提示當前網絡不可用 |
Y |
YJ010 |
場景10:輸入評論時,用戶未登錄 |
V |
n/a |
n/a |
V |
V |
n/a |
n/a |
彈出登陸界面讓用戶登錄 |
彈出登陸界面 |
Y |
YJ011 |
場景11:評論內容為空 |
V |
V |
V |
V |
V |
I |
n/a |
無法發送評論 |
發送按鍵無法操作 |
Y |
YJ012 |
場景12:輸入超過字數限制的評論內容 |
V |
V |
V |
V |
V |
I |
n/a |
提示超過字數限制 |
提示字數超過限制 |
Y |
YJ013 |
場景13:發送評論時無網絡 |
I(用戶已登錄,已寫好評論內容後) |
V |
V |
V |
V |
V |
V |
提示無網絡 |
提示當前網絡不可用 |
Y |
用戶使用手機登錄或遊客試用的方式進入網易雲音樂的狀態圖:
IP1:提供網絡
IP2:切斷網絡
IP3:點擊手機號登錄
IP4:輸入手機號
IP5:輸入密碼
IP6:點擊登錄
IP7:點擊遊客試用
狀態法實例:
狀態 |
啟動網易雲音樂 |
有網絡狀態的登錄界面 |
無網絡狀態的登錄界面 |
手機號登錄頁面 |
密碼已輸入 |
手機號已輸入 |
手機號密碼已輸入 |
網易雲音樂主頁 |
1 |
1 |
2 |
|
|
|
|
|
3 |
2 |
1 |
4 |
23 |
|
|
|
|
5 |
3 |
1 |
|
2 |
|
|
|
|
3 |
4 |
1 |
2 |
|
34 |
|
56 |
7 |
8 |
5 |
1 |
2 |
|
3 |
45 |
|
6 |
7 |
6 |
1 |
2 |
|
3 |
|
45 |
6 |
7 |
7 |
1 |
2 |
|
3 |
|
4 |
5 |
6 |
8 |
1 |
2 |
|
3 |
4 |
|
5 |
6 |
9 |
1 |
3 |
2 |
|
|
|
|
4 |
測試小結:
使用思維導圖能夠清晰知道軟件的邏輯順序,使用不一樣的標記可以標記哪個部分已經測試過了,哪個部分還沒測試過,同時可以將發現的BUG描述在相應的位置上,BUG位置清晰明了。
狀態圖的使用和狀態圖實例不是很理解。
網易雲音樂APP的部分頁面的跳轉出現重復疊加,部分頁面關閉時沒有關閉資源,網易雲音樂提供的資源與用戶所需要的資源部分不符,詳細的BUG描述見實驗報告圖片附件。
實驗三 021 林明鐵