新手一枚,请大家帮忙讨论一下这个测试用例的缺陷
这个是我下载的一个站友分享的资料。里面有一个测试用例的例子,是根据等价划分类编写的,我觉得这个用例不完美,因为2月只有28或者29天,这个并没有考虑到,站友们可以帮忙看一下吗?测试用例如下,直接复制过来的: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中(二)强健壮等价类测试
用例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 三个无效
不要太长不看啊!!:( 建议看下决策表法对这个函数的测试用例的设计 新手,不是很了解等价类测试用例怎么设计,说几个我看到的东西:2月份的28/29天,转3月1,1 3 5 7 8 10 12 的31天,每月的30/31 转新月1,2016年12月31转2017年1月1③1920≤year≤2050 Y1={年:1812≤年≤2012} 你说的2月份测试一般是单独列出来的 xiaowan 发表于 2016-4-13 14:11
建议看下决策表法对这个函数的测试用例的设计
嗯,看到了,决策表法把12月和2月份单独列出来了,分了闰年和非闰年 折剣沉沙 发表于 2016-4-13 15:10
新手,不是很了解等价类测试用例怎么设计,说几个我看到的东西:2月份的28/29天,转3月1,1 3 5 7 8 10 12...
差不多,有个用决策表法设计的这个函数的测试用例,分为闰年平年,2月12月单独;列出
页:
[1]