等价类测试与决策表测试
問題:輸入年月日year、month、day,其中年份的有效取值范圍為[1818,2018],請輸出輸入日期的前一天,例如輸入2018年9月18日,輸出為2018年9月17日。若輸入日期非法,例如輸入2013年2月30日,則輸出“輸入日期不存在”,若輸入日期超出取值范圍,例如輸入2013年9月32日,則輸出“輸入日期超出范圍”。
試采用決策表測試方法(弱健壯等價類測試)對上述問題設計等價類、決策表,并給出相應測試用例。
注意:要給出詳細分析及設計過程。
解:
?采用弱健壯性等價類測試設計
??弱健壯性等價類測試要求:對于有效輸入,使用每一個有效類的一個值,對于無效輸入,測試用例將擁有一個無效值,并保持其余的值都是有效的。根據確定等價類的原則:
等價類劃分:
有效等價類:基于輸入域:
D1={day:1<=day<=28}; D2={day:day=29} ; ?
D3={day:day=30} ,D4={day:day=31}
Y1={year:1818<=year<=2018;且year是平年}
Y2={year:1818<=year<=2018;且year是閏年}
????????????M1={month:month有30天};M2={month:month有31天,除去12月}
????????????M3={month:month為12月};M4={month:mouth是2月}
????????????基于輸出域;
????????????P1={“輸入日期不存在”}
????????????P2={“輸入日期超出范圍”}
P3={“輸出正常前一天”}
無效等價類:
M8={mouth:mouth<1},M9={mouth:mouth>12};
D8={day:day<1},D9={day:day>31};
Y8={year:year<1818}、Y9={year;year>2018};
根據等價類:列出條件樁與動作樁
條件樁:
“日”在D1中、“日”在D2中、“日”在D3中、“日”在D4中、“日”在D8中、
“日”在D9中
“年”在Y1中、“年”在Y2中、“年”在Y8中、“年”在Y9中
“月”在M1中、“月”在M2中、“月”在M3中、“月”在M4中、“月”在M8中
“月”在M9中.
動作樁:
?P1、P2、P3。
結合弱等價類健壯性測試以及決策表設計測試用例如下。
“-”代表取不到值,因為有些條件互斥。很容易看出這是帶有互斥條件的決策表。
決策表:每一列代表一個測試用例。
| 序號 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
| ? ? ? ? ? ? ? ? 條件 | Y1 | 1 | 1 | - | - | 1 | - | - | - | - | - |
| Y2 | - | - | 1 | 1 | - | 1 | - | - | 1 | 1 | |
| Y8 | - | - | - | - | - | - | 1 | - | - | - | |
| Y9 | - | - | - | - | - | - | ? | 1 | - | - | |
| M1 | - | 1 | - | 1 | - | - | 1 | 1 | 1 | 1 | |
| M2 | - | - | 1 | - | - | - | - | - | - | - | |
| M3 | 1 | - | - | - | - | - | - | - | - | - | |
| M4 | - | - | - | - | - | - | - | - | - | - | |
| M8 | - | - | - | - | 1 | - | - | - | - | - | |
| M9 | - | - | - | - | - | 1 | - | - | - | - | |
| D1 | - | - | 1 | - | - | - | - | - | - | - | |
| D2 | - | - | - | - | - | - | - | - | - | - | |
| D3 | - | 1 | - | 1 | 1 | 1 | 1 | 1 | - | - | |
| D4 | 1 | - | - | - | - | - | - | - | - | - | |
| D8 | - | - | - | - | - | - | - | - | 1 | - | |
| D9 | - | - | - | - | - | - | - | - | - | 1 | |
| ? 動作 | P1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| P2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | |
| P3 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
?
具體的測試用例如下:
測試用例:
| 測試用例 | 輸入 | 期望輸出 | ????覆蓋等價類 | ||
| Year | Mouth | Day | |||
| 1 | 2000 | 1 | 6 | 2000年1月5日 | Y2,M2,D1,P3 |
| 2 | 2000 | 2 | 30 | 輸入日期不存在 | ??Y2,M1,D3,P1 |
| 3 | 2001 | 12 | 31 | 2001年12月30日 | ??Y1,M3,D4,P3 |
| 4 | 2001 | 4 | 30 | 2001年4月29日 | ??Y1,D3,M1,P3 |
| 5 | 2001 | 0 | 30 | 輸入日期超出范圍 | ??Y1,D3,M8,P2 |
| 6 | 2000 | 18 | 30 | 輸入日期超出范圍 | Y2,D3,M9,P2 |
| 7 | 1000 | 4 | 30 | 輸入日期超出范圍 | Y8,D3,M1,P2 |
| 8 | 3000 | 4 | 30 | 輸入日期超出范圍 | Y9,D3,M1,P2 |
| 9 | 2000 | 4 | 0 | 輸入日期超出范圍 | Y2,D8,M1,P2 |
| 10 | 2000 | 4 | 200 | 輸入日期超出范圍 | Y2,D9,M1,P2 |
總結
以上是生活随笔為你收集整理的等价类测试与决策表测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10计算机修改底色,win10电脑
- 下一篇: Oracle数据库物理存储结构管理遇到的