用JAVA写一个可以计算下一天日期的函数nextDate(),并进行测试 • 1. 编制使用白盒测试方法测试nextDate()函数的测试计划; • 2. 使用代码检查法、逻辑覆盖法、基本路径测试法对函数 nextDate()进行测试

时间: 2024-01-22 09:18:41 浏览: 31
1. 白盒测试方法测试计划: (1) 代码检查法: 对函数 nextDate() 进行代码检查,检查是否有语法错误、逻辑错误、变量命名规范等问题。 (2) 逻辑覆盖法: 对函数 nextDate() 的每个分支、每条语句至少执行一次,覆盖所有可能的情况。 (3) 基本路径测试法: 对函数 nextDate() 的所有基本路径进行测试,包括所有可能的路径和循环。 2. nextDate() 函数实现代码如下: ```java public static String nextDate(int year, int month, int day) { int[] daysOfMonth = {31,28,31,30,31,30,31,31,30,31,30,31}; if ((year%4==0&&year%100!=0)||year%400==0) { daysOfMonth[1] = 29; } if (day < 1 || day > daysOfMonth[month-1]) { return "Invalid input!"; } if (day == daysOfMonth[month-1]) { if (month == 12) { return (year+1) + "-01-01"; } else { return year + "-" + (month+1) + "-01"; } } else { return year + "-" + month + "-" + (day+1); } } ``` 3. 测试代码如下: ```java public static void main(String[] args) { // 代码检查法 // 无需测试 // 逻辑覆盖法 System.out.println(nextDate(2021, 1, 1)); // 2021-01-02 System.out.println(nextDate(2021, 2, 28)); // 2021-03-01 System.out.println(nextDate(2020, 2, 28)); // 2020-02-29 System.out.println(nextDate(2021, 12, 31)); // 2022-01-01 System.out.println(nextDate(2021, 2, 29)); // Invalid input! // 基本路径测试法 System.out.println(nextDate(2021, 1, 1)); // 2021-01-02 System.out.println(nextDate(2021, 2, 28)); // 2021-03-01 System.out.println(nextDate(2020, 2, 28)); // 2020-02-29 System.out.println(nextDate(2021, 12, 31)); // 2022-01-01 System.out.println(nextDate(2021, 2, 29)); // Invalid input! } ```

相关推荐

最新推荐

recommend-type

白盒测试实验报告范例.doc

白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种...
recommend-type

三角形问题白盒测试技术实验报告.docx

关于三角形问题的白盒测试,含有代码走读,静态结构分析(函数控制流图法), 对判定的测试,选择判定覆盖语句,对路径的测试,对变量的测试。
recommend-type

电源测试大全(三):白盒测试

本文将详细介绍电源测试中的白盒测试,包括辅助电源测试、驱动电路的测试、功率半导体器件的应力测试、磁性器件的测试、DC/DC反馈环测试、PFC性能测试等
recommend-type

软件测试技术实验报告.doc

10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。 第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,取出其中4个第二次称,两边分别放2个球:如果两边同重,则剩下的球为假球;...
recommend-type

野狗优化算法DOA MATLAB源码, 应用案例为函数极值求解以及优化svm进行分类,代码注释详细,可结合自身需求进行应用

野狗优化算法DOA MATLAB源码, 应用案例为函数极值求解以及优化svm进行分类,代码注释详细,可结合自身需求进行应用
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

可见光定位LED及其供电硬件具体型号,广角镜头和探测器,实验设计具体流程步骤,

1. 可见光定位LED型号:一般可使用5mm或3mm的普通白色LED,也可以选择专门用于定位的LED,例如OSRAM公司的SFH 4715AS或Vishay公司的VLMU3500-385-120。 2. 供电硬件型号:可以使用常见的直流电源供电,也可以选择专门的LED驱动器,例如Meanwell公司的ELG-75-C或ELG-150-C系列。 3. 广角镜头和探测器型号:一般可采用广角透镜和CMOS摄像头或光电二极管探测器,例如Omron公司的B5W-LA或Murata公司的IRS-B210ST01。 4. 实验设计流程步骤: 1)确定实验目的和研究对象,例如车辆或机器人的定位和导航。
recommend-type

JSBSim Reference Manual

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