黑盒测试法——等价类划分法(修改版)
?黑盒測試法——等價類劃分法
?
實驗目的:1.掌握等價類劃分的方法
實驗內容:
1、請用等價類劃分法為三角形問題劃分等價類,并設計相應的測試用例,測試下面三角形問題程序,找出缺陷并改正,給出缺陷報告。
2、三角形問題:輸入3個整數a、b、c,分別作為三角形的3條邊,通過程序判斷由3條邊構成的三角形的類型為等邊三角形、等腰三角形、一般三角形或者3條邊不構成三角形。
3、方案設計
輸入三條邊a、b、c必須滿足以下條件:
條件1: 1≤a≤100
條件2: 1≤b≤100
條件3: 1≤c≤100
條件4: a<b+c
條件5: b<a+c
條件6: c<a+b
如果輸入值a、b、c滿足條件1、2、3,則輸出下列四種情況之一:
(1)如果不同時滿足條件4、5、6,則程序輸出“不構成三角形”。
(2)如果3條邊相等,則程序輸出為“等邊三角形”。
(3)如果恰好有2條邊相等,則程序輸出為“等腰三角形”。
(4)如果3條邊都不相等,則程序輸出為“一般三角形”。
(5)對于不滿足條件1、2、3的情況,應給出具體提示:“超出范圍”
(6)對于輸入數據不滿足要求的,應給出具體提示“請輸入3個非零正整數”
?
?
?
?
?
?
等價類劃分
?
| ? | 有效等價類 | 號碼 | 無效等價類 | 號碼 |
| ? ? ? ? ? ? ? ? ? ? 輸入三個整數 | ? ? ? 整數 | ? ? ? 1 | ?a為非整數 ?????? 一邊為非整數???? b為非整數 ??????????????????????? c為非整數 a,b為非整數 兩邊為非整數????? b,c為非整數 a,c為非整數 三邊a,b,c均為非整數 | 12 13 14 15 16 17 18 |
| ? ? ? 三個數 | ? ? ? 2 | 只給a 只給一邊???? 只給b 只給c 只給a,b 只給兩邊????? 只給b,c 只給a,c 給出三個以上 | 19 20 21 22 23 24 25 | |
| ? ? ? 非零數 | ? ? ? 3 | a為0 一邊為零???? b為0 c為0 a,b為0 兩邊為零??? b,c為0 a,c為0 三邊a,b,c均為0 | 26 27 28 29 30 31 32 | |
| ? ? ? 正數 | ? ? ? 4 | a<0 一邊<0????? b<0 c<0 a<0且b<0 二邊<0????? a<0且c<0 b<0且c<0 三邊均<0:a<0且b<0且c<0 | 33 34 35 36 37 38 39 | |
| 構成一般三角形 | ? a+b>c ? b+c>a ? a+c>b | ? 5 ? 6 ? 7 | a+b<c a+b=c b+c<a b+c=a a+c<b a+c=b | 40 41 42 43 44 45 |
| 構成等腰三角形 | a=b?? 且兩邊之 b=c??? 和大于 a=c?? 第三邊 | 8 9 10 | ? | ? |
| 構成等邊三角形 | a=b=c | 11 | ? | ? |
?
| 測試用例編號 | (a,b,c) | 覆蓋等價類 | 預期輸出 | 實際輸出 | 結果 |
| T01 | (3,4,5) | 1-7 | 一般三角形 | 一般三角形 | ? |
| T02 | (3,3,5) | 1-7,8 | 等腰三角形 | 等腰三角形 | ? |
| T03 | (3,5,5) | 1-7,9 | 等腰三角形 | 等腰三角形 | ? |
| T04 | (3,5,3) | 1-7,10 | 等腰三角形 | 等腰三角形 | ? |
| T05 | (1,1,1) | 1-7,11 | 等邊三角形 | 等邊三角形 | ? |
| T06 | (2.3,4,5) | 12 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T07 | (2,3.3,4) | 13 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T08 | (2,3,4.4) | 14 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T09 | (2.2,2.2,3) | 15 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T10 | (2,3.3,3.3) | 16 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T11 | (2.2,3,2.2) | 17 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T12 | (2.2,2.2,2.2) | 18 | 請輸入三個非零正整數 | 不構成三角形 | ? |
| T13 | (3,,) | 19 | 超出范圍 | 不構成三角形 | ? |
| T14 | (,3,) | 20 | 超出范圍 | 不構成三角形 | ? |
| T15 | (,,3) | 21 | 超出范圍 | 不構成三角形 | ? |
| T16 | (3,3,) | 22 | 超出范圍 | 不構成三角形 | ? |
| T17 | (,3,3) | 23 | 超出范圍 | 不構成三角形 | ? |
| T18 | (3? , 3) | 24 | 超出范圍 | 不構成三角形 | ? |
| T19 | ? | ? | ? | ? | ? |
| T20 | (0,1,2) | 26 | 超出范圍 | 不構成三角形 | ? |
| T21 | (1,0,2) | 27 | 超出范圍 | 不構成三角形 | ? |
| T22 | (1,2,0) | 28 | 超出范圍 | 不構成三角形 | ? |
| T23 | (0,0,1) | 29 | 超出范圍 | 不構成三角形 | ? |
| T24 | (0,1,0) | 30 | 超出范圍 | 不構成三角形 | ? |
| T25 | (1,0,0) | 31 | 超出范圍 | 不構成三角形 | ? |
| T26 | (0,0,0) | 32 | 超出范圍 | 不構成三角形 | ? |
| T27 | (2,-1,3) | 33 | 超出范圍 | 不構成三角形 | ? |
| T28 | (2,1,-3) | 34 | 超出范圍 | 不構成三角形 | ? |
| T29 | (-2,1,3) | 35 | 超出范圍 | 不構成三角形 | ? |
| T30 | (-2,-1,3) | 36 | 超出范圍 | 不構成三角形 | ? |
| T31 | (-2,1,-3) | 37 | 超出范圍 | 不構成三角形 | ? |
| T32 | (2,-1,-3) | 38 | 超出范圍 | 不構成三角形 | ? |
| T33 | (-2,-1,-3) | 39 | 超出范圍 | 不構成三角形 | ? |
| T34 | (3,1,5) | 40 | 不構成三角形 | 不構成三角形 | ? |
| T35 | (3,2,5) | 41 | 不構成三角形 | 不構成三角形 | ? |
| T36 | (3,1,1) | 42 | 不構成三角形 | 不構成三角形 | ? |
| T37 | (3,2,1) | 43 | 不構成三角形 | 不構成三角形 | ? |
| T38 | (1,4,2) | 44 | 不構成三角形 | 不構成三角形 | ? |
| T39 | (3,4,1) | 45 | 不構成三角形 | 不構成三角形 | ? |
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
測試用例:
1、覆蓋有效等價類的測試用例
| 用例ID | a??????? b???????????? c | 預期輸出 | 覆蓋等價類號碼 |
| 1 2 3 4 5 | 3?????? 4????????????? 5 4?????? 4????????????? 5 4?????? 5????????????? 5 5?????? 4????????????? 5 4?????? 4????????????? 4 | 一般三角形 等腰三角形 等腰三角形 等腰三角形 等邊三角形 | 1—7 1—7,8 1—7,9 1—7,10 1—7,11 |
2、覆蓋無效等價類的測試用例
| 用例ID | a???? b????? c | 覆蓋等價類號碼 | 預期輸出 | 用例ID | a??? b???? c | 覆蓋等 價類號碼 | 預期輸出 ? |
| 6 7 8 ? | 2.5?? 4????? 5 3??? 4.5???? 5 3??? 4????? 5.5 | 12 13 14 ? | 無效輸入 無效輸入 無效輸入 | 23 24 25 26 | 0??? 0???? 5 3??? 0???? 0 0??? 4???? 0 0??? 0???? 0 | 29 30 31 32 | 無效輸入 無效輸入 無效輸入 無效輸入 |
| 9 10 11 12 | 3.5? 4.5???? 5 3?? 4.5???? 5.5 3.5? 4????? 5.5 3.5? 4.5??? 5.5 | 15 16 17 18 | 無效輸入 無效輸入 無效輸入 無效輸入 | 27 28 29 | -3?? 4???? 5 3?? -4???? 5 3?? 4???? -5 | 33 34 35 | 無效輸入 無效輸入 無效輸入 |
| 13 14 15 | 3 4 ??????? 5 | 19 20 21 | 無效輸入 無效輸入 無效輸入 ? | 30 31 32 33 | -3? -4???? 5 -3? 4???? -5 3? -4???? -5 -3? -4??? -5 | 36 37 38 39 | 無效輸入 無效輸入 無效輸入 無效輸入 |
| 16 17 18 19 | 3?? 4 4????? 5 3????????? 5 3?? 4???? 5??? 6 | 22 23 24 25 | 無效輸入 無效輸入 無效輸入 無效輸入 | 34 35 36 37 | 3?? 1???? 5 3?? 2???? 5 3?? 1???? 1 3?? 2???? 1 | 40 41 42 43 | 非三角形 非三角形 非三角形 非三角形 |
| 20 21 22 | 0?? 4???? 5 3?? 0???? 5 3?? 4???? 0 | 26 27 28 | 無效輸入 無效輸入 無效輸入 | 38 39 | 1?? 4???? 2 3?? 4???? 1 | 44 45 | 非三角形 非三角形 |
?
?
?
?
?
?
?
缺陷報告:
?
| 缺陷編號 | 1 | 用例編號 | 40 | 缺陷類型 | 代碼錯誤 | ||||||||
| 嚴重級別 | 嚴重 | 優先級 | 優先 | 缺陷狀態 | New | ||||||||
| 測試階段 | √單元?? □ 集成 □ 系統? □ 驗收? □ 其它(???? ) | 可重現性 | √是?□否 | ||||||||||
| BUG原因 | □需求分析√ 基本設計□ 詳細設計□ 設計式樣理解□ 編程 □數據庫設計 □ 環境配置□ 其它? (????????????????????????????? ) | ||||||||||||
| 缺陷描述 | 程序無法正常執行 | ||||||||||||
| 預期結果 | 程序能運行,并且有運行的結果 | ||||||||||||
| 重現步驟 | 備注 | ||||||||||||
| 打開vc++6.0,運行以下源代碼。 #include "iostream.h" void main(){ ???????? int a,b,c; ???????? cout<<"請輸入三角形的三條邊(界于1-100之間)"<<endl; ???????? cin>>a>>b>>c; ???????? if(a<=1||a>=100)cout<<"a的值超過允許的范圍!"; ???????? if(b<=1||b>=100)cout<<"b的值超過允許的范圍!"; ???????? if(c<=1||c>=100)cout<<"c的值超過允許的范圍!"; ? ???????? if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能構成三角形!"; ???????? if(a==b&&b==c)cout<<"是等邊三角形!"; ???????? if(a==b||b==c||a==c)cout<<"是等邊三角形!"; ???????? if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!"; } 發現錯誤,無法執行。 | ? | ||||||||||||
| 以下部分由BUG修改人填寫 | |||||||||||||
| 缺陷修改描述 | ? | ||||||||||||
| 將if語句的“<>”改成“!=” | ? | ||||||||||||
| 測試人 | ? | 修正人 | ? | 確認人 | ? | 修正日期 | 年? 月?? 日 | ||||||
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
轉載于:https://www.cnblogs.com/xinjie57/p/9183884.html
總結
以上是生活随笔為你收集整理的黑盒测试法——等价类划分法(修改版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: luogu1347 排序
- 下一篇: 反射工具类