判定表法设计测试用例
大大的疑问:我感觉根本不对呀!13、14、15、16
测试用例也不对呀,第一个就错了!!!
假设某程序有三个输入变量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 |