假设某程序有三个输入变量year 、month、day(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1981≤year≤2050),分别作为输入日期的年份、月份、日,通过程序可以输出该输入日期在日历上隔一天的日期。试用判定表法设计该程序正确输入条件下的测试用例。
设计:
一、确定规则,建立条件桩和动作桩
M1={月份: 每月有30天}
M2={月份: 每月有31天, 12月除外}
M3={月份:12月}
M4={月份:2月}
D1={日期:1<=日期<=26}
D2={日期:27}
D3={日期:28}
D4={日期:29}
D5={日期:30}
D6={日期:31}
Y1 ={年:年是闰年}
Y2 ={年:年不是闰年}
二、判定表
三、测试用例:
用例ID | 用例标题 | 前置条件 | 输入 | 输出 |
1 | Day+2(30) | 1.月输入1 2.日输入26 3.年输入2010 | 2010.1.28 | |
2 | Day=1&month+1(30) | 1.月输入3 2.日输入29 3.年输入2010 | 2010.4.1 | |
3 | Day=2&month+1(30) | 1.月输入5 2.日输入30 3.年输入2010 | 2010.6.2 | |
4 | Day+2(31) | 1.月输入4 2.日输入25 3.年输入2010 | 2010.4.27 | |
5 | Day=1&month+1(31) | 1.月输入11 2.日输入30 3.年输入2010 | 2010.12.1 | |
6 | Day=2&month+1(31) | 1.月输入11 2.日输入31 3.年输入2010 | 2010.12.2 | |
7 | Day+2(12月) | 1.月输入12 2.日输入23 3.年输入2010 | 2010.12.25 | |
8 | Day=1&month+1&year+1(12月) | 1.月输入12 2.日输入30 3.年输入2010 | 2011.1.1 | |
9 | Day=2&month+1&year+1(12月) | 1.月输入12 2.日输入31 3.年输入2010 | 2010.1.2 | |
10 | Day+2(2月) | 1.月输入2 2.日输入19 3.年输入2010 | 2010.2.21 | |
11 | Day+2(闰年2月) | 1.月输入2 2.日输入27 3.年输入2000 | 2000.2.29 | |
12 | Day=1&month+1(闰年2月) | 1.月输入2 2.日输入28 3.年输入2000 | 2000.3.1 | |
13 | Day=2&month+1(闰年2月) | 1.月输入2 2.日输入29 3.年输入2000 | 2000.3.2 | |
14 | Day=2&month+1(平年2月) | 1.月输入2 2.日输入27 3.年输入2001 | 2001.3.2 | |
15 | Day=1&month+1(平年2月) | 1.月输入2 2.日输入26 3.年输入2001 | 2001.3.1 |