黑盒测试法——等价类划分法(修改版)
?黑盒測試法——等價類劃分法
?
實驗目的: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 排序
 - 下一篇: 反射工具类