1.根據下面給出的規格說明,利用等價類進行測試用例的設計。
一個程序讀入3個正整數,把這三個數值看作一個三角形的3條邊的長度值。這個程序要打印出信息,說明這個三角形是普通的、是等腰的、還是等邊的。
a.找出輸入輸出條件,列出有效等價類和無效等價類並編號;
輸入 | 有效的等價類 | 無效等價類 |
3條邊 | 3個正整數(1) | <3個數(2),>3個數(3),非正整數(4),非數字(5) |
普通三角形 | a+b>c且a+c>b且b+c>a (6) | a+b<c(7),a+c<b(8), b+c<a(9) |
等腰三角形 | a=c(10),a=b(11), b=c(12) | |
等邊三角形 | a=b=c(13) |
b.設計用例
編號 | 覆蓋等價類 | a | b | c | 預期輸出 |
1 | 1,6 | 3 | 4 | 5 | 普通三角形 |
2 | 1,6,10 | 3 | 4 | 3 | 等腰三角形 |
3 | 1,6,11 | 3 | 3 | 4 | 等腰三角形 |
4 | 1,6,12 | 4 | 3 | 3 | 等腰三角形 |
5 | 1,6,13 | 3 | 3 | 3 | 等邊三角形 |
6 | 2 | 3 | 3 | 非三角形 | |
7 | 3 | 3 | 3 | 3,3 | 非三角形 |
8 | 4 | -1 | 3 | 3 | 非三角形 |
9 | 5 | a | a | a | 非三角形 |
10 | 7 | 3 | 4 | 8 | 非三角形 |
11 | 8 | 3 | 8 | 4 | 非三角形 |
12 | 9 | 8 | 3 | 4 | 非三角形 |
以上是最少的測試用例組合,如果時間、條件允許可適當補充用例;
2.正對上題, 要求三角形每邊邊長的取范圍值設值為(1, 100],利用邊界值進行測試用例的設計。
a.找出上點:1,100 離點:2,101 內點:55
b.等價類的基礎上補充邊界用例
用例編號 | a | b | c | 預期輸出 |
1 | 55 | 55 | 1 | 等腰三角形 |
2 | 50 | 50 | 100 | 非三角形 |
3 | 55 | 55 | 2 | 等腰三角形 |
4 | 55 | 55 | 101 | 等腰三角形 |
5 | 55 | 55 | 55 | 等邊三角形 |
6 | 1 | 55 | 55 | 等腰三角形 |
7 | 100 | 50 | 50 | 非三角形 |
8 | 2 | 55 | 55 | 等腰三角形 |
9 | 101 | 55 | 55 | 等腰三角形 |
10 | 55 | 1 | 55 | 等腰三角形 |
11 | 50 | 100 | 50 | 非三角形 |
12 | 55 | 2 | 55 | 等腰三角形 |
13 | 55 | 101 | 55 | 等腰三角形 |
3.用判定表方法設計上述用例。
a.找出條件樁:是否構成三角形(能/不能);三邊關系(a=b/a=c/b=c);
動作樁:非三角形,等腰三角形、等邊三角形、普通三角形;
b.畫判定表;
條件樁 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
構成三角形 | Y | Y | Y | Y | Y | Y | Y | Y | N | N | N | N | N | N | N | N |
a=b | Y | Y | Y | Y | N | N | N | N | X | Y | Y | Y | N | N | N | N |
b=c | Y | Y | N | N | Y | Y | N | N | X | Y | N | N | Y | Y | N | N |
a=c | Y | N | Y | N | Y | N | Y | N | X | N | Y | N | Y | N | Y | N |
動作樁 | 等邊三角形 | 不存在 | 不存在 | 等腰三角形 | 不存在 | 等腰三角形 | 等腰三角形 | 普通三角形 | 非三角形 | 非三角形 | 非三角形 | 非三角形 | 非三角形 | 非三角形 | 非三角形 | 非三角形 |
c.合並化簡
根據題意,不能構成三角形就不需要再考慮三邊關系,所以不能構成三角形的列可以合並為一條,上表標紅部分可以直接刪除,邏輯不存在的2,3,5條也可以刪除,形成下圖最終的判定表,最后可以參考等價類和邊界值來進行最終的用例設計;
條件樁 | 1 | 2 | 3 | 4 | 5 | 6 |
構成三角形 | Y | Y | Y | Y | Y | N |
a=b | Y | Y | N | N | N | X |
b=c | Y | N | Y | N | N | X |
a=c | Y | N | N | Y | N | X |
動作樁 | 等邊三角形 | 等腰三角形 | 等腰三角形 | 等腰三角形 | 普通三角形 | 非三角形 |
4.自動售貨機的部分需求規格說明如下:
一個處理單價為5角錢的飲料的自動售貨機。其規格說明如下:若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣並押下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣。”請使用因果圖法設計相應的測試用例。
a. 原因(輸入):有零錢 投5角 投1元 橙汁 啤酒
b. 找結果(輸出):出橙汁 出啤酒 零錢找完 退1元 退5角
c. 畫因果圖:
說明:左列原因,右列結果;11表示按下按鈕,12表示該找5角,13表示可找5角,14表示錢付清;
d.生成判定表
條件樁 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
有零錢找 | Y | Y | Y | Y | Y | Y | Y | Y | N | N | N | N | N | N | N | N |
投一元 | Y | Y | Y | N | N | N | N | N | Y | Y | Y | N | N | N | N | N |
投五角 | N | N | N | Y | Y | Y | N | N | N | N | N | Y | Y | Y | N | N |
押橙汁 | Y | N | N | Y | N | N | Y | N | Y | N | N | Y | N | N | Y | N |
押啤酒 | N | Y | N | N | Y | N | N | Y | N | Y | N | N | Y | N | N | Y |
動作樁 | 退5角,出橙汁 | 退5角,出啤酒 | 無反應 | 出橙汁 | 出啤酒 | 無反應 | 無反應 | 無反應 | 紅燈亮,退一元 | 紅燈亮,退一元 | 無反應 | 出橙汁 | 出啤酒 | 無反應 | 無反應 | 無反應 |
5.根據下面場景,利用正交實驗法設計用例。用戶登錄系統,三個登錄條件:用戶名、密碼、驗證碼,考慮填寫或不填寫。
a.找因子:用戶名,密碼,驗證碼
b.找因子狀態:填,不填
c.3因子2狀態,套用正交表
d.生成正交表
測試用例編號 |
用戶名 |
密碼 |
驗證碼 |
1 |
填 |
填 |
填 |
2 |
填 |
不填 |
不填 |
3 |
不填 |
填 |
不填 |
4 |
不填 |
不填 |
填 |
PS:1.可以根據SRS, 對生成后的正交表進行增刪操作, 刪除無意義的用例,添加需要的用例;
2.若得到的因子和狀態數,找不到對應的正交表,則合並刪除,選取最為接近的正交表,例如:5因子2狀態,沒有該正交表,可以用7因子2狀態代替。
6.案例:一個缺陷的一生
測試人員提交新問題單,測試經理審核問題單,如果不是問題則作為非問題關閉,如果重復則作為重復問題關閉。否則置為打開狀態;
開發人員分析打開狀態的問題單,如果接受則進行修改,否則應與測試人員協商,在問題提交人統一的情況下可退回給測試人員作為非問題關閉;
對於開發人員拒絕修改但測試人員無法認同的情況,該問題單需交CCB評審,根據評審結果,如果確認要修改則進入修改狀態;
如果不是問題則作為非問題關閉,如果是問題但暫時無法解決則掛起。掛起的問題單到達指定修改期限時會再次進入打開狀態。修改后的問題單需由測試人員進行回歸測試,如果回歸通過則關閉問題單,如果回歸不通過則重新進入打開狀態。
根據上述案例過程,畫狀態遷移圖。
a.找狀態:打開,關閉,修復,重新打開,審核,關閉,重復,延遲,丟棄
b.畫狀態遷移圖
7.根據下圖分析流程,找出所有路徑;
根據上圖,共可以找到8條路徑:
a.基本流→結束用例
b.基本流→備選流1→結束用例
c.基本流→備選流1→備選流2→結束用例
d.基本流→備選流3→備選流1→備選流2→結束用例
e.基本流→備選流3→結束用例
f.基本流→備選流4→結束用例
g.基本流→備選流3→備選流4→結束用例
h.基本流→備選流4→結束用例