软件测试——构造 NextDate 问题的弱一般的等价类测试用例

问题

构造 NextDate 问题的弱一般的等价类测试用例。

  • NextDate 问题:NextDate() 是整型变量 month, day 和 year 的函数,输入 1812-2012 年期间的某一日期的 month, day 和 year 的值,输出这一天的下一天的日期的 month, day 和 year 值。

概念

弱一般等价类测试用例覆盖:针对单缺陷,只覆盖有效等价类。

解答

三个变量的取值范围

  • C1: 1 ≤ month ≤ 12
  • C2: 1 ≤ day ≤ 31
  • C3: 1812 ≤ year ≤ 2012

可以划分为以下等价类集合

  • M1 = {month: month has 30 days}
  • M2 = {month: month has 31 days except December}
  • M3 = {month: month is December}
  • M4 = {month: month is February}
  • D1 = {day: 1 ≤ day ≤ 27}
  • D2 = {day: day = 28}
  • D3 = {day: day = 29}
  • D4 = {day: day = 30}
  • D5 = {day: day = 31}
  • Y1 = {year: year is a leap year}
  • Y2 = {year: year is a common year}

可划分为10个弱一般等价类(除去了无效的等价类),为其设计测试用例如下表格所示

  • R1 = {M1, {D1, D2, D3}, {Y1, Y2}}
  • R2 = {M1, D4, {Y1, Y2}}
  • R3 = {M2, {D1, D2, D3, D4}, {Y1, Y2}}
  • R4 = {M2, D5, {Y1, Y2}}
  • R5 = {M3, {D1, D2, D3, D4}, {Y1, Y2}}
  • R6 = {M3, D5, {Y1, Y2}}
  • R7 = {M4, D1, {Y1, Y2}}
  • R8 = {M4, D2, Y1}
  • R9 = {M4, D2, Y2}
  • R10 = {M4, D3, Y1}

弱一般等价测试用例

测试用例yearmonthday期待输出
WN1200904252009/04/26
WN2200904302009/05/01
WN3200903252009/03/26
WN420090372009/04/01
WN5200912252009/12/26
WN6200912312010/01/01
WN7200902252009/02/26
WN8200802282008/02/29
WN9200902282009/03/01
WN10200802292008/03/01

更多推荐