|
回复 10# s1100411
"年份<2001、年份>2005、月份<1、月份>12"
“例如3个输入,每个各有2种等价类,按我的理解应该是2*2*2=8个用例”
组合生成的测试数据组,其中有一部分是无效的,需要对各个输入因素的取值进行实际分析,然后去掉无效的数据。
如:年份<2001,月份>12, 日>31 这一组数据
“年份<2001”是针对最小值越界的测试数据
"月份>12, 日>31 " 则是针对最大值越界的测试数据
显然,测试数据中,各个测试因素的目的并一致,故需将它筛选掉。
至于筛选掉以后,是否存在覆盖泄漏,在时间充裕的情况下可以再进行一轮分析,实际有效的2组测试数据:
“年份<2001,月份<12, 日<31 ”
“年份>2001,月份>12, 日>31 ”
此两组测试数据的测试点已覆盖“年份<2001,月份>12, 日>31 ”,故无覆盖泄漏。
---------------------------
另外,说2个建议:
1. 等价类 中每个等价因素通常是3个属性,而非2属性或1属性。
如“最小年2001”,它的等价属性为“<2001”,"=2001",">2001" 。而实际测试因素没有“>2001”,其实只是将它与“<2005”进行了等价,最终只得到1个因素属性而已。
2. 等价类在完成理论划分后,通常还需要根据实际业务再进行一次测试数据的覆盖率检查。
首先,根据目前已有的业务分析,分为以下4类:
1).“年份>2001,月份>12, 日>MaxD ” (MaxD 受闰月,大,小月约束)
2).“2001<年份<2005,1<=月份<=12, 1<=日<=MaxD“
3).“年份<2001,月份<12, 日<MaxD”
4).“字符串存储测试类,比如:字符串类型、Null值等等”
PS:第4类不涉及测试数据等价,仅仅是测试数据属性的分析测试而已,故将它们分到1类,但实际是由多个用例组成。
但如果再增加一个业务需求,LZ可以思考1,2,3个等价类的覆盖泄漏问题。
需求描述:“年,月,日录入超过边界的参数值时,系统将自动进行换算,如录入“2002-12-40”,系统自动换算为“2003-01-09””。 |
|