NextDate 函數包含三個變量:month 、 day 和 year ,函數的輸出為輸入日期后一天的日期。 例如,輸入為 2006年3月 7日,則函數的輸出為 2006年3月8日 。要求輸入變量 month 、 day 和 year 均為整數值,並且滿足下列條件:
①1≤month≤12
②1≤day≤31
③1920≤year≤2050
1)有效等價類為:
M1={月份:1≤月份≤12}
D1={日期:1≤日期≤31}
Y1={年:1812≤年≤2012}
2)若條件 ① ~ ③中任何一個條件失效,則 NextDate 函數都會產生一個輸出,指明相應的變量超出取值范圍,比如 "month 的值不在 1-12 范圍當中 " 。顯然還存在着大量的 year 、 month 、 day 的無效組合, NextDate 函數將這些組合作統一的輸出: " 無效輸入日期 " 。其無效等價類為:
M2={月份:月份<1}
M3={月份:月份>12}
D2={日期:日期<1}
D3={日期:日期>31}
Y2={年:年<1812}
Y3={年:年>2012}
弱一般等價類測試用例
月份 日期 年 預期輸出
6 15 1912 1912年6月16日
強一般等價類測試用例同弱一般等價類測試用例
注:弱--有單缺陷假設;健壯--考慮了無效值
(一)弱健壯等價類測試
用例ID 月份 日期 年 預期輸出
WR1 6 15 1912 1912年6月16日
WR2 -1 15 1912 月份不在1~12中
WR3 13 15 1912 月份不在1~12中
WR4 6 -1 1912 日期不在1~31中
WR5 6 32 1912 日期不在1~31中
WR6 6 15 1811 年份不在1812~2012中
WR7 6 15 2013 年份不在1812~2012中
(二)強健壯等價類測試
強健性等價類測試用例可以包含多個無效值,即含有多個缺陷假設。因為nextdate有3個變量,所有對應的強健壯性等價類測試用例可以包含一個無效值,2個無效值或3個無效值。
用例ID 月份 日期 年 預期輸出
SR1 -1 15 1912 月份不在1~12中
SR2 6 -1 1912 日期不在1~31中
SR3 6 15 1811 年份不在1812~2012中
SR4 -1 -1 1912 兩個無效一個有效
SR5 6 -1 1811 兩個無效一個有效
SR6 -1 15 1811 兩個無效一個有效
SR7 -1 -1 1811 三個無