使用边界值分析法与判定表驱动法设计测试用例,测试nextDate函数

这篇博客详细介绍了如何使用边界值分析法和判定表驱动法来设计测试用例,针对一个程序进行日期间隔一天的计算。内容包括需求分析、等价类划分、测试用例设计、判定表的构建和简化,以及具体的测试类实现和运行结果展示。
摘要由CSDN通过智能技术生成

需求

日期问题

测试以下程序:该程序有三个输入变量 month、day、year (month、day 和 year 均为整数值,并且满足:1 ≤ months ≤ 12、1 ≤ days ≤ 31 和 1900 ≤ year ≤ 2050),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔天的日期。例如,输入为 2004 年 11 月 30 日,则该程序的输出为 2004 年 12 月 1 日。

(1) 边界值分析法设计测试用例;

(2) 判定表驱动法设计测试用例。

实现

一、边界值分析法

1、等价类
输入数据 有效等价类
(1) 1900到2050内的闰年整数
(2) 1900到2050内的平年整数
(3) 1,3,5,7,8,10内的整数
(4) 4,6,9,11内的整数
(5) 2
(6) 12
(7) 1~28
(8) 29
(9) 30
(10) 31
2、设计测试用例
测试用例 month day Year 针对的有效类 期望输出
1 7 10 1889 (1)(2) 年的值不在指定范围之内
2 7 10 1900 (1)(2) 下一天是1900年7月11日!
3 7 10 1901 (1)(2) 下一天是1901年7月11日!
4 7 10 2049 (1)(2) 下一天是2049年7月11日!
5 7 10 2050 (1)(2) 下一天是2050年7月11日!
6 7 10 2051 (1)(2) 年的值不在指定范围之内
7 0 10 2019 (3)~(6) 月的值不在指定范围之内
8 1 10 2019 (3)~(6) 下一天是2019年1月11日!
9 2 10 2019 (3)~(6) 下一天是2019年2月11日!
10 11 10 2019 (3)~(6) 下一天是2019年11月11日!
11 12 10 2019 (3)~(6) 下一天是2019年12月11日!
12 13 10 2019 (3)~(6) 月的值不在指定范围之内
13 2 27 2019 (5)(7)~(9) 下一天是2019年2月28日!
14 2 28 2019 (5)(7)~(9) 下一天是2019年3月1日!
15 2 29 2019 (5)(7)~(9) 日的值不在指定范围之内
16 2 28 2020 (5)(7)~(9) 下一天是2020年2月29日!
17 2 29 2020 (5)(7)~(9) 下一天是2020年3月1日!
18 2 30 2020 (5)(7)~(9) 日的值不在指定范围之内
19 1 30 2019 (3)(9)(10) 下一天是2019年1月31日!
20 1 31 2019 (3)(9)(10) 下一天是2019年2月1日!
21 1 32 2019 (3)(9)(10) 日的值不在指定范围之内
22 4 30 2019 (4)(9)(10) 下一天是2019年5月1日!
23 4 31 2019 (4)(9)(10) 日的值不在指定范围之内
24 4 32 2019 (4)(9)(10) 日的值不在指定范围之内
3、测试类

代码文件地址

4、运行结果

二、判定表驱动法

1、条件桩

M 1 = { m o n t h : 这 个 月 有 30 天 } M_1 = \{month:这个月有30天\} M1={ month:30}

M 2 = { m o n t h : 这 个 月 有 31 天 , 除 了 12 月 } M_2 = \{month:这个月有31天,除了12月\} M2={ month:3112}

M 3 = { m o n t h : 这 个 月 是 12 月 } M_3 = \{month:这个月是12月\} M3={ month:12}

M 4 = { m o n t h : 这 个 月 是 2 月 } M_4 = \{month:这个月是2月\} M4={ month:2}

D 1 = { d a y : 1 ≤ d a y ≤ 27 } D_1 = \{day:1 \le day \le 27\} D1={ day:1day27}

D 2 = { d a y : d a y = 28 } D_2 = \{day:day=28\} D2={ day:day=28}

D 3 = { d a y : d a y = 29 } D_3 = \{day:day=29\} D3={ day:day=29}

D 4 = { d a y : d a y = 30 } D_4 = \{day:day=30\} D4={ day:day=30}

D 5 = { d a y : d a y = 31 } D_5 = \{day:day = 31\} D5={ day:day=31}

Y 1 = { y e a r : y e a r 是 闰 年 } Y_1 = \{year:year是闰年\} Y1={ year:year}

Y 2 = { y e a r : y e a r 不 是 闰 年 } Y_2 = \{year:year不是闰年\} Y2={ year:year}

2、动作桩

A 0 = 不 可 能 A_0=不可能 A0=

A 1 : d a y + 1 A_1:day+1 A1:day+1

A 2 : d a y 复 位 A_2:day复位 A2:day

A 3 : m o n t h + 1 A_3:month+1 A3:month+1

A 4 : m o n t h 复 位 A_4:month复位 A4:month

A 5 : y e a r + 1 A_5:year+1 A5:year+1

3、判定表
规则 1 2 3 4 5 6 7 8 9 10 11
条件:
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值