软件测试——构造 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}
弱一般等价测试用例
测试用例 | year | month | day | 期待输出 |
---|---|---|---|---|
WN1 | 2009 | 04 | 25 | 2009/04/26 |
WN2 | 2009 | 04 | 30 | 2009/05/01 |
WN3 | 2009 | 03 | 25 | 2009/03/26 |
WN4 | 2009 | 03 | 7 | 2009/04/01 |
WN5 | 2009 | 12 | 25 | 2009/12/26 |
WN6 | 2009 | 12 | 31 | 2010/01/01 |
WN7 | 2009 | 02 | 25 | 2009/02/26 |
WN8 | 2008 | 02 | 28 | 2008/02/29 |
WN9 | 2009 | 02 | 28 | 2009/03/01 |
WN10 | 2008 | 02 | 29 | 2008/03/01 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!