根据公历历法,设计NextDate(mm-dd-yyyy):mm-dd-yyyy 伪代码,并设计测试用例,根据现代历法设计等价类,并设计等价类测试用例

时间: 2024-02-15 14:05:17 浏览: 23
以下是NextDate(mm-dd-yyyy)的伪代码: ``` function NextDate(month, day, year): if (month < 1 or month > 12 or day < 1 or day > 31 or year < 1812 or year > 2012): return "Invalid Input" else: if (month == 2): if (year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)): if (day < 1 or day > 29): return "Invalid Input" elif (day == 29): return "03-01-" + year else: return format(day+1, "02d") + "-02-" + year else: if (day < 1 or day > 28): return "Invalid Input" elif (day == 28): return "03-01-" + year else: return format(day+1, "02d") + "-02-" + year elif (month == 4 or month == 6 or month == 9 or month == 11): if (day < 1 or day > 30): return "Invalid Input" elif (day == 30): return format(1, "02d") + "-" + format(month+1, "02d") + "-" + year else: return format(day+1, "02d") + "-" + format(month, "02d") + "-" + year else: if (day < 1 or day > 31): return "Invalid Input" elif (day == 31 and month == 12): return "01-01-" + format(year+1, "04d") elif (day == 31): return "01-" + format(month+1, "02d") + "-" + year else: return format(day+1, "02d") + "-" + format(month, "02d") + "-" + year ``` 下面是针对现代历法的等价类及测试用例: 1. 月份等于 2 月: - 等价类 1:闰年的 2 月,日期为 1-29 - 输入:02-29-2000,预期输出:03-01-2000 - 输入:02-29-2004,预期输出:03-01-2004 - 输入:02-29-1904,预期输出:03-01-1904 - 等价类 2:非闰年的 2 月,日期为 1-28 - 输入:02-28-2001,预期输出:03-01-2001 - 输入:02-28-1900,预期输出:03-01-1900 - 输入:02-28-1800,预期输出:Invalid Input - 等价类 3:月份为 2 但日期为无效值 - 输入:02-29-2001,预期输出:Invalid Input - 输入:02-30-2000,预期输出:Invalid Input - 输入:02-31-2000,预期输出:Invalid Input 2. 月份为每个月的最后一天: - 等价类 1:4、6、9、11 月,日期为 30 - 输入:04-30-2000,预期输出:05-01-2000 - 输入:06-30-2000,预期输出:07-01-2000 - 输入:09-30-2000,预期输出:10-01-2000 - 输入:11-30-2000,预期输出:12-01-2000 - 等价类 2:1、3、5、7、8、10、12 月,日期为 31 - 输入:01-31-2000,预期输出:02-01-2000 - 输入:03-31-2000,预期输出:04-01-2000 - 输入:05-31-2000,预期输出:06-01-2000 - 输入:07-31-2000,预期输出:08-01-2000 - 输入:08-31-2000,预期输出:09-01-2000 - 输入:10-31-2000,预期输出:11-01-2000 - 输入:12-31-2000,预期输出:01-01-2001 - 等价类 3:每个月最后一天的无效值 - 输入:04-31-2000,预期输出:Invalid Input - 输入:06-31-2000,预期输出:Invalid Input - 输入:09-31-2000,预期输出:Invalid Input - 输入:11-31-2000,预期输出:Invalid Input - 输入:02-31-2000,预期输出:Invalid Input 3. 月份为每个月的非最后一天: - 等价类 1:4、6、9、11 月,日期在 1-29 之间 - 输入:04-01-2000,预期输出:04-02-2000 - 输入:06-15-2000,预期输出:06-16-2000 - 输入:09-28-2000,预期输出:09-29-2000 - 输入:11-10-2000,预期输出:11-11-2000 - 等价类 2:1、3、5、7、8、10、12 月,日期在 1-30 之间 - 输入:01-01-2000,预期输出:01-02-2000 - 输入:03-15-2000,预期输出:03-16-2000 - 输入:05-28-2000,预期输出:05-29-2000 - 输入:07-10-2000,预期输出:07-11-2000 - 输入:08-31-2000,预期输出:09-01-2000 - 输入:10-16-2000,预期输出:10-17-2000 - 输入:12-30-2000,预期输出:12-31-2000 - 等价类 3:月份为 1、3、5、7、8、10、12 但日期为无效值 - 输入:01-32-2000,预期输出:Invalid Input - 输入:03-32-2000,预期输出:Invalid Input - 输入:05-32-2000,预期输出:Invalid Input - 输入:07-32-2000,预期输出:Invalid Input - 输入:08-32-2000,预期输出:Invalid Input - 输入:10-32-2000,预期输出:Invalid Input - 输入:12-32-2000,预期输出:Invalid Input - 等价类 4:月份为 2、4、6、8、9、11 但日期为无效值 - 输入:02-30-2000,预期输出:Invalid Input - 输入:04-31-2000,预期输出:Invalid Input - 输入:06-31-2000,预期输出:Invalid Input - 输入:08-32-2000,预期输出:Invalid Input - 输入:09-31-2000,预期输出:Invalid Input - 输入:11-31-2000,预期输出:Invalid Input

相关推荐

最新推荐

recommend-type

【软件测试-实验-4】黑盒测试用例设计(二)

1.掌握黑盒测试用例设计方法; 2.综合运用所学的黑盒测试方法设计进行测试用例设计; 3.掌握测试用例的编写方法。 二. 实验内容 1.使用因果图法对交通一卡通自动充值模拟软件系统进行测试。 基本需求如下: ...
recommend-type

测试用例的设计-边界值法例子

边界值分析也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。
recommend-type

高效设计测试用例-各种测试用例设计方法

提纲如下: 高效设计测试用例 1 软件措施用例 2 通用测试技术 3功能性测试的方法 4知识回顾提高 5设计功能和界面测试用例 6文档的测试
recommend-type

史上最详细的测试用例的设计方法及案例

思路:输入的集合是无穷的,不能全部都覆盖到等价类:依据需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的整个等价类测试通过,这样就可以通过较少的测试用例达到...
recommend-type

gitlab-cicd(devops)搭建测试案例.docx

本文搭建了gitlab-cicd(devops)环境,在IDEA开发环境中编写代码后,git push到代码gitlab仓库后,根据.gitlab-ci.yml文件,自动触发流水线
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。