360seo优化,网站优化软件有哪些,网站建设有哪几种,wordpress算术验证问题#xff1a;输入年月日year、month、day#xff0c;其中年份的有效取值范围为[1818,2018]#xff0c;请输出输入日期的前一天#xff0c;例如输入2018年9月18日#xff0c;输出为2018年9月17日。若输入日期非法#xff0c;例如输入2013年2月30日#xff0c;则输出“…问题输入年月日year、month、day其中年份的有效取值范围为[1818,2018]请输出输入日期的前一天例如输入2018年9月18日输出为2018年9月17日。若输入日期非法例如输入2013年2月30日则输出“输入日期不存在”若输入日期超出取值范围例如输入2013年9月32日则输出“输入日期超出范围”。
试采用决策表测试方法弱健壮等价类测试对上述问题设计等价类、决策表并给出相应测试用例。
注意要给出详细分析及设计过程。
解 采用弱健壮性等价类测试设计 弱健壮性等价类测试要求对于有效输入使用每一个有效类的一个值对于无效输入测试用例将拥有一个无效值并保持其余的值都是有效的。根据确定等价类的原则
输入条件规定了取值范围或者值的个数则可以确定一个有效等价类和两个无效等价类。规定了输入数据的一组值而且程序要对每一个输入值分别进行处理这时要对每一个规定的输入值确立一个等价类而对于这组值之外的所有值确立一个等价类规定了输入数据必须遵守的规则则可以确立一个有效等件类即遵守规则的数据和若干无效等价类确知以划分的等价类中的各元素在程序中的处理方式不同则应进一步划分成更小的等价类.
等价类划分
有效等价类基于输入域
D1{day:1day28}; D2{day:day29}
D3{day:day30} D4{day:day31}
Y1{year:1818year2018且year是平年}
Y2{year:1818year2018且year是闰年} M1{monthmonth有30天};M2{monthmonth有31天,除去12月} M3{monthmonth为12月}M4{monthmouth是2月} 基于输出域 P1{“输入日期不存在”} P2{“输入日期超出范围”}
P3{“输出正常前一天”}
无效等价类
M8{mouth:mouth1},M9{mouth:mouth12};
D8{day:day1},D9{day:day31};
Y8{year:year1818}、Y9{year;year2018};
根据等价类列出条件桩与动作桩
条件桩
“日”在D1中、“日”在D2中、“日”在D3中、“日”在D4中、“日”在D8中、
“日”在D9中
“年”在Y1中、“年”在Y2中、“年”在Y8中、“年”在Y9中
“月”在M1中、“月”在M2中、“月”在M3中、“月”在M4中、“月”在M8中
“月”在M9中.
动作桩 P1、P2、P3。
结合弱等价类健壮性测试以及决策表设计测试用例如下。
“-”代表取不到值,因为有些条件互斥。很容易看出这是带有互斥条件的决策表。
决策表每一列代表一个测试用例。 序号 1 2 3 4 5 6 7 8 9 10 条件 Y1 1 1 - - 1 - - - - - Y2 - - 1 1 - 1 - - 1 1 Y8 - - - - - - 1 - - - Y9 - - - - - - 1 - - M1 - 1 - 1 - - 1 1 1 1 M2 - - 1 - - - - - - - M3 1 - - - - - - - - - M4 - - - - - - - - - - M8 - - - - 1 - - - - - M9 - - - - - 1 - - - - D1 - - 1 - - - - - - - D2 - - - - - - - - - - D3 - 1 - 1 1 1 1 1 - - D4 1 - - - - - - - - - D8 - - - - - - - - 1 - D9 - - - - - - - - - 1 动作 P1 0 0 0 1 0 0 0 0 0 0 P2 0 0 0 0 1 1 1 1 1 1 P3 1 1 1 0 0 0 0 0 0 0 具体的测试用例如下
测试用例 测试用例 输入 期望输出 覆盖等价类 Year Mouth Day 1 2000 1 6 2000年1月5日 Y2M2D1P3 2 2000 2 30 输入日期不存在 Y2M1D3P1 3 2001 12 31 2001年12月30日 Y1,M3,D4,P3 4 2001 4 30 2001年4月29日 Y1,D3,M1,P3 5 2001 0 30 输入日期超出范围 Y1,D3,M8,P2 6 2000 18 30 输入日期超出范围 Y2,D3,M9,P2 7 1000 4 30 输入日期超出范围 Y8,D3,M1,P2 8 3000 4 30 输入日期超出范围 Y9,D3,M1,P2 9 2000 4 0 输入日期超出范围 Y2,D8,M1,P2 10 2000 4 200 输入日期超出范围 Y2,D9,M1,P2